effectcraft/crates/engine/src
Brandon Thomas 0bee1ab2da M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA
- Persistence: settings, shortcuts, recent projects, imported media, saved projects and
  auto-saves live in OPFS (IndexedDB fallback) through an in-memory mirror flushed in the
  background (apps/effectcraft-web/src/store.rs, persist.rs); ConfigStore gains FileOps so
  auto-save / recovery work in the browser store; the session snapshot restores the last
  project + editor state on reload; File > Open Recent works from storage.
- Audio: Web Audio output (AudioWorklet, ScriptProcessor fallback) fed by AudioPlayback::pump
  on wasm32; A/V sync from AudioContext.currentTime; meters; unlock on first gesture.
- Background jobs: engine::offload (WorkerRequest/WorkerReply protocol, Offload trait,
  run_request); Render Queue, tracker, mask tracker, Warp Stabilizer and Roto Freeze run in Web
  Workers (a second engine instance on the shared compiled module), progress streamed back;
  cancel terminates the worker.
- GPU: WebGPU viewer frames drawn straight from the compositor's texture (gpu_display on
  wasm32 when the viewer draws plainly); async readback (Gpu::read_display_async) for pixels.
- PWA: manifest, service worker precaching the build (xtask fills list/version), icons copied
  from assets/app-icon; COOP/COEP kept from cached responses; offline reload works.
- window.effectcraft: saveToBrowser, listStored, removeStored, flush; info() reports storage,
  audio, gpu, workers.
- Tests: native store + protocol + offload (render, track, cancel) tests; smoke.mjs extended
  (GPU path, worker render responsiveness, audio gesture + playback, reload persistence,
  Open Recent, offline reload).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 23:42:00 -04:00
..
commands M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
menus Merge main into menu-parity branch; point AE menu entries at main's real commands 2026-10-02 00:12:01 -04:00
autosave.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
config.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
demo.rs M9.6: text animation depth (selectors, animator properties, per-char 3D, path text, presets) 2026-10-02 00:01:19 -04:00
lib.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
links.rs M0.8: engine session, undo history, ~100 commands, demo project; headless CLI 2026-10-01 14:28:21 -04:00
mask_track.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
menus.rs Merge branch 'main' into worktree-agent-af1868dabbf03697e 2026-10-02 22:36:47 -04:00
offload.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
prefs.rs UI-8, UI-3: native macOS menu bar; timeline columns, search, reveal-add, UU, CTI snapping 2026-10-02 22:21:08 -04:00
render_queue.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
roto.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
rq_tests.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
session_settings.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
shortcuts.rs M14.3: keyboard shortcut editor 2026-10-02 09:14:54 -04:00
tests.rs M9.7: effect controls widgets (EFF-1/EFF-2) 2026-10-02 09:05:17 -04:00
tests_3d.rs M7.3: Auto-Orient (along path, towards camera), Draft 3D, 3D switch off drops Z 2026-10-01 22:42:27 -04:00
tests_anim_tools.rs ANM-6, CMP-5, CMP-3: Wiggler/Smoother/Motion Sketch, marker dialog + timeline markers, pre-compose options + comp navigator 2026-10-02 10:47:02 -04:00
tests_effects.rs M9.7: effect controls widgets (EFF-1/EFF-2) 2026-10-02 09:05:17 -04:00
tests_fidelity.rs M4.4: collapse transformations + slip 2026-10-02 10:14:53 -04:00
tests_lottie.rs M11.4: Lottie export/import 2026-10-02 08:56:03 -04:00
tests_markers.rs ANM-6, CMP-5, CMP-3: Wiggler/Smoother/Motion Sketch, marker dialog + timeline markers, pre-compose options + comp navigator 2026-10-02 10:47:02 -04:00
tests_mask_warp.rs M6.6: mask tracking + mask interpolation; M12.5: Warp Stabilizer 2026-10-02 21:14:29 -04:00
tests_menu_cmds.rs M3.8: stub burn-down 2026-10-02 09:16:42 -04:00
tests_model3d.rs M7.4: model import 2026-10-02 21:04:47 -04:00
tests_paint.rs M9.11: Blur & Sharpen and Distort effects (CC Radial Blur, Camera-Shake Deblur, CC Flo Motion, Liquify, Rolling Shutter Repair) 2026-10-02 21:08:04 -04:00
tests_project_items.rs M14.4: scripting with an After Effects-style JavaScript object model 2026-10-02 22:13:09 -04:00
tests_roto.rs M6.7: roto brush segmentation + propagation 2026-10-02 22:20:25 -04:00
tests_settings.rs M3.7: auto-save + crash recovery 2026-10-02 09:15:04 -04:00
tests_stubs.rs M2.4: bit depth + linear blending + working space 2026-10-02 10:03:36 -04:00
tests_styles.rs M9.4: layer styles render + commands 2026-10-02 00:00:00 -04:00
tests_text.rs Merge main (engine menu tree) into M9.6; wire text animation menus 2026-10-02 00:44:20 -04:00
tests_text_edit.rs M9.10: on-canvas text editing 2026-10-02 10:34:13 -04:00
tests_timeline.rs M5.7: frame-aligned layer, comp and keyframe times 2026-10-01 22:19:29 -04:00
tests_track.rs M6.6: mask tracking + mask interpolation; M12.5: Warp Stabilizer 2026-10-02 21:14:29 -04:00
tests_viewer.rs M0.13: viewer snapping, rulers, channels, snapshots, ROI 2026-10-02 10:16:05 -04:00
tracking.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
viewer.rs M0.13: viewer snapping, rulers, channels, snapshots, ROI 2026-10-02 10:16:05 -04:00
warp.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00