Loading…
Loading…
Rule
Gradus GE-155 · cite this code — it is permanent. Rule id spacing-dynamic-annotation-collision
A dynamic letter placed below a note occupies real horizontal room at that vertical band; if two dynamics fall on closely-spaced notes, their text can overlap even though the noteheads themselves don't collide.
`n.dynamic` (lines 1036-1045) is added as an `Annotation` modifier with `VerticalJustify.BOTTOM` and an 11pt bold-italic font, but with no horizontal-collision check against a neighboring note's dynamic annotation — the pre-render width estimate has no dynamic-text term, and VexFlow's `Annotation` positioning does not automatically detect and resolve horizontal overlap the way `ModifierContext` resolves notehead seconds.
Ross, The Art of Music Engraving (dynamics placement and spacing beneath the staff); Gould, Behind Bars (dynamics should align optically under their note's onset, not overlap a neighbor's).
This rule needs the notated content and the rendered result together — the score says what should happen, the page says whether it did.
Gradus GE-155 — Dynamic markings (Annotation) below the staff must not horizontally collide with the dynamic on an adjacent note. Gradus Engraving Rulebook v1.0. https://gradusmusic.com/engraving/rule/spacing-dynamic-annotation-collision
Rulebook v1.0 · text licensed CC-BY-4.0 · machine-readable at /api/v1/engraving/rules/spacing-dynamic-annotation-collision