Skip to content

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.tsx concentraba 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.tsx ahora 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.ts contiene defaultState, DEFAULT_LYRICS, DEFAULT_TRANSLATION y DEFAULT_INSTRUMENTAL_TEXT.
  • components/editor/useEditorSteps.tsx se encarga del ensamblado JSX de pasos con entradas explícitas.
  • components/editor/hooks/useEditorActions.ts gestiona las acciones de negocio para limpiar contenido, cambiar estilo, cargar ejemplos y completar la exportación.
  • components/editor/hooks/useEditorAiTranslation.ts gestiona la apertura del panel IA, el estado de streaming, los errores, la cancelación y las solicitudes de traducción.
  • components/editor/hooks/useEditorPreferences.ts gestiona 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.ts gestiona el color de acento, el fondo y la derivación de tokens de texto de la interfaz.
  • components/editor/utils/normalizeAIErrorMessage.ts y components/editor/utils/sizeSnapshot.ts pasan 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.ts para /api/ai/translate.
  • La ruta de escritorio sigue usando Electron IPC y safeStorage para 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

Cherry Chu · Projects, notes, and working documentation.