<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opencut/rust/crates/gpu/src/context.rs, branch rust-rewrite</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/opencut/atom/rust/crates/gpu/src/context.rs?h=rust-rewrite</id>
<link rel='self' href='http://git.cashmere.rs/opencut/atom/rust/crates/gpu/src/context.rs?h=rust-rewrite'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/'/>
<updated>2026-07-28T17:41:16Z</updated>
<entry>
<title>feat: GPUI desktop port foundation</title>
<updated>2026-07-28T17:41:16Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-28T17:41:16Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=f5a82152394fde4d8f740f664ab7737b82861618'/>
<id>urn:sha1:f5a82152394fde4d8f740f664ab7737b82861618</id>
<content type='text'>
- scene crate: full project/scene/element model, serde round-trip
  proven against the web SerializedProject shape
- transfer crate: .ocp zip container, cross-compat with web fflate
  archives proven in both directions
- storage crate: filesystem project store replacing IndexedDB,
  .ocp import/export
- media crate: ffmpeg-next 8 decoder (frames, audio, thumbnails,
  waveform summaries)
- playback crate: wall-clock anchored, frame-rounded playback clock
- gpu crate: native texture readback; compositor renders headless
  offscreen on Vulkan (spike test)
- flake devshell: rust toolchain, GPUI native deps, ffmpeg dev,
  bindgen clang args; GPUI hello-world builds
- port plan in notes/gpui-port.md
</content>
</entry>
<entry>
<title>refactor: centralize editor interaction state</title>
<updated>2026-04-25T01:56:22Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-25T01:56:22Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=6a22a3ecbdff2d0e6a4c24c8db40bb86bc01b692'/>
<id>urn:sha1:6a22a3ecbdff2d0e6a4c24c8db40bb86bc01b692</id>
<content type='text'>
Move timeline and preview gestures into dedicated controllers so hooks stay thin around editor state and DOM events.

This also routes drag and playback synchronization through manager APIs and reuses persistent wasm surfaces so scrubbing, seeking, and preview rendering stay in sync.

Made-with: Cursor
</content>
</entry>
<entry>
<title>perf: improve rendering performance by ~20x</title>
<updated>2026-04-22T14:48:37Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-22T14:48:37Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=cceb835a84c125990ad8e49784e01a7c52636bb3'/>
<id>urn:sha1:cceb835a84c125990ad8e49784e01a7c52636bb3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: wasm WebGL only until WebGPU is fixed</title>
<updated>2026-04-22T12:20:40Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-22T12:20:40Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=1301d027e94effbf329f9c1e9b6e937f58aa1a81'/>
<id>urn:sha1:1301d027e94effbf329f9c1e9b6e937f58aa1a81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: WebGL frame rendering and opencut-wasm 0.2.8</title>
<updated>2026-04-19T05:42:52Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-19T05:42:52Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=729d10592f4e802f91c555c309ff3ba4b119f843'/>
<id>urn:sha1:729d10592f4e802f91c555c309ff3ba4b119f843</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: gpu webgl fallback and batched command encoding</title>
<updated>2026-04-13T03:01:51Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-13T02:40:19Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=dbd68ff1396bf498eb97f095810b78d2bddd0011'/>
<id>urn:sha1:dbd68ff1396bf498eb97f095810b78d2bddd0011</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>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>
</feed>
