Pular para conteúdo

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.