## storytold/effectcraft — v0.2.0…v0.3.0

_45 commits._

### Features
- **Merge pull request #55 from storytold/m13-new-viewer** (1ac55c3)
- **M13.32: View ▸ New Viewer — several Composition viewers** (97390f1)

### Fixes
- **Merge pull request #81 from storytold/fix/44-project-import** (dd56ae5)
- **Fix #44: double-click the Project panel's empty area to import** (df12664)
- **Merge pull request #80 from storytold/fix/43-wayland-icon** (fdfbca5)
- **Fix #43: the AppImage's window shows the EffectCraft icon on Wayland** (b424c32)
- **Merge pull request #79 from storytold/fix/45-project-details** (72e60dc)
- **Fix #45: the Project panel's details stay inside the panel** (e6d4a64)
- **Merge pull request #78 from storytold/fix/46-docking** (83cd5d0)
- **Merge pull request #77 from storytold/fix/65-drag-refresh** (bb7b5f5)
- **Fix #65: the viewer keeps up while a layer is dragged** (1b8780f)
- **Merge pull request #76 from storytold/fix/64-double-axes** (7564004)
- **Fix #64: one 3D compass in the viewer** (77c056a)
- **Merge pull request #74 from storytold/fix/63-viewer-scale** (0dcbe32)
- **Fix #63: scaling a layer by its handles follows the pointer** (782a67f)
- **Merge pull request #73 from storytold/fix/68-open-links** (4373c24)
- **Fix #68: open links in the system browser (Discord buttons, Help menu, Settings)** (0286a49)

### Backend
- **Merge pull request #83 from storytold/pr/release-gate** (877afeb)
- **Release gate: the agent-audit test builds in release mode** (f25b754)
- **Merge pull request #82 from storytold/docs/issue-status** (8573400)
- **Test #46: panels dock by a drag from the panel menu button; gutters resize** (efcbc2e)
- **Merge pull request #60 from storytold/pr/freebsd** (e5c5860)
- **FreeBSD: system info reports memory, CPU model and OS version** (b70c808)
- **Merge pull request #69 from storytold/pr/gpu-gl-fallback** (7f3caee)
- **GPU compositor declines devices whose limits its pipelines exceed** (3767332)
- **GPU on wgpu's OpenGL backend: renderable depth target, portable shaders, serialised tests** (6eedf8e)
- **Merge pull request #62 from storytold/pr/release-0.3.0** (24fcbdf)
- **Release: EffectCraft v0.3.0** (044fc32)
- **Merge pull request #61 from storytold/m13-face-ml** (b9ffd88)
- **M13.36: face tracking trained model — MediaPipe Face Landmarker on a pure-Rust TFLite interpreter** (e43bf66)
- **Merge pull request #58 from storytold/m13-roto-ml** (4624c00)
- **Merge main (gap assessment) into M13.35: keep parity numbers, record G7's decision and evidence** (174ab2b)
- **M13.35: Roto Brush trained model — swappable segment module, MobileSAM in pure Rust** (7579de2)
- **Merge pull request #57 from storytold/m13-audio-scrub** (11d4885)
- **M13.34: audio scrubbing (Ctrl/Cmd-drag the current time)** (5afc25d)
- **Merge pull request #56 from storytold/m13-nested-markers** (9607be4)
- **M13.33: nested comp markers on the precomp layer bar** (f013bdd)
- **Merge pull request #54 from storytold/m4-content-keyed-frames** (6a5abad)
- **M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key** (26c714d)
- **M13.31: Home size column test uses an unambiguous size (12.5 KB rounds to even)** (4f7723a)
- **Merge pull request #53 from storytold/ci-packaging-lint** (0f1cad8)

### Docs
- **Docs: gaps.md records the user issues of 5 October and what became of them** (25f353f)
- **docs: point agents to the shared test corpora (#59)** (e2f027f)
- **Docs: honest gap assessment (docs/gaps.md), roadmap workstreams G1–G9, README status** (aa4656b)

### Chore
- **CI: packaging lint passes again (wasm-bindgen install step as an if, not A && B || C)** (a48de85)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/storytold/effectcraft?utm_source=github-action)._