mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-13 15:24:34 +00:00
* Disk cache: stamp footage files for the salt off the UI thread Importing an After Effects project whose footage includes long image sequences on a network share froze the desktop app for 15-27 s. The import itself takes about 0.25 s; the time went into the edit's bump(), where refresh_disk_salt() stats every footage file (13,466 sequence frames in the measured project, ~15 s) on the UI thread whenever a disk cache is attached. File > Open and footage reload hit the same path. With Session::disk_salt_background (set by the desktop app) the salt is taken on a worker thread and picked up by poll_disk_salt() from the UI tick. Until it lands the layer cache runs memory-only, so keys under the old salt (other files, or another project's items) are never read. A newer footage change supersedes a salt still being taken. Headless sessions keep taking it synchronously. A settings change that keeps the disk cache folder no longer re-stamps every footage file either. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Disk cache: opening a project drops the footage salt being taken A salt job still running for the old project was kept when the new project named the same footage, so the salt stamped before the files changed stayed in use. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
387 B
Rust
14 lines
387 B
Rust
use super::doc_state::{CompSelection, EditorState};
|
|
use super::error::{EngineError, Result};
|
|
use super::event::Event;
|
|
use super::{
|
|
Arc, Comp, History, Image, ItemId, LayerId, Project, RenderOpts, Renderer, Session, ThumbnailJob, Tick, Value, camera_track, commands, guard, roto, warp,
|
|
};
|
|
|
|
mod comps;
|
|
mod dispatch;
|
|
mod edit;
|
|
mod render;
|
|
|
|
pub use edit::{DiskSaltJob, upgrade_effects};
|