<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opencut/flake.nix, branch rust-rewrite</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/opencut/atom/flake.nix?h=rust-rewrite</id>
<link rel='self' href='http://git.cashmere.rs/opencut/atom/flake.nix?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>chore: add justfile with common commands</title>
<updated>2026-07-26T20:42:07Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-26T20:41:44Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=2f5ff9fefbd968387edb1394377e26ea7df03cd5'/>
<id>urn:sha1:2f5ff9fefbd968387edb1394377e26ea7df03cd5</id>
<content type='text'>
Recipes wrap the documented bun/turbo/cargo/docker commands; 'just test
&lt;path&gt;' passes through to bun test, 'just dev' ensures .env.local exists.
just is added to the nix devshell so it is available after nix develop.
</content>
</entry>
<entry>
<title>feat: freeze frame at playhead</title>
<updated>2026-07-26T19:06:33Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-26T19:06:33Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=fc0a801e8829b623d62137a3f7cbdec38c6d555a'/>
<id>urn:sha1:fc0a801e8829b623d62137a3f7cbdec38c6d555a</id>
<content type='text'>
Enable the timeline toolbar freeze-frame button: capture the composited
canvas as PNG, add it as an image media asset, split the video element
at the playhead, shift the right part by the freeze duration, and insert
a 3-second image element in the gap. Adds RendererManager.captureFrame(),
reused by createSnapshot().

Also adds the Nix devshell (flake.nix/flake.lock: bun + nodejs) and
AGENTS.md repository guidelines.
</content>
</entry>
</feed>
