Lyrics Card Generator v5.5.0 Release Notes
Release date: 2026-07-14
v5.5.0 adds optional Auto Width to portrait custom lyric cards, producing more comfortable wrapping for similarly sized lines without needlessly stretching the canvas.
Highlights
- A disabled-by-default Auto Width switch is available under Portrait → Custom → Lyrics. While active, the width slider shows the live pixel result and is disabled; turning it off keeps the calculated width for manual tuning.
- A hidden full-size layout probe measures real browser lines with the final font. It does not estimate from character counts or use the scaled visible preview.
- Original lyrics and translations are measured independently across CJK graphemes, western words, and mixed text to prevent a visual line from containing only one or two characters or short words.
- Global candidate scoring, representative-line sampling, and outlier down-weighting keep very short ad-libs or isolated long lyrics/translations from stretching the card to its maximum. Translations participate in orphan constraints without dominating the canvas.
- Content, font, size, and translation changes are recalculated after a 300ms debounce, with a settling threshold that prevents repeated small jumps while typing.
- Width settles before measured auto height runs. Export stays blocked during the transition, and real overflow checks still protect manually fixed heights.
Scope
- Auto Width is limited to portrait custom canvases in Lyrics mode. Fixed ratios, landscape cards, and Instrumental mode keep their existing behavior.
- Older states without the field default to Auto Width off. Size history is preserved when moving among portrait, landscape, fixed, custom, and instrumental layouts.
- Desktop and Web Lite share the same measurement, scoring, auto-height coordination, and export-safety path.
Validation
npm run typecheck/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