<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opencut/docs/effects-renderer.md, branch main</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/opencut/atom/docs/effects-renderer.md?h=main</id>
<link rel='self' href='http://git.cashmere.rs/opencut/atom/docs/effects-renderer.md?h=main'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/'/>
<updated>2026-08-08T08:40:12Z</updated>
<entry>
<title>feat: pan &amp; zoom motion presets</title>
<updated>2026-08-08T08:40:12Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-08-02T17:59:32Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=237248321a1a40b9b98e7e0a6df156d0aa247ef0'/>
<id>urn:sha1:237248321a1a40b9b98e7e0a6df156d0aa247ef0</id>
<content type='text'>
Ken Burns-style motion effects (zoom in/out, pan left/right/up/down) that
drag onto clips like regular effects. Instead of shader passes they
evaluate a per-frame transform offset in resolveVisualState, so they
stack with keyframed transforms and work in preview and export.

- intensity param (0-100%, keyframable) scales the whole effect
- easing select maps progress through the graph editor's bezier presets
- supportsStandalone: false hides them from effect-track creation
- empty shader pass groups are filtered out so pass-less effects and
  zero-intensity blur no longer crash the compositor
</content>
</entry>
<entry>
<title>feat: migrate GPU renderer from WebGL to wgpu/WASM</title>
<updated>2026-04-01T11:57:32Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-01T11:57:32Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=e579ae120290329fd697b50ea9138ffccb65a805'/>
<id>urn:sha1:e579ae120290329fd697b50ea9138ffccb65a805</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: masks, properties refactor, shaders, storage migrations, and more</title>
<updated>2026-03-29T13:48:22Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-03-25T15:47:22Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=8db3bead13441a5882d8689dfc6a9f09c82375d9'/>
<id>urn:sha1:8db3bead13441a5882d8689dfc6a9f09c82375d9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: introduce WebGL effects system and Blur effect</title>
<updated>2026-02-28T17:41:22Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-02-28T17:41:22Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=216e3e0c397be3719a94e1a22bc1c2ce2de3856c'/>
<id>urn:sha1:216e3e0c397be3719a94e1a22bc1c2ce2de3856c</id>
<content type='text'>
This implements the foundational architecture for video effects, starting with a multi-pass WebGL rendering pipeline and a customizable Gaussian Blur effect.

Key changes:
- WebGL Engine: Added `raw-loader` for `.glsl` shaders, multi-pass framebuffer rendering, and live offscreen canvas previews.
- Node Architecture: Replaced hardcoded background blur with `CompositeEffectNode` and added `EffectLayerNode` to apply effects to specific visual elements.
- Timeline &amp; DND: Added a new `effect` track type. Upgraded drag-and-drop to support dropping effects directly onto the timeline. Consolidated track constants into a cleaner `TRACK_CONFIG`.
- UI/UX: Added an Effects tab in the assets panel with live previews. Added an Effect Properties panel with sliders and inputs for fine-tuning parameters.
- Data Model: Added `sourceDuration` to video and audio elements, and wrote a v8 storage migration to update existing projects to the new schema.
- Docs: Added `CHANGELOG.md` tracking v0.1.0 and v0.2.0, plus `docs/effects-renderer.md` to document the new WebGL pipeline.
</content>
</entry>
</feed>
