Loading…
Loading…
Rule
Gradus GE-164 · cite this code — it is permanent. Rule id break-must-not-bisect-beam-or-tuplet
A beam is a single visual unit spanning several noteheads with one continuous stroke; a tuplet bracket similarly spans a fixed group of notes with one bracket. Neither can be physically drawn across two separate systems.
Gradus's own code comments acknowledge the tuplet half of this problem and resolve it by DROPPING the span rather than preventing the break: 'a span that crosses a system break is skipped rather than drawn to a note on another line' (lines 1146-1149), and the tuplet-building code explicitly checks `if (!indices.every(inSlice)) return;` (line 1165) — silently omitting the ENTIRE tuplet bracket rather than choosing a system break that wouldn't have split it. Beams have no equivalent cross-system check at all: `Beam.generateBeams(bv.noteObjects, ...)` (line 1209) operates only within `bv.noteObjects`, which is already sliced per-system — a beam group whose notes were split across the `sliceOf` boundary is not dropped, it is silently RE-BEAMED from scratch using `Beam.getDefaultBeamGroups(timeSignature)` (line 1202) applied to whatever partial run of notes landed in that system, which can produce an incorrectly-grouped beam relative to what the whole, unsplit passage would have beamed as.
Gould, Behind Bars (never break a beam or a tuplet across a system); Read, Music Notation.
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-164 — A system break must never fall inside a beamed group or a tuplet. Gradus Engraving Rulebook v1.0. https://gradusmusic.com/engraving/rule/break-must-not-bisect-beam-or-tuplet
Rulebook v1.0 · text licensed CC-BY-4.0 · machine-readable at /api/v1/engraving/rules/break-must-not-bisect-beam-or-tuplet