# Versão na nuvem e cache local

> Qual é a cópia principal, a ordem de gravação e envio, como as imagens sobem e o que resta ao terminar sessão.

Source: https://loomworld.ai/pt-pt/docs/sync-model

## Qual é a cópia principal

Os projetos em contas gratuitas comuns permanecem neste dispositivo; iniciar sessão não os envia para a nuvem. Todos os três planos de subscrição ativos permitem projetos na nuvem ilimitados. Com uma subscrição ativa ou acesso Global legado registado, o projeto atual inicia automaticamente a sincronização ao criá-lo, importá-lo ou abri-lo, incluindo o rascunho completo, imagens e registos de apoio do projeto. Uma cópia local permanece no seu dispositivo. Outros projetos fechados não são analisados nem enviados. A aplicação web utiliza o IndexedDB no navegador atual; a versão para computador utiliza uma pasta local de projeto e SQLite. Projetos ilimitados não significam capacidade de armazenamento ilimitada: os limites individuais de ficheiros e de carregamento continuam a aplicar-se.

Ao abrir um projeto associado, é feita a seguinte verificação:

- Compara primeiro com o resumo na lista de projetos: nuvem sem alterações e nada pendente localmente significa que não é necessário descarregar tudo — pode começar logo a escrever.
- Se a nuvem tiver uma versão mais recente e a sua cópia local estiver limpa, transfere-a e substitui a cache; a versão para computador reescreve então o ficheiro de design e a memória derivada.
- Se tiver edições locais pendentes (incluindo o intervalo de estabilização de 350 ms) e a versão na nuvem também tiver avançado, ocorre um conflito e ambas as cópias são preservadas.

A sincronização automática e a verificação de versões antes das tarefas de IA aplicam-se à aplicação web atual. A versão para computador requer um cliente compatível com estas funcionalidades; versões mais antigas podem comportar-se de forma diferente.

## A ordem de gravação e envio

Cada edição é guardada localmente primeiro, sem esperar pela rede. Com acesso válido à nuvem, as alterações guardadas são agrupadas em lote para envio em segundo plano; cada toque no teclado não é enviado de imediato. Uma falha de rede nunca reverte uma gravação local. Ao restabelecer a ligação, o envio do rascunho mais recente é retomado enquanto o acesso for válido. A expiração ou uma verificação de acesso com falha pausa os envios, enquanto a escrita local prossegue.

- Os avisos de gravação distinguem Guardado localmente de Sincronizado com a nuvem. Uma gravação local bem-sucedida não significa que o envio tenha terminado. A gravação de rotina e a sincronização em segundo plano não apresentam avisos repetitivos; erros e recuperações são comunicados em separado.
- Um projeto associado aberto reconcilia-se ao focar novamente a janela e através de um sinal de vida de resumo a cada 60 segundos; os separadores em segundo plano não executam temporizadores, e mudar de aplicação ou fechar o projeto interrompe o processo. Os sinais de vida nunca substituem o seu rascunho enquanto está a escrever.
- Cada turno de conversa no projeto, habilidade pontual, reescrita, tarefa de imagem, análise de importação e tarefa de manutenção verifica o acesso à nuvem e confirma se o conteúdo local mais recente já foi sincronizado. Trabalhar offline, em conflito ou com falha na sincronização bloqueia essa tarefa de IA. Os pacotes de créditos não concedem acesso à nuvem. O fluxo inicial antes da criação do projeto e as estimativas de custo são tratados separadamente.

## Como as imagens são enviadas

Durante o envio, as imagens com longos URLs de dados no rascunho e nos registos são divididas em objetos identificados pelo conteúdo: a mesma imagem partilha um recurso guardado dentro de cada projeto, e o JSON do projeto mantém apenas uma referência leve. Abrir e reconciliar repõe as imagens a partir dessas referências antes de entregar o rascunho à cache local. O primeiro envio segue o mesmo caminho — se as imagens não tiverem terminado de subir, o projeto na nuvem recém-criado é movido para a reciclagem e não se estabelece nenhuma ligação local, evitando deixar para trás projetos incompletos.

- Uma referência cuja imagem não possa ser obtida permanece no rascunho tal como está, acompanhada de um erro de sincronização; não é eliminada silenciosamente.
- Uma imagem individual com mais de 20 MB em bytes não tratados, ou um rascunho que exceda 32 MB mesmo após desidratar as imagens, é assinalado com erro e o mesmo conteúdo não volta a ser enviado em ciclo contínuo. Divida ou reduza tais imagens.

## Sessão terminada ou em modo offline

Projetos com sessão terminada e projetos de contas gratuitas comuns não são enviados automaticamente para a nuvem. Os projetos no navegador dependem do armazenamento do navegador atual; limpar os dados do sítio web elimina projetos exclusivamente locais e edições não enviadas. Exporte um pacote de projeto antes de mudar de navegador ou dispositivo. A versão para computador utiliza uma pasta local de projeto que pode copiar para efetuar cópias de segurança.

A escrita em modo offline grava localmente e envia ao restabelecer a ligação, desde que o acesso à nuvem se mantenha válido. A expiração não elimina o trabalho existente: a edição local, a gravação e a exportação continuam em funcionamento, e os projetos existentes na nuvem continuam disponíveis para leitura, exportação ou eliminação. A renovação verifica ambas as versões antes de retomar a sincronização. Se o projeto na nuvem for eliminado, a respetiva ligação local é removida, mas o trabalho permanece no dispositivo.

## Limites e resolução de problemas

- A sincronização reconcilia versões integrais de conteúdo, não executando uniões a três vias campo a campo — razão pela qual um conflito preserva ambos os lados em vez de efetuar uma fusão automática.
- Perante um erro de sincronização, mantenha a página e o projeto local; nunca limpe os dados do sítio web. Uma falha persistente mantém-se visível como «Falha na sincronização» acompanhada do respetivo motivo.
- Antes de mudar de dispositivo, confirme se o projeto atual foi sincronizado e abra depois a versão na nuvem com a mesma conta. Exporte primeiro um pacote .quill.json para projetos exclusivamente locais ou edições ainda não enviadas; não migre dados copiando o armazenamento do navegador.

Recuperar após um conflito: [Cópias em conflito](https://loomworld.ai/pt-pt/docs/conflict-copies); cópias de segurança e migração: [Exportar e importar um pacote de projeto](https://loomworld.ai/pt-pt/docs/export-quill).
