Loading…
Loading…
Rule
Gradus GE-148 · cite this code — it is permanent. Rule id spacing-chord-accidental-stacking
When a chord has two or more altered pitches close enough in pitch, their accidentals cannot sit at the same x-offset — they stagger into columns to the left of the notehead, widening that note's footprint well beyond a single-accidental note of the same duration.
Gradus's pre-render width estimate has no accidental term at all (spacing-accidental-width-unmodeled), so it cannot account for the EXTRA stacking cost of a chord with 2+ simultaneous accidentals — a chord like `["C#4","Eb4","G#4"]` needs measurably more left-side clearance than a chord with one altered pitch, and Gradus's estimate treats both identically.
Ross, The Art of Music Engraving (accidental-stacking rules for chords); Gould, Behind Bars (chord accidental layout); VexFlow's own `ModifierContext` resolves this at draw time, the same mechanism already relied on for notehead-offsetting of seconds.
This rule is about where marks land on the page, so it can only be judged after engraving. Collision and spacing faults live here.
Gradus GE-148 — Multiple accidentals in one chord column need a stacked-column width, not one accidental's width times the note. Gradus Engraving Rulebook v1.0. https://gradusmusic.com/engraving/rule/spacing-chord-accidental-stacking
Rulebook v1.0 · text licensed CC-BY-4.0 · machine-readable at /api/v1/engraving/rules/spacing-chord-accidental-stacking