Depende de: nada
Descripción
Implementar la estructura base del desktop app utilizando Tauri + Vue 3, incluyendo:
- Configuración inicial de Tauri (
tauri.conf.json, capabilities y Cargo.toml)
- Sistema de rutas con Vue Router y lazy loading
- Estructura inicial de stores con Pinia usando Composition API
- Service layer HTTP tipado hacia FastAPI
- Sistema de temas light/dark basado en CSS variables
- Internacionalización ES/EN con
vue-i18n
Alcance
Tauri foundation
- Configurar metadata de app, tamaño mínimo de ventana y capabilities necesarias para eventos frontend/backend
- Verificar que
npm run tauri:dev abra correctamente la app nativa
Routing
-
Crear rutas principales de herramientas DSP:
- RTA
- Transfer Function
- Spectrogram
- Coherence
- Filter Designer
- Signal Generator
-
Usar createWebHashHistory para compatibilidad con Tauri
-
Lazy loading en todas las vistas
Stores (Pinia)
Crear stores base para:
- señales
- filtros
- coherencia
- audio
- estado global de la app
Todos los stores deben:
- usar Composition API (
defineStore(() => {}))
- exponer
isLoading y error
- evitar completamente Options API
API layer
Implementar cliente HTTP centralizado:
VITE_API_URL
- funciones async tipadas
- manejo consistente de errores
- integración con endpoints FastAPI
Theme system
Implementar:
- tema
light
- tema
dark
- modo
system
- persistencia en
localStorage
- CSS variables globales
- cambio dinámico sin reload
Internacionalización
Implementar:
vue-i18n
- español e inglés
- persistencia del idioma
- eliminación de strings hardcodeados en componentes
Criterios de aceptación
Depende de: nada
Descripción
Implementar la estructura base del desktop app utilizando Tauri + Vue 3, incluyendo:
tauri.conf.json, capabilities yCargo.toml)vue-i18nAlcance
Tauri foundation
npm run tauri:devabra correctamente la app nativaRouting
Crear rutas principales de herramientas DSP:
Usar
createWebHashHistorypara compatibilidad con TauriLazy loading en todas las vistas
Stores (Pinia)
Crear stores base para:
Todos los stores deben:
defineStore(() => {}))isLoadingyerrorAPI layer
Implementar cliente HTTP centralizado:
VITE_API_URLTheme system
Implementar:
lightdarksystemlocalStorageInternacionalización
Implementar:
vue-i18nCriterios de aceptación
npm run tauri:devabre correctamente la aplicación nativa.vue