Sessions et récupération après crash¶
Un crash d'Harmony ne vous coûte pas l'arborescence de staging.
Tant qu'Assemble n'a pas tourné, cette arborescence n'existe nulle part ailleurs au monde : il n'y a pas de format de projet pour elle, et le vacuum lit la scène, qui n'a encore rien reçu. OSA la sauvegarde donc, en continu, de lui-même.
Ce qui est sauvegardé¶
L'arborescence de staging, la sélection, et l'état de l'interface — quels panneaux sont repliés, quelles bascules d'affichage sont actives, où sont les séparateurs.
L'arborescence est le travail de la journée. L'état de l'interface est un confort : si sa collecte échoue, l'arborescence est écrite quand même, parce que perdre la position d'un séparateur est un agacement et perdre l'arborescence est une journée.
Quand il sauvegarde¶
Deux minuteurs, pas un :
| Minuteur | Se déclenche |
|---|---|
| Inactivité | quelques secondes après que vous arrêtez de modifier — réarmé à chaque édition |
| Plafond | un maximum fixe, quoi que vous fassiez |
Le plafond est un second minuteur plutôt qu'un compteur dans le premier, parce que le minuteur d'inactivité est réarmé à chaque mutation — toute échéance stockée dedans serait repoussée à l'infini par une session chargée.
Où c'est sauvegardé¶
%APPDATA%/Toon Boom Animation/Toon Boom Harmony Premium/
octo_scene_assembler/sessions/
Un fichier par scène, nommé d'après la scène plus un hash. Pas dans le dossier de la scène : la scène peut n'avoir jamais été sauvegardée, et sur Harmony Server le chemin est logique, il demande une correspondance et n'est pas garanti accessible en écriture.
Comment c'est écrit¶
tmp → le fichier courant devient .bak → remplacement atomique.
À aucun instant la cible n'est à moitié écrite. En cas de crash vous avez soit le nouveau fichier entier, soit le précédent. Il y a une génération de backup, pas un historique.
Restaurer¶
À l'ouverture, s'il existe une session pour cette scène, une barre la propose :
| Bouton | Fait |
|---|---|
| Restore | reconstruire l'arborescence de staging depuis la session sauvegardée |
| Dismiss | supprimer la session sauvegardée |
Dismiss supprime pour de vrai. Un « dismiss » qui ne ferait que masquer la barre ferait revenir la même proposition à chaque ouverture, pour toujours.
Avec Auto-restore Session activé (Preferences → Settings), l'arborescence revient sans rien demander.
Ce que la barre vous dit¶
| Message | Signifie |
|---|---|
| Session restored — N nodes. | fait |
| …(X could not be restored.) | l'arborescence est revenue ; une partie du « où j'en étais » non |
| The most recent session was corrupt; this is the previous one. | le .bak a été utilisé |
| The saved session is unreadable. | les deux copies n'ont pas pu être analysées |
| This session was written by a newer version of OSA… | refusé volontairement — appliquer à moitié un format futur vous donnerait une arborescence qui ressemble à la vôtre sans l'être |
Une session corrompue n'est jamais jetée en silence. Ne rien dire à un utilisateur, c'est ainsi qu'il conclut que la sauvegarde automatique n'a jamais marché.
Crash contre fermeture propre¶
À une fermeture propre, OSA retire un marqueur « en cours d'exécution ». L'absence de ce marqueur à l'ouverture suivante est la seule chose qui distingue un crash d'une sortie normale — et c'est cette distinction qui permet à la barre de restauration de dire quelque chose de vrai.
Entretien¶
Le dossier des sessions s'élague lui-même : 20 fichiers, 30 jours, la session de la scène courante étant toujours protégée. Sans ça, le dossier grossit d'un fichier par scène pour toujours et personne ne va y faire le ménage.
Quand la sauvegarde automatique ne peut pas écrire¶
Si une sauvegarde échoue, un message jaune apparaît — une fois par série d'échecs, pas à chaque tick, et il s'efface après quelques secondes.
La raison part dans osa.log, dans le même dossier que les sessions, et elle nomme la cause. Si l'échec vient d'une valeur non sérialisable, le journal nomme la clé exacte, parce que « ça a échoué » n'est pas quelque chose sur quoi qui que ce soit peut agir.
Où regarder quand quelque chose cloche
%APPDATA%/Toon Boom Animation/Toon Boom Harmony Premium/octo_scene_assembler/osa.log
Ce fichier est aussi la façon dont le support lit ce qu'a fait votre Harmony sans avoir besoin de votre scène.