<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opencut/AGENTS.md, branch rust-rewrite</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/opencut/atom/AGENTS.md?h=rust-rewrite</id>
<link rel='self' href='http://git.cashmere.rs/opencut/atom/AGENTS.md?h=rust-rewrite'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/'/>
<updated>2026-07-28T17:41:14Z</updated>
<entry>
<title>feat: ripple-extend resize, timeline filmstrip, export hardening</title>
<updated>2026-07-28T17:41:14Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-28T17:41:14Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=e837e7504379e100ff3b56282577ec67bb88bec9'/>
<id>urn:sha1:e837e7504379e100ff3b56282577ec67bb88bec9</id>
<content type='text'>
Yesterday's verified web session (gates green: 316 tests, tsc, build):
- ripple-extend pushes right-hand chain on static-element resize
- per-position video filmstrip thumbnails with zoom-adaptive density
- fps-aware export bitrate, 2s keyframes, even-dim export canvas
- freeze frame uses fixed 3s duration, prompt removed
</content>
</entry>
<entry>
<title>docs: record completed roadmap slices</title>
<updated>2026-07-26T23:22:54Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-26T23:22:54Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=da99dec8a2de1f3849aebbf5695c1e812b2dbdf9'/>
<id>urn:sha1:da99dec8a2de1f3849aebbf5695c1e812b2dbdf9</id>
<content type='text'>
AGENTS.md gains the versions/voiceover/transfer domains and the features
flag module; roadmap marks slices 1-6 done and notes deletion of
flagged-off code as the next strip step.
</content>
</entry>
<entry>
<title>docs: record green baseline and quality gates</title>
<updated>2026-07-26T22:26:32Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-26T22:26:32Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=9988b884b381eebcfb66a4bbeb3aad5682612ba8'/>
<id>urn:sha1:9988b884b381eebcfb66a4bbeb3aad5682612ba8</id>
<content type='text'>
</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>docs: mark MediaPreview guard done in AGENTS.md</title>
<updated>2026-07-26T20:34:11Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-26T20:34:11Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=3e461c6fd62fcdb3c68a1fdda00bf7f060c09435'/>
<id>urn:sha1:3e461c6fd62fcdb3c68a1fdda00bf7f060c09435</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: update AGENTS.md freeze-frame and testing notes</title>
<updated>2026-07-26T20:13:01Z</updated>
<author>
<name>cashmere</name>
<email>cashmere@autistici.org</email>
</author>
<published>2026-07-26T20:13:01Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=db3c7eee7e65831394787c47fbd41a4024537de4'/>
<id>urn:sha1:db3c7eee7e65831394787c47fbd41a4024537de4</id>
<content type='text'>
</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>
<entry>
<title>chore: switch from biome to eslint + prettier; fix ton of lint issues</title>
<updated>2026-05-02T01:27:23Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-28T22:37:56Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=a9b9cf6bf50f08723896659634f2e6afc17bcd42'/>
<id>urn:sha1:a9b9cf6bf50f08723896659634f2e6afc17bcd42</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: ts conventions to agents.md</title>
<updated>2026-04-21T10:47:21Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-21T10:47:21Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=148d38d7c95c15b8c2746a2d86994f0970536742'/>
<id>urn:sha1:148d38d7c95c15b8c2746a2d86994f0970536742</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: document rust/apps architecture in AGENTS.md</title>
<updated>2026-04-05T22:24:21Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-05T22:24:21Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=e62227914a539dbc7d7c03922173ffd9d45b585a'/>
<id>urn:sha1:e62227914a539dbc7d7c03922173ffd9d45b585a</id>
<content type='text'>
</content>
</entry>
</feed>
