Pular para o conteúdo
pt-BR
Plano Completo de Migracao
Plano Completo de Migracao
Arquitetura Alvo
Hardware e firmware
- Manter o caminho de hardware classe Nano.
- Substituir o firmware ativo por firmware/arduino/ioruba-controller/ioruba-controller.ino.
- Preservar o contrato serial existente:
- Manter suavizacao e resistencia a ruido no firmware e novamente no runtime desktop.
App desktop
- Mover o caminho principal do produto para apps/desktop.
- Usar Tauri 2 + React + TypeScript.
- Usar Tailwind para tema e layout.
- Usar componentes de UI locais modernos em src/components/ui.
- Usar Zustand para estado de runtime/sessao.
- Usar Recharts para telemetria e historico de tendencia dos knobs.
- Usar tauri-plugin-serialplugin para comunicacao serial.
- Usar persistencia JSON por comandos Rust e diretorio de configuracao do Tauri.
Logica de backend
- Portar a matematica de runtime Haskell/Python para packages/shared.
- Portar controle de audio Linux para comandos Rust em apps/desktop/src-tauri/src/audio.
- Manter o transporte do app dividido:
- serial no plugin Tauri
- audio e persistencia em comandos invoke Rust
Etapas de migracao
- Inventariar o comportamento legado Python/Haskell e congelar a superficie de paridade exigida.
- Criar a camada de dominio TypeScript compartilhada para protocolo, defaults, matematica de runtime e snapshots.
- Criar o shell desktop Tauri e a UI React.
- Portar aplicacao de alvos de audio Linux para Rust.
- Substituir persistencia YAML/UI-state por um unico modelo JSON persistido.
- Reconstruir CI e release em Node, Rust, Arduino e Tauri.
- Atualizar a documentacao para refletir a nova estrutura do repositorio.
- Arquivar runtime aposentado e automacoes obsoletas em legacy/.
- Testar logica compartilhada, estado desktop, backend Rust e build de firmware.
Entregue nesta atualizacao de repositorio
- novo scaffold do app desktop em apps/desktop
- novo pacote de dominio compartilhado em packages/shared
- novo firmware Arduino em firmware/arduino/ioruba-controller
- novas GitHub Actions para CI e release
- notas de auditoria e rollout da migracao em docs/migration
- prototipo Python/GTK arquivado em legacy/arduino-audio-controller
Follow-up pratico restante
- assinar instaladores macOS e Windows no GitHub com os secrets corretos
- decidir se o texto do produto deve declarar explicitamente que o controle real de audio por alvo e Linux-first ate existirem backends nao Linux
- adicionar checksums de release, proveniencia e uma etapa de validacao pos-build