effectcraft/crates
bflatastic 26c714db7f M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key
- FrameKey's identity is the comp's content (frames::comp_content), not the project revision:
  an edit keeps the cached frames of comps it doesn't touch and undo finds the frames of the
  state it returns to. The identity hashes the addresses of the comps a comp draws (~0.1 ms on
  the 1500-layer test project; the full content hash took ~117 ms), by value the footage, solids,
  proxies and project settings; with expressions, every item. Frames::content_of keeps a
  project snapshot per identity with frames (or in flight), so Arc::make_mut always copies an
  edited comp and its address can't be reused meanwhile; past 64 identities the least recently
  used go with their frames (long drags).
- drop_stale is gone (frames of other contents are evicted least-recently-shown first).
- disk_cache::comp_content_key covers items' proxies and Use Proxy (it served stale frames).
- Tests: frames (content keys, edits elsewhere and undo, bounded drags, in-place edit safety),
  ui_ram_preview (end to end), the disk cache proxy key. Docs: roadmap (M4 done), parity.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 14:39:17 +07:00
..
automation Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
av1enc Never crash: AV1 encoder without expect()/unreachable!() 2026-10-04 13:22:59 -04:00
color Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
effects M5.16: Key Light: keyer eyedroppers pick from the effect input (effect.pickColor); "keylight" search 2026-10-05 11:04:10 +07:00
engine M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key 2026-10-05 14:39:17 +07:00
export Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
expr Merge pull request #6 from storybored379/pr/expr-runtime-stack-leak 2026-10-05 12:10:53 +07:00
geom Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
gpu Never crash: render and gpu crates without panic!() 2026-10-04 14:20:37 -04:00
hevcenc Never crash: HEVC encoder without expect()/unreachable!() 2026-10-04 13:23:03 -04:00
host Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
interchange Never crash: reject timeline documents nested too deeply 2026-10-04 14:05:57 -04:00
keyframe Keyframes: a Hold key no longer eases the motion into it 2026-10-04 01:17:34 -07:00
lottie Never crash: Lottie enum values can't overflow 2026-10-04 13:24:14 -04:00
media Merge pull request #17 from storytold/pr/never-crash-media 2026-10-04 15:29:59 -04:00
model Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
opusenc Never crash: Opus and VP9 encoders without expect() 2026-10-04 13:23:06 -04:00
path M13.30: the ArtCraft mark in the Tools bar, About and Home; VectorCraft sibling link 2026-10-05 12:49:47 +07:00
pdf Never crash: PostScript radix numbers outside 2..=36 2026-10-04 14:21:14 -04:00
plugin Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
project M3.9: an edit that only allocates ids still counts as a change 2026-10-05 06:43:10 +07:00
psd Never crash: bound PSD descriptor nesting 2026-10-04 14:05:55 -04:00
raster Never crash: raster and path crates without expect()/unwrap()/unreachable!() 2026-10-04 13:41:09 -04:00
render M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key 2026-10-05 14:39:17 +07:00
script Merge pull request #10 from storybored379/pr/spatial-tangent-getter-names 2026-10-05 12:11:18 +07:00
svg Never crash: reject SVGs nested too deeply 2026-10-04 14:05:58 -04:00
text Never crash: text layout and font resolution without expect() 2026-10-04 13:27:38 -04:00
time Never crash: Tick and timecode arithmetic can't overflow or divide by zero 2026-10-04 14:20:33 -04:00
track Never crash: trackers and camera solver without expect() 2026-10-04 13:24:17 -04:00
ui-egui M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key 2026-10-05 14:39:17 +07:00
vp9enc Never crash: Opus and VP9 encoders without expect() 2026-10-04 13:23:06 -04:00