Rotations by anything than multiples of 90° cannot work revertably for either 
bounding boxes or skylines.  They could be made to work for convex hulls and/or 
complete outlines.  Convex hulls would allow tighter placement than bounding 
rectangles but would work worse than skylines for a number of cases.  Finding 
some rotatable hull definition that isn't constrained to convexity without 
requiring a full outline would be challenging.


---

** [issues:#5307] Skyline Refinements (Rounded Boxes and Rotated Ellipses)**

**Status:** Started
**Labels:** re 
**Created:** Sun Apr 15, 2018 09:46 PM UTC by Torsten Hämmerle
**Last Updated:** Sun Apr 15, 2018 09:46 PM UTC
**Owner:** Torsten Hämmerle
**Attachments:**

- 
[skylines-boxes-2-19-81.png](https://sourceforge.net/p/testlilyissues/issues/5307/attachment/skylines-boxes-2-19-81.png)
 (82.3 kB; image/png)


Recently, there have been some discussions about mysterious spacing of 
\rounded-box markup.

Harm identified skyline problems as the cause and submitted the following bug 
report:
[Possible regression with box-markup/rounded-box-markup 
](http:///lilypond.1069038.n5.nabble.com/Possible-regression-with-box-markup-rounded-box-markup-tt211212.html)
Before Mike Solomon's new skyline handling, there were no such uninteded extra 
margins.


# Rounded Box Skylines
The skyline of boxes with rounded corners do not tightly wrap the boxes but 
there's an unintentional margin (as wide as the corner radius).

Apart from that here are a few other shortcomings and so I have decided to 
create a more general box-and-rotated-ellipses skyline issue.

#Other issues
When working on this case, I came across a few other things that call for 
improvement and so I've included them into the test file. Most notably, there 
is a general problem with rotation. And it would be nice to recreate the 
rounded corners for large boxes/radii.
At the same time, one should keep run-of-the-mill stuff like ledger lines as 
simple and fast as possible.

# Test file
A file with 'debug-skylines switched on and TextScript padding values set to 0 
in order to be able to check how the markup objects are fitted together.
I have tried to demonstrate about everything you cold do with boxes (including 
scaling, rotating, cominations thereof).

~~~
#(ly:set-option 'debug-skylines #t)

{
  \set Staff.instrumentName = \markup #(lilypond-version)
  \override Staff.TextScript.padding = 0
  \override Staff.TextScript.outside-staff-padding = 0
  \override Staff.TextScript.outside-staff-horizontal-padding = 0
  \override Staff.TextScript.self-alignment-X = #CENTER
  \override Staff.TextScript.layer = 0
  f'''4
  c'' ^\markup \override #'(thickness . 4) \box \teeny 1
      _\markup \with-color #grey \filled-box #'(-1 . 4) #'(1 . 4) #1
  b'  ^\markup \rounded-box "2!" ^\markup \rounded-box "3"
  d'' ^\markup \circle "*" ^\markup \rotate #90 \ellipse "Elli"
      _\markup \with-color #grey \rotate #10 \filled-box #'(-2 . 5) #'(1 . 4) 
#10
      _ \markup \rotate #36 \override #'(corner-radius . 20) \scale #'(1 . 0.4)
                \rotate #-68 \scale #'(1.6 . 1) \rounded-box "dop"
  f'' _\markup \override #'(corner-radius . 0.5) \rounded-box "."
  a'  ^\markup \rotate #30 \rounded-box "rotated a"
      _\markup \scale #'(1 . 1.5) \rotate #45 \override #'(thickness . 5)
               \rounded-box \rotate #-45 \scale #'(2 . 1) \bold "!"
  d'' _\markup \override #'(corner-radius . 20) \rounded-box "4"
  a'' ^\markup \rotate #-165 \box "rotated b"
      _\markup \rotate #180 \override #'(corner-radius . 20) \rounded-box \teeny
               \override #'(baseline-skip . 0) \center-column { "Upside" "Down" 
}
}
~~~
(see attached PNG file)

* Ledger lines are filled rounded boxes, too (!)
* Corner radius is misinterpreted as line thickness and padded around the box.
* Ledger lines have rounded corners, but the blot diameter is so small that the 
effect didn't disturb too much.
* When rotating boxes, the skylines still consist of one single non-rotated 
rectangular box.
* Rounded corners are not replicated in the skylines, even if this may be 
beneficial for bigger radii.
* Ellipse skylines gradually deteriorate when being rotated. In the example, 
the skyline of ellipse "Elli" has completely collapsed because of the 90° 
rotation.
* The rhombus "!" has been created by rotating and scaling that unfortunately 
caused a collapse of the skyline.
* Rotations in general cause large skyline boxes that hamper object placement a 
lot.




---

Sent from sourceforge.net because testlilyissues-a...@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/testlilyissues/admin/issues/options.  Or, if this is 
a mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Testlilyissues-auto mailing list
testlilyissues-a...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
  • [Lilypond-... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto

Reply via email to