Skip to main content
Version: Current

Save, import, and recover projects

Scribe Animator has several persistence paths because no single save type solves every risk. Use browser-local checkpoints for fast recovery, a complete library save for signed-in access, and a .scribe package for portable backup and handoff.

Choose the right save type

Save typeBest forLocationMain limitation
Automatic local checkpointRecovery from a crash or accidental refreshCurrent browser profileCan be cleared and does not travel
Save LocallyAn immediate manual recovery pointCurrent browser profileNot a named cloud/library save
Save to Library (Complete)Signed-in project access and complete library recordsScribe libraryRequires account and network
Export .scribe…Portable editable backup, archive, or handoffDownloaded fileYou must store and manage the file
Video exportViewing, publishing, or deliveryDownloaded media fileCannot restore editable project state

For important work, use at least two boundaries: a local checkpoint and a .scribe package or complete library save.

1. Locate the persistence commands

Scribe Animator File menu showing local save, complete library save, Save As, load, Scribe package export, and Scribe package import
The File menu distinguishes browser recovery, account library persistence, and portable package transfer.
Screenshot callouts
  1. Save Locally
    Writes an immediate checkpoint to isolated browser storage.
  2. Save to Library (Complete)
    Creates or updates the signed-in library project with its complete package.
  3. Save As to Library
    Writes a new complete library target instead of overwriting the current one.
  4. Export .scribe
    Downloads a validated portable editable project container.
  5. Import .scribe
    Validates and loads a package, replacing the current active project.

On Mobile Lite, use Save in the project menu and the package actions under Project Files.

2. Understand automatic local checkpoints

After the first meaningful project mutation, Scribe schedules a local checkpoint approximately 15 seconds after changes settle. It avoids checkpointing during playback and keeps a bounded history rather than growing browser storage forever.

The current default keeps up to 30 checkpoints per project namespace. A checkpoint can include:

  • project and canvas settings;
  • scenes and scene-local objects;
  • timeline, animation, draw, and camera state;
  • supported audio state;
  • persisted reveal/original asset data where available; and
  • the metadata needed to identify and order recovery entries.

Automatic checkpoints are intentionally browser-local. They are tied to this site, browser profile, and storage state; they do not imply account sync.

When automatic save is not enough

Do not rely on it as the only copy when:

  • closing a private/incognito session;
  • clearing browser data;
  • changing browsers or devices;
  • handing a project to another person;
  • running browser cleanup tools; or
  • making a high-risk structural change.

3. Create an immediate local checkpoint

  1. Pause playback.
  2. Choose File → Save Locally or press Ctrl/Cmd+S.
  3. Wait for the Saved locally confirmation.
  4. Verify the header no longer shows the unsaved-change indicator.

Manual local save also attempts to persist supported reveal originals and audio state before writing its checkpoint. A success notice confirms the browser write, not a cloud upload or portable download.

Expected result: the current browser profile has a fresh recovery point for this project.

4. Save to the complete project library

Use this when you are signed in and want a named project record.

  1. Choose File → Save to Library (Complete).
  2. Sign in if prompted, then repeat the action.
  3. Enter a project name and optional description.
  4. Choose a folder.
  5. Wait for package creation, metadata upload, and supported audio promotion.
  6. Read the completion notice; it can report media that remained local.

Use Save As to Library (Complete)… when you need a separate target rather than updating the current one.

Library saving can fail or be partial when authentication expires, the network drops, an upload limit is reached, or local media cannot be promoted. Keep the local checkpoint and .scribe package until the library copy has been reopened successfully.

5. Export a portable .scribe backup

  1. Pause playback.
  2. Choose File → Export .scribe….
  3. Let package assembly finish.
  4. Keep the .scribe extension.
  5. Move the download to a named backup folder outside temporary browser downloads.
  6. Record the project name or date in the filename if the browser uses a generic name.

A .scribe file is a ZIP-based project container. It includes a manifest, project snapshot, and supported packaged assets. Assets that cannot be embedded can remain references and produce warnings when loaded elsewhere.

Use a package:

  • before importing or replacing broad project content;
  • before applying a project template;
  • before deleting a library record;
  • before browser/device migration;
  • after a milestone;
  • for an editable handoff; and
  • before troubleshooting media resolution.

Do not manually edit the archive unless you are debugging the format and understand its validation rules.

6. Import a .scribe package safely

Import replaces the active workspace.

  1. Save the active project and export its package first.
  2. Choose File → Import .scribe….
  3. Select exactly one .scribe file.
  4. Wait while Scribe checks archive structure, version, JSON shape, asset references, and safety limits.
  5. Read all warnings.
  6. After load, verify project name, scene count, canvas size, and object count.
  7. Preview from the beginning and inspect audio, reveal artwork, images, and fonts.
  8. Save as a new local/library target before repairing references.

Expected result: the imported project becomes the active project and its valid packaged assets resolve without depending on the source browser.

Package validation limits

The importer rejects or stops packages that exceed hard safety boundaries. Current upper bounds include:

BoundaryCurrent maximum
Package file200 MB
Files in the ZIP10,000
Total uncompressed content500 MB
One extracted file200 MB
Manifest JSON5 MB
Snapshot JSON50 MB
Project objects10,000

It also validates paths, manifest/version structure, JSON depth and node counts, dangerous object keys, asset pointers, and SVG complexity. These are acceptance ceilings, not recommended project sizes.

External references are preserved according to the current import policy rather than universally blocked. A preserved URL can still fail later because of CORS, expiry, authentication, offline use, or deletion at the source. Package important assets whenever possible.

7. Recover after a crash or interrupted session

When the editor opens into a fresh default or empty project and a newer checkpoint exists, Scribe can offer recovery.

  1. Check the recovery project's name and checkpoint time.
  2. Choose Restore if it represents the work you need.
  3. Wait for project state, reveal assets, and audio to rehydrate.
  4. Preview the project and inspect media.
  5. Immediately choose File → Export .scribe….
  6. Save or Save As after confirming the restored state.

Choose Dismiss only when you intentionally do not need that recovery candidate. The dismissal is remembered locally for that prompt.

Recovery is best-effort for media resources. Project JSON can recover even when an external or browser-temporary asset is no longer reachable.

Exact checkpoint recovery for agents

Desktop agents using Scribe's Automation API or WebMCP can recover historical checkpoints even when the visible prompt shows only the latest candidate. For a complex task, the continuity sequence is:

  1. inspect project.get_status;
  2. call project.save_local and retain its projectId, checkpointKey, and revision;
  3. recheck project.get_status before and after major WebMCP working-set switches;
  4. if the active project identity changes unexpectedly, call project.recovery.list;
  5. restore the retained exact key with project.recovery.restore; and
  6. verify the result with project.get and project.get_status.

Recovery listing returns only bounded project identity, dimensions, timing, and count metadata—not project objects, media, SVG, URLs, or browser-storage internals. Exact restore requires human confirmation, replaces the active workspace, and attempts to checkpoint meaningful dirty current work first. A missing or malformed exact key fails explicitly; Scribe does not silently choose the latest checkpoint or reconstruct the project. When the requested saved checkpoint exists, restore it instead of rebuilding content.

8. Diagnose missing assets

SymptomLikely causeRecovery
Image placeholder or missing artworkRemote URL expired, CORS rejected it, or original was never embeddedReopen the source environment, replace the asset, then export a new package
Reveal/vector animation differsOriginal reveal asset was unavailable during save/importRestore from a checkpoint/package that contains the original
Audio track exists but is silentBlob/local audio did not survive, cloud promotion failed, or playback permission is pendingRe-import audio or reopen the source project and complete the save
Font appearance changesThe original font is unavailable in the destination environmentInstall/use an available font and verify line wrapping
Import warning names a skipped fileFile failed a format, size, path, or complexity checkReplace that asset with a safe supported source and repack

Do not overwrite the only known-good source while investigating. Load/import into a new target whenever possible.

9. Use a practical backup routine

For ordinary work:

  1. Let automatic checkpoints run.
  2. Press Ctrl/Cmd+S after meaningful milestones.
  3. Export a .scribe package at session end.
  4. Keep at least one package outside the active browser/device.
  5. Reopen a library or package copy occasionally; an untested backup is only an assumption.

For risky work, use Save As first and keep the source unchanged.

Limitations

  • Browser storage can be cleared by privacy settings, cleanup tools, profile removal, quota pressure, or private-session closure.
  • Automatic checkpointing is debounced; a crash immediately after a change can occur before the next write.
  • Checkpoint retention is bounded and older entries are removed.
  • Library save requires authentication and connectivity.
  • A .scribe file can preserve only assets available or referenceable during packaging.
  • Preserved external URLs are not guaranteed to work offline or on another origin.
  • Import hard limits reject oversized or structurally unsafe content.
  • Recovery offers are conservative and normally appear only when the current workspace is fresh/default rather than overwriting active work.
  • Exported video is never an editable backup.

Troubleshooting

Save Locally does not confirm

  • Pause playback and retry.
  • Confirm browser site storage is allowed.
  • Free browser storage if quota is exhausted.
  • Export a .scribe file while the project is still open.
  • Avoid closing the tab until one persistence path succeeds.

Import stops with a validation error

  1. Keep the original package unchanged.
  2. Note whether the message names size, count, manifest, snapshot, path, JSON, or SVG validation.
  3. Re-export from the source Scribe version if available.
  4. Remove or replace the offending source asset in the original project.
  5. Do not bypass the validation by editing limits in production.

No recovery prompt appears

  • The current workspace may not be considered fresh or empty.
  • The checkpoint may belong to another browser profile, origin, or project namespace.
  • Site storage may have been cleared.
  • Import your latest .scribe package or load the complete library project instead.

Keyboard and accessibility notes

  • Ctrl/Cmd+S runs local save.
  • Shift+Ctrl/Cmd+S starts a complete library save.
  • File menu items are keyboard-focusable buttons and expose the menu's expanded state.
  • Native file selection handles .scribe choice; verify the filename before confirming.
  • Recovery and destructive replacement dialogs require an explicit action.
  • Status notices communicate save/import success, warnings, and failures without relying only on the header color.