Jul 8, 2026 · 23:47
[Jul 5] Delete, bridge, carve, thicken.
Minimal-cascade delete: X removes only selected elements + dependents. Deleted face keeps its rim edges/verts (bridgeable hole). Loose interior edges/verts swept.
Bridge (B) shipped in face mode through four commits: two faces → region bridge (connected face regions, single closed rims) → boolean bridge (rim spans toggle — consume existing walls, build bare ones) → mapping + winding derived from topology, not geometric guessing. Rims enumerated in the direction the vacated faces' loops traversed them, rim B reversed by construction, every built quad flip-enforced into slot direction.
Thicken (Shift+T): even-thickness slab grows OUT along the normal. Offset copy becomes the outer face, selected faces flip to cap the back. Sheet→slab sibling of shell; positive is out, negative pushes through.
Carve (C): face-mode modal. Select one connected region with interior verts, C replaces it with its mirror through the rim. Modal starts at factor 1 (the exact mirror = volume delete). Sigma is a ring rotation, cycles glue forward. Refuses non-symmetric rims, flat patches, multi-loop rims pre-mutation.
WEB_PORT_PLAN.md: main.cpp restructure → Emscripten viewer → full browser port roadmap, plus Appendix A execution spec.
- claude