Lots of good stuff
Print emulation โ WebGL2 ink-bleed post-processing filter for paper-like rendering; paper color picker; page-mode background masking
Page layout mode โ Letter and A4 paper sizes with proper page breaks
Advanced controls panel โ collapsible panel with spacing density, rod/spring balance, duration proportionality, and ink-bleed sliders
Dynamic inter-staff spacing โ content-aware vertical gaps based on actual note extents rather than fixed multipliers
System barline โ single barline connecting all staves at the left edge of each system
Grand staff braces โ SMuFL glyph-rendered { brace for piano/organ staves, tips aligned to stave edge via glyph bbox
Bar numbers โ measure numbers displayed at the start of each system
Articulations โ staccato, accent, tenuto, marcato, staccatissimo, fermata; correct stem-side placement with staff-line avoidance
Grace notes โ acciaccatura (slashed) and appoggiatura; scaled stems/flags/beams, stems forced up; zero display timing for cross-staff alignment
Triplet brackets โ bracket-less numeral for beamed groups; bracketed for unbeamed/rest-containing groups; stem-side placement
Chord second displacement โ alternating noteheads for cluster chords
Beam engraving โ standard 0.5 staff-space thickness and 0.25 staff-space separation per Gould/Dorico spec
Playback highlights โ bar overlay, columnar, and note-column modes; click-to-seek; auto-scroll
Piano keyboard โ on-screen keyboard visualization with solo/mute per staff
Per-staff MIDI โ GM instrument assignment and transposition per staff; dynamic velocity; repeat/volta playback
Hairpin rendering โ correct wedge geometry spanning note ranges
Volta brackets โ first/second ending brackets rendered above staff
Multiple music fonts โ dynamic font switching with 20+ bundled fonts (Finale Maestro, Jazz, Broadway, Leland, Petaluma, Leipzig, Sebastian, etc.) and matched companion text fonts
MIDI import โ load .mid/.midi files as rendered score
Spacing model โ spring-rod spacing with duration proportionality; two-pass line breaking; interactive sliders
Engraving rules โ constants calibrated against MuseScore, LilyPond, and OSMD; font-size-relative dimensions replacing hardcoded pixels
Professional ties/slurs โ cubic bezier curves, separate Slur class, staff-line collision avoidance, beam slope clamping
Parser โ V175 staff connection flags from staffType; color field parsing; Segno/Coda non-spacing fix
UI refresh โ two-row toolbar, segmented layout/orientation controls, logo links to GitHub, localStorage persistence for last loaded song
CI โ GitHub Actions workflow running tests on push
530 unit tests; 50+ synthetic visual test fixtures (open test/visual/index.html)
