Notes de publication de Lyrics Card Generator v5.5.0
Date de publication : 2026-07-14
La v5.5.0 ajoute une largeur automatique facultative aux cartes de paroles portrait personnalisées, pour des retours à la ligne plus confortables sans étirer inutilement la toile.
Principales nouveautés
- L’option Largeur auto, désactivée par défaut, apparaît dans Portrait → Personnalisé → Paroles. Le curseur affiche le résultat en pixels et est désactivé pendant le calcul ; couper l’option conserve la largeur obtenue pour l’ajuster manuellement.
- Une sonde masquée en taille réelle mesure les lignes du navigateur avec la police finale, sans estimation par nombre de caractères ni recours à l’aperçu réduit.
- Les paroles et leur traduction sont mesurées séparément pour les graphèmes CJK, les mots occidentaux et les textes mixtes, afin d’éviter une ligne visuelle ne contenant qu’un ou deux caractères ou mots courts.
- L’évaluation globale des largeurs, l’échantillonnage des lignes représentatives et la réduction du poids des valeurs atypiques empêchent une interjection très courte ou une seule longue traduction d’étirer toute la carte au maximum.
- Les changements de contenu, police, taille et traduction relancent le calcul après 300 ms, avec un seuil de stabilité qui évite les petits sauts répétés pendant la saisie.
- La largeur se stabilise avant la mesure de la hauteur automatique. L’export reste bloqué pendant la transition et le contrôle réel du débordement protège toujours les hauteurs fixes.
Périmètre
- La largeur automatique est limitée aux toiles portrait personnalisées en mode Paroles. Les ratios fixes, le paysage et le mode Instrumental conservent leur comportement.
- Les anciens états sans ce champ le désactivent par défaut. L’historique des dimensions est restauré lors des passages entre portrait, paysage, ratio fixe, personnalisé et instrumental.
- Les versions bureau et Web Lite partagent la même mesure, le même score, la coordination de hauteur et la sécurité d’export.
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