Loading…
Loading…
Rule
Gradus GE-046 · cite this code — it is permanent. Rule id beam-slope-fixed-no-author-override
A beam's slope should reflect the overall rise/fall of the group's pitches but be moderated — roughly half the angle implied by a straight line between the first and last stem tips — to avoid an exaggeratedly steep beam.
N/A as a rendering fault today — the algorithm matches Ross's guidance; the gap is authorial control, not correctness.
Ross, Art of Music Engraving — the 'half the angle' slope heuristic; VexFlow's `calculateSlope` explicitly implements this: `idealSlope = initialSlope / 2` (`beam.ts` line 607), searched via a cost function `cost = slope_cost * |idealSlope - slope| + |totalStemExtension|` (line 612) over `slope` from `min_slope` to `max_slope` in `slope_iterations` steps.
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-046 — Beam slope follows Ross's half-angle heuristic via fixed constants, with no per-passage override. Gradus Engraving Rulebook v1.0. https://gradusmusic.com/engraving/rule/beam-slope-fixed-no-author-override
Rulebook v1.0 · text licensed CC-BY-4.0 · machine-readable at /api/v1/engraving/rules/beam-slope-fixed-no-author-override