<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opencut/apps/web/src/services/renderer/nodes/video-node.ts, branch main</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/opencut/atom/apps/web/src/services/renderer/nodes/video-node.ts?h=main</id>
<link rel='self' href='http://git.cashmere.rs/opencut/atom/apps/web/src/services/renderer/nodes/video-node.ts?h=main'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/'/>
<updated>2026-04-13T03:08:29Z</updated>
<entry>
<title>refactor: rendering pipeline</title>
<updated>2026-04-13T03:08:29Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-13T02:41:17Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=cad88ee4d1c9e06e7529b88ef5e5d3fdf3f89149'/>
<id>urn:sha1:cad88ee4d1c9e06e7529b88ef5e5d3fdf3f89149</id>
<content type='text'>
Made-with: Cursor
</content>
</entry>
<entry>
<title>refactor: split effects and masks into dedicated rust crates, introduce MediaTime and FrameRate</title>
<updated>2026-04-06T23:09:13Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-06T23:09:13Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=e4b67094e757917588fb624a30aa046667403add'/>
<id>urn:sha1:e4b67094e757917588fb624a30aa046667403add</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: normalize line endings</title>
<updated>2026-03-29T13:56:48Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-03-26T23:55:15Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=4d127a038bf768eded68aae3cfa5c1b12241bdac'/>
<id>urn:sha1:4d127a038bf768eded68aae3cfa5c1b12241bdac</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>
<entry>
<title>feat: implement keyframe animation system</title>
<updated>2026-02-27T15:33:57Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-02-27T15:33:57Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=49426f19cd8eaed7cf6c47999b66fee7ee637a56'/>
<id>urn:sha1:49426f19cd8eaed7cf6c47999b66fee7ee637a56</id>
<content type='text'>
Add keyframe support for transform, opacity, and volume properties.
Includes animation engine (interpolation, mutations, resolvers), timeline
markers with selection/snapping, properties panel toggles, keyframe-aware
renderer, and full undo/redo command support.

Also refactor element command constructors to object params, extract
timeline pixel math to pixel-utils.ts, and update cursor rules.
</content>
</entry>
<entry>
<title>add transform + few fixes</title>
<updated>2026-02-08T21:21:17Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-02-08T21:21:17Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=e50a817b97b87baa0cd8fdde0fdb5d607143c1c3'/>
<id>urn:sha1:e50a817b97b87baa0cd8fdde0fdb5d607143c1c3</id>
<content type='text'>
feat: transform
feat: batch command
fix: slider undo
fix: timeline zoom perf
refactor: make updateElement support multiple
</content>
</entry>
<entry>
<title>make storage versioning per-project + few other refactors</title>
<updated>2026-02-05T11:53:56Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-02-05T11:53:56Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=2257ca2e6f9f8834880ea9bab4355c168ee6c33b'/>
<id>urn:sha1:2257ca2e6f9f8834880ea9bab4355c168ee6c33b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix import</title>
<updated>2026-01-31T21:54:33Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-01-31T21:54:33Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=1d31b7a5865e1419edb57e1c4497413dba80370c'/>
<id>urn:sha1:1d31b7a5865e1419edb57e1c4497413dba80370c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>codebase overhaul (#697)</title>
<updated>2026-01-30T23:20:04Z</updated>
<author>
<name>Maze</name>
<email>167211895+mazeincoding@users.noreply.github.com</email>
</author>
<published>2026-01-30T23:20:04Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=7bf0984698e43b9aa2dd879f65951318ed410390'/>
<id>urn:sha1:7bf0984698e43b9aa2dd879f65951318ed410390</id>
<content type='text'>
</content>
</entry>
</feed>
