Ir para o conteúdo

Sessões e recuperação de crash

Vídeo tutorial — em breve

Um crash do Harmony não custa a sua árvore de staging.

Até o Assemble rodar, aquela árvore não existe em nenhum outro lugar do mundo: não há formato de projeto para ela, e o vacuum lê a cena, que ainda não recebeu nada. Então o OSA a salva, continuamente, por conta própria.

O que é salvo

A árvore de staging, a seleção, e o estado da UI — quais painéis estão recolhidos, quais alternadores de exibição estão ligados, onde estão os divisores.

A árvore é o trabalho do dia. O estado da UI é conveniência: se coletá-lo falhar, a árvore é escrita mesmo assim, porque perder a posição do divisor é um aborrecimento e perder a árvore é um dia.

Quando ele salva

Dois temporizadores, não um:

Temporizador Dispara
Inatividade poucos segundos depois que você para de mudar coisas — rearmado a cada edição
Teto um máximo fixo, faça você o que fizer

O teto é um segundo temporizador em vez de um contador dentro do primeiro, porque o temporizador de inatividade é rearmado a cada mutação — qualquer prazo guardado dentro dele seria empurrado para sempre por uma sessão movimentada.

Onde é salvo

%APPDATA%/Toon Boom Animation/Toon Boom Harmony Premium/
    octo_scene_assembler/sessions/

Um arquivo por cena, nomeado com o nome da cena mais um hash. Não na pasta da cena: a cena pode nunca ter sido salva, e no Harmony Server o caminho é lógico, precisa de mapeamento e não tem garantia de ser gravável.

Como é escrito

tmp → o arquivo atual vira .bak → substituição atômica.

Nenhum instante deixa o alvo escrito pela metade. Num crash você tem ou o arquivo novo inteiro, ou o anterior. Existe uma geração de backup, não um histórico.

Restaurando

Ao abrir, se existe uma sessão para esta cena, uma barra a oferece:

Botão Faz
Restore reconstrói a árvore de staging a partir da sessão salva
Dismiss apaga a sessão salva

O Dismiss apaga de verdade. Um "dismiss" que só esconde a barra faz a mesma oferta voltar a cada abertura, para sempre.

Com Auto-restore Session ligado (Preferences → Settings), a árvore volta sem perguntar.

O que a barra te diz

Mensagem Significa
Session restored — N nodes. feito
…(X could not be restored.) a árvore voltou; parte do "onde eu estava" não
The most recent session was corrupt; this is the previous one. o .bak foi usado
The saved session is unreadable. as duas cópias falharam ao ser interpretadas
This session was written by a newer version of OSA… recusada de propósito — aplicar um formato futuro pela metade te daria uma árvore que parece a sua e não é

Uma sessão corrompida nunca é descartada em silêncio. Não ser avisado é como um usuário conclui que o autosave nunca funcionou.

Crash vs saída limpa

Numa saída limpa o OSA remove um marcador de "em execução". A ausência desse marcador na próxima abertura é a única coisa que distingue um crash de uma saída normal — e é essa distinção que permite à barra de restauração dizer algo verdadeiro.

Faxina

A pasta de sessões se poda sozinha: 20 arquivos, 30 dias, com a sessão da cena atual sempre protegida. Sem isso, a pasta cresce um arquivo por cena para sempre e ninguém vai lá limpar.

Quando o autosave não consegue escrever

Se um salvamento falha, uma mensagem amarela aparece — uma vez por sequência de falhas, não a cada tique, e ela some sozinha depois de alguns segundos.

O motivo vai para o osa.log, na mesma pasta das sessões, e ele nomeia a causa. Se a falha foi um valor que não pôde ser serializado, o log nomeia a chave exata, porque "falhou" não é algo sobre o que alguém possa agir.

Onde olhar quando algo está errado

%APPDATA%/Toon Boom Animation/Toon Boom Harmony Premium/octo_scene_assembler/osa.log

Esse arquivo também é como o suporte lê o que o seu Harmony fez sem precisar da sua cena.