Lyrics Card Generator v5.5.1 Release Notes
Release date: 2026-07-14
v5.5.1 enables Auto Width by default for new portrait custom lyric cards and further hardens content measurement, candidate selection, line-height normalization, and cross-platform regression coverage.
Highlights
- New portrait custom lyric cards start with Auto Width enabled. The width slider displays the live result and is disabled while active; turning Auto Width off keeps the last calculated width for manual tuning.
- Line height is consistently limited to 1.5–2.1 in 0.05 steps, with 1.8 as the new-card default. Legacy out-of-range, off-step, and invalid values are normalized safely.
- A hidden full-size probe measures all 37 candidate widths from 720 to 1440 with the final font. The result depends only on the current content and typography, not on the manual width used before enabling the feature.
- Candidate sets must be complete and duplicate-free before solving. Scoring is centered on the global median with deterministic tie-breaks, and incomplete measurements never write a questionable width.
- Lyrics and translations continue to audit serious orphans separately across CJK graphemes, western words, and mixed text. All six built-in examples converge to the same width in Web Lite and desktop from either the narrowest or widest starting point.
- Built-in targets are Opalite 1380, Opposite 840, Yuusha 1100, Glorious Years 800, Honeybee 880, and Lies 920, with a ±20-pixel allowance for rendering differences.
Scope
- Auto Width remains limited to portrait custom canvases in Lyrics mode. Fixed ratios, landscape cards, and Instrumental mode keep their existing behavior.
- Legacy states without an
autoWidthfield remain manual, so saved user widths are not silently replaced. - Desktop and Web Lite share the same measurement, scoring, auto-height coordination, and export-safety path.
Validation
npm run typecheck/npm run lint/npm run core:test/npm run buildnpm run web-lite:build/npm run web-lite:check/npm run web-lite:smokenpm run desktop:build/npm run desktop:interaction-test/npm run desktop:final-artifact-smoke