Notas de la versión Lyrics Card Generator v3.8.1
Fecha de publicación: 2026-06-30
v3.8.1 es una versión de refactorización orientada a la mantenibilidad. No es una versión de recorte de funciones ni un rediseño de la interfaz. Esta actualización se centra en dividir el editor principal de un componente monolítico en módulos más claros para valores por defecto, ensamblado de pasos, acciones de negocio, traducción IA, preferencias y tokens de tema, manteniendo estables las entradas existentes, el aspecto visual y la salida de exportación.
Motivo de la refactorización
LyricEditor.tsxconcentraba antes el diseño de la página, el estado por defecto, las acciones de negocio, la traducción IA, las preferencias, el ensamblado de pasos y la derivación del tema en un solo archivo, con un coste de mantenimiento demasiado alto.- Acumular tanta lógica en un único componente dificultaba las correcciones de tipos, el trabajo de regresión y el diagnóstico de diferencias entre Web y escritorio.
Resultado de la división
LyricEditor.tsxahora se dedica sobre todo a componer hooks, settings steps y el layout de vista previa, por lo que actúa como capa de orquestación de la página.components/editor/editor-defaults.tscontienedefaultState,DEFAULT_LYRICS,DEFAULT_TRANSLATIONyDEFAULT_INSTRUMENTAL_TEXT.components/editor/useEditorSteps.tsxse encarga del ensamblado JSX de pasos con entradas explícitas.components/editor/hooks/useEditorActions.tsgestiona las acciones de negocio para limpiar contenido, cambiar estilo, cargar ejemplos y completar la exportación.components/editor/hooks/useEditorAiTranslation.tsgestiona la apertura del panel IA, el estado de streaming, los errores, la cancelación y las solicitudes de traducción.components/editor/hooks/useEditorPreferences.tsgestiona preferencias de la aplicación, idioma del primer inicio, persistencia de ajustes y sincronización del material de ventana en escritorio.components/editor/hooks/useEditorThemeTokens.tsgestiona el color de acento, el fondo y la derivación de tokens de texto de la interfaz.components/editor/utils/normalizeAIErrorMessage.tsycomponents/editor/utils/sizeSnapshot.tspasan a ser utilidades puras sin acoplamiento extra de negocio ni dependencias circulares.
Helpers del proveedor IA y límites de runtime
- La ruta Web sigue usando
app/api/ai/translate/route.tspara/api/ai/translate. - La ruta de escritorio sigue usando Electron IPC y
safeStoragepara el manejo de la API key y las solicitudes de traducción. - Esta refactorización solo reorganiza lógica pura de request / response del proveedor, como
getChatCompletionsUrl, la detección del modo thinking de DeepSeek, la construcción del cuerpo de la petición y la normalización de errores del proveedor. - No se movió código exclusivo de Electron a la ruta de Next, ni lógica exclusiva del navegador a Electron main.
Integridad funcional, sincronización de versión y control de riesgo
- Se mantienen todas las entradas existentes para análisis de enlaces de canciones, audio local, obtención de letras, traducción IA, extracción de paleta, temas, Acrylic de escritorio, exportación, ejemplos, idiomas, fuentes y ajustes de diseño.
- El trabajo se hizo mediante extracciones pequeñas, migración de responsabilidades y comprobaciones de regresión, no mediante una reescritura total, por lo que no cambia el posicionamiento del producto ni el comportamiento visible para el usuario.
- Los metadatos de versión, los nombres de archivos de descarga en los README y las entradas de notas multilingües ya están sincronizados con
3.8.1.
Verificación
- npm run typecheck
- npm run core:test
- npm run build
- npm run desktop:build