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 um provedor de storage remoto (Google Drive hoje; Dropbox e OneDrive implementados e em preparação, ver Provedores de storage).

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
Provedores de storage Trait RemoteProvider, os quatro provedores concretos, atribuição de dispositivo sem appProperties
Autenticação PKCE parametrizado por provedor, 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.