The input below demonstrates that the current skyline algorithm is not
optimal for rehearsal numbers. I suggest the introduction of a new
grob property `weight' (which takes a float number as a parameter) to
influence the steepness of the slope. Example:
weight = 0: weight = -1 weight = 1
--- --- --- --- --- ---
\ / \ grob / \ /
\ grob / ---- \ /
---- \grob/
----
In case of rehearsal numbers, the weight would be (almost) infinity to
get
--- ---
| |
|grob|
----
What do you think? Does this makes sense? Can it be implemented?
This makes some sense, but there are a couple of points. First, I don't think that the rehearsal mark slope should be almost infinite. In the first of your examples, it would cause the rehearsal mark to move all the way down to the staff where it would be hard to find quickly.
Also, it will be easier for implementation to make the "weight" just be the max-slope of the skylines. So weight zero is flat, weight is always positive and the walls tend to vertical as the weight tends to infinity.
Alternatively, I wonder whether we need a sloped skyline at all
towards the staff.
I prefer it, anyway. I would prefer that grobs take up extra space above the staff than that they are packed in tightly with little horizontal room between them. If I make the max-slope configurable, though, we can both have it the way we want :)
In fact, the easiest thing implementation-wise (and therefore the one that I'll do first) is to make max-slope configurable but on an axis-group by axis-group level as opposed to grob by grob.