Notes de version de Lyrics Card Generator v3.8.1
Date de publication : 2026-06-30
v3.8.1 est une version de refactorisation orientée maintenabilité. Ce n’est ni une version de suppression de fonctionnalités, ni une refonte de l’interface. Cette mise à jour se concentre sur la séparation de l’éditeur principal en modules plus clairs pour les valeurs par défaut, l’assemblage des étapes, les actions métier, la traduction IA, les préférences et les jetons de thème, tout en gardant les entrées existantes, le rendu visuel et l’export stables.
Pourquoi cette refactorisation
LyricEditor.tsxregroupait auparavant la mise en page, l’état par défaut, les actions métier, la traduction IA, les préférences, l’assemblage des étapes et la dérivation du thème dans un seul fichier, ce qui rendait sa maintenance trop coûteuse.- Empiler autant de logique dans un seul composant compliquait les corrections de type, les régressions futures et le diagnostic des différences entre Web et bureau.
Résultat du découpage
LyricEditor.tsxcompose désormais principalement les hooks, les étapes de réglage et la mise en page de prévisualisation, et devient la couche d’orchestration de la page.components/editor/editor-defaults.tscontientdefaultState,DEFAULT_LYRICS,DEFAULT_TRANSLATIONetDEFAULT_INSTRUMENTAL_TEXT.components/editor/useEditorSteps.tsxgère l’assemblage JSX des étapes avec des entrées explicites.components/editor/hooks/useEditorActions.tsgère les actions métier de nettoyage, changement de style, chargement d’exemple et export final.components/editor/hooks/useEditorAiTranslation.tsgère l’ouverture du panneau IA, l’état de streaming, les erreurs, l’annulation et les requêtes de traduction.components/editor/hooks/useEditorPreferences.tsgère les préférences, la langue du premier lancement, la persistance des réglages et la synchronisation du matériau de fenêtre desktop.components/editor/hooks/useEditorThemeTokens.tsgère la couleur d’accent, l’arrière-plan et la dérivation des jetons de texte UI.components/editor/utils/normalizeAIErrorMessage.tsetcomponents/editor/utils/sizeSnapshot.tsfournissent désormais des utilitaires purs sans couplage métier supplémentaire ni dépendance circulaire.
Helpers IA et frontières d’exécution
- Le chemin Web utilise toujours
app/api/ai/translate/route.tspour/api/ai/translate. - Le chemin desktop utilise toujours Electron IPC et
safeStoragepour la gestion de la clé API et des requêtes de traduction. - Cette refactorisation ne réorganise que la logique pure request / response du provider, par exemple
getChatCompletionsUrl, la détection du mode thinking de DeepSeek, la construction du corps de requête et la normalisation des erreurs provider. - Aucun code spécifique à Electron n’a été déplacé dans la route Next, et aucune logique spécifique au navigateur n’a été déplacée dans Electron main.
Intégrité fonctionnelle, synchronisation de version et maîtrise du risque
- Les entrées existantes pour l’analyse de liens musicaux, l’audio local, la récupération des paroles, la traduction IA, l’extraction de palette, les thèmes, Acrylic desktop, l’export, les exemples, les langues, les polices et les réglages de mise en page sont toutes conservées.
- Le travail a été réalisé par petites extractions, migration de responsabilités et contrôles de régression plutôt que par une réécriture unique, afin de ne pas modifier le positionnement produit ni le comportement visible.
- Les métadonnées de version, les noms de fichiers de téléchargement dans les README et les entrées de notes de version multilingues sont désormais synchronisés sur
3.8.1.
Vérification
- npm run typecheck
- npm run core:test
- npm run build
- npm run desktop:build