<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opencut/apps/web/src/masks/snap.ts, branch rust-rewrite</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/opencut/atom/apps/web/src/masks/snap.ts?h=rust-rewrite</id>
<link rel='self' href='http://git.cashmere.rs/opencut/atom/apps/web/src/masks/snap.ts?h=rust-rewrite'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/'/>
<updated>2026-05-02T01:27:23Z</updated>
<entry>
<title>fix: address review findings in masks substrate</title>
<updated>2026-05-02T01:27:23Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-05-01T23:28:19Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=f66cdbfeb2e8b68e70e1f8595c38cacf58210ddf'/>
<id>urn:sha1:f66cdbfeb2e8b68e70e1f8595c38cacf58210ddf</id>
<content type='text'>
- Remove dead ternary in getPreferredEdges (always returned undefined; the
  all-false object was never reached by Object.values().some(Boolean))
- Document why drawWithFeather descriptors zero the feather field in the
  compositor (analytical renderer handles softness itself; zeroing prevents
  a second JFA feather pass)
- Remove legacyType from V30→V31 migration (not consumed anywhere; a
  down-migration can map type:"freeform" back to "custom" directly)
- Add V30→V31 test coverage: skip-guard branches, freeform passthrough,
  elements without a masks array
- Add snap tests for vertical-edge (bottom) and uniform-scale handle paths

Co-authored-by: Cursor &lt;cursoragent@cursor.com&gt;
</content>
</entry>
<entry>
<title>refactor: type mask handle identifiers</title>
<updated>2026-05-02T01:27:23Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-29T16:31:24Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=97f8d1968f186028e41f83b04c0897130e6c69f4'/>
<id>urn:sha1:97f8d1968f186028e41f83b04c0897130e6c69f4</id>
<content type='text'>
Made-with: Cursor
</content>
</entry>
<entry>
<title>refactor: split mask snap dispatch</title>
<updated>2026-05-02T01:27:23Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-29T16:23:08Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=6ea5a156b6b7f609354a4563cfb2d00ec7f41811'/>
<id>urn:sha1:6ea5a156b6b7f609354a4563cfb2d00ec7f41811</id>
<content type='text'>
Made-with: Cursor
</content>
</entry>
<entry>
<title>refactor: restructure files to their domains,  new preview overlay system, and dep graph</title>
<updated>2026-04-20T09:31:17Z</updated>
<author>
<name>Maze Winther</name>
<email>mazewinther@gmail.com</email>
</author>
<published>2026-04-20T09:31:17Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/opencut/commit/?id=3e89d2998588f8e35c524e523ba2ee853f0f6475'/>
<id>urn:sha1:3e89d2998588f8e35c524e523ba2ee853f0f6475</id>
<content type='text'>
</content>
</entry>
</feed>
