Hairpins should align with start/end dynamic
We almost can do this, but just not quite. Gould is kind of vague about what's OK and what isn't, but she definitely shows preferences for aligning things where possible, and actually angling hairpins where not. To me, a reasonable compromise is to want sequences like "mp < f" to align within themselves. A subsequent dynamic or hairpin or sequence can be in a different plane.
So, let's say the goal is something like this:
For hairpins and dynamics entered separately, an uneven skyline below the staff can result in all three elements (start dynamic, hairpin, end dynamic) at different heights. It seems this would be relatively easy to fix. During hairpin layout, we already detect a start and end dynamic and adjust the length of the hairpin to match. If we simply adjusted the vertical offset of all three according to the max (and made sure the baseline vs center alignment didn't catch us) we could get them to align.
For dynamics entered as begin/end text on the hairpin itself, it would work except that the descender on "p" messes up the centering. So any dynamic with a "p" but no "f" sits too high. Also, FWIW, this technique doesn't work if you want the end dynamic actually under the next note as I have it here and as is common. In general, I know we want to encourage use of these hairpins-with-built-in-dynamics-text, but given playback doesn't work and the layout isn't quite right anyhow, plus there is no easy way (aside from editing the "sym" tags in Inspector text) to change the start text, I think this technique isn't quite ready for prime time.
FWIW, the issue of aligning dynamics came up for me as I tried to put together a demo to show off automatic placement. Really, virtually everything I tried worked well except this. I wanted to put together a score that looked great with no manual adjustments, and this one issue is what boxed me in the most. That is, I had to refrain from doing things in the score I'd have otherwise wanted to do, because manual adjustment would have been required to the dynamic if I had. Well, slur reshaping would have been nice too but not as big a deal actually.