Documentação do Slot2Sync¶
Documentação técnica do Slot2Sync — aplicação desktop (Tauri v2 + Rust + React/TS) que sincroniza automaticamente saves, savestates e configurações de emuladores de retrogames com o Google Drive.
Organizada pelo framework Diátaxis: tutoriais ensinam fazendo, guias resolvem uma tarefa específica, referências respondem "o que é X", explicações respondem "como/por que X funciona". Decisões e riscos ficam num registro à parte — não são nenhuma das quatro coisas acima, são histórico de raciocínio.
Para a visão geral do produto e os objetivos que guiam as decisões de projeto, veja o
README.md e o
GOALS.md na raiz do repositório.
Tutoriais¶
| Documento | Conteúdo |
|---|---|
| Onboarding | Do clone ao primeiro npm run tauri dev: pré-requisitos, credenciais, build, qualidade, fixes de ambiente WSL |
Guias práticos¶
| Documento | Conteúdo |
|---|---|
| Como adicionar suporte a uma plataforma | cfg(desktop)/cfg(mobile), módulos platform/, padrão de comando espelhado |
| Como adicionar um emulador | Entrada no catálogo profiles.toml, teste de detecção, descoberta automática |
| Como adicionar um idioma | Passo a passo para um novo locale em react-i18next |
| Como configurar o tooling pendente | O que ainda falta configurar (Codecov, proteção de branch, secrets do Android) |
Referência¶
| Documento | Conteúdo |
|---|---|
| Boundary IPC | Catálogo de comandos, eventos e tipos compartilhados Rust ↔ TS |
| Perfis de emulador | Estrutura de EmulatorProfile, catálogo profiles.toml, como adicionar um emulador |
| Status multiplataforma | Estado por fase da portabilidade Windows/Linux/macOS/Steam Deck/Android/iOS |
Explicação¶
| Documento | Conteúdo |
|---|---|
| Arquitetura | Visão geral, diagrama de componentes, fluxo de dados de um sync, módulos do backend |
| Autenticação | PKCE, proxy Cloudflare Worker, fluxo desktop e mobile, armazenamento de tokens |
| Sincronização e conflitos | Motor de decisão do sync: sem manifest, com manifest, conflito explícito |
| Configurações | Nome do dispositivo, categorias por emulador, gatilhos automáticos, notificações, backup, banda |
| Monitoramento de processos | Process watcher, debounce assimétrico, máquina de estados |
| UI e system tray | Janela principal, bandeja, sync de despedida, notificações nativas |
| Internacionalização | react-i18next, locales modulares, tradução de erros do backend |
| Distribuição e confiança | SmartScreen, verificação OAuth, Microsoft Store/MSIX |
Decisões e riscos¶
| Documento | Conteúdo |
|---|---|
| Decisões técnicas | Registro consolidado de decisões de design e seus trade-offs (formato ADR) |
| Riscos técnicos | Riscos identificados e mitigações |
| Geração automática da boundary IPC | Decisão em aberto: ts-rs vs. tauri-specta |
Trabalho pendente¶
roadmap.md — lista consolidada do que ainda falta, priorizável.
Contribuindo¶
Fluxo de PR, convenção de commits e como configurar credenciais de desenvolvimento (OAuth
próprio, nunca as de produção) estão em
CONTRIBUTING.md, no
repositório de código.