Commit graph GameCult.Geometry.Csg/docs
Author SHA1 Message Date
Meta Vens
db2c162a79 Spike boolean-weld round 3: seam on the plane, hull flips, cap CDT, local ownership with corners kept
Self's calls (flat seams stay on the cutter plane, hull vertices survive, hull-side edge flips, cap CDT,
5 deg guard) and ruling weld-owner-local-corners-kept (per-vertex ownership, cutter and crease corners
never merged or moved). Box cut-ins added. Seam off plane 3e-16, crack 0, cap worst angle 0.058 to
5.5 deg; the hull-side worst angle is pinned by near-coincident seam/hull vertex pairs. All corners kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:23:16 +02:00
Meta Vens
7539c3fb7b Spike boolean-weld round 2: owner-defines-silhouette weld, joint split guard, notch across the crease
Ruling weld-owner-defines-silhouette implemented (owner by curvature along the loop; yielding spare
vertices merge; hull-owned inserted loop vertices snap into nearby hull vertices; splits welded jointly).
Ports and the crease notch clean up; the panel split keeps its worst angle (in the cap triangulation),
gets no crack, and its seam kinks where loop vertices snap to hull vertices. Guards at 5 and 10 deg.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:03:20 +02:00
Meta Vens
a507760ddc Spike boolean-weld: weld pass, measures, renders and result note
The operator's weld rule automated on the Dexter Quiet hull with boolmesh (identical output to Manifold).
Owner by curvature across the loop (as planned) fails the gun port; along the loop it passes it (slivers
32 to 5, worst angle 0.007 to 5.1 deg, silhouette unchanged). Planar panel splits get nothing from the
rule. Note: docs/research/spike-boolean-weld.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:41:26 +02:00
Meta Vens
842d101514 Brush tree: target r3, hand cages are the primary form, detail is welded boolean cuts and splits
The cage is authored and committed, not derived from a field; the cage primitive's
distance serves measurement only (no cheap bound); detail is cut and split booleans on
the evaluated mesh with the operator's weld rule; panel lines are splits; SDF
composition and cage generators are research scored against the hand cage.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:11:05 +02:00
Meta Vens
34cccf3b9a Research: boolean cleanup near the cut (prior art for ruling boolean-cleanup-tighter-curve-wins)
Eyes eyes-bt-boolean-cleanup, session self-2026-10-11-ag2: no named precedent for curvature-owned
cuts; threshold cleanup everywhere (Manifold, Houdini, Blender), CGAL protected constraints,
Adaptive Mesh Booleans; ownable implementations with licences.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:07:26 +02:00
Meta Vens
492f83ab93 Research: generating coarse subdivision cage connectivity (prior art for the cage-connectivity fork, target r2 cage-bar)
Eyes eyes-bt-cage-connectivity, session self-2026-10-11-ag2. Hoppe 1994, Marinov-Kobbelt,
Lavoue-Dupont, Ma 2015, Dual Loops, QuadWild.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:53:58 +02:00
Meta Vens
6a575d22bc Research: SDF composition authoring text (prior art for the field-text fork, target r2 text-round-trips)
Eyes eyes-bt-sdf-text, session self-2026-10-11-ag2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:53:23 +02:00
Meta Vens
c513992ce0 Research: hard-surface detail on a subdivision hull (prior art for the detail-layer fork, target r2 two-layers)
Eyes eyes-bt-detail-layer, session self-2026-10-11-ag2, weighted by the operator's workflow:
"expressing the form elegantly with as few control points as possible, then I go and start
cutting into it for all the hard surface details".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:52:17 +02:00
Meta Vens
a7879dad51 Brush tree: target r2 cites the cage note at 4b55c58
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:46:25 +02:00
Meta Vens
bd69e403b7 Brush tree: target r2, two layers for continuous hulls, primary-form fidelity, cage fitting versus remeshing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:46:16 +02:00
Meta Vens
4b55c58d81 Research: Dexter Quiet cage note: primary form only, the cage controls the surface; operator's screenshots
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:44:53 +02:00
Meta Vens
fd36e4e649 Brush tree: target r2 (representation per hull, the hand cage as the measuring stick)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:44:07 +02:00
Meta Vens
d426f865ad Research: Dexter Quiet reference cage (operator's hand cage, evaluated limit mesh, fidelity to the scan)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:39:46 +02:00
Meta Vens
ebe8d97840 Research: spike run 7, Instant Meshes with the SDF's cross field and a hard rim
The fidelity wall was the SDF program's own fit, not the remesher; the hard
crease with Newton projection gives a crisp rim; flow and UVs remain open.
Keeps the ~100-line Instant Meshes patch (BSD fork, against 7b31608).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:06:07 +02:00
Meta Vens
536df30473 Research: probes 5 and 6, QuadriFlow and Instant Meshes on the SDF hull
Both run headless; both give clean quads; both stop at the same fidelity
wall on the knife-edge wing. Instant Meshes can take an external cross
field through its existing constraint path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 02:58:20 +02:00
Meta Vens
def3c0b59b Research: probe run 3, a designed Catmull-Clark cage for Dexter Quiet
One continuous shell fitted by least squares: closest fit and best flow so
far, three UV islands, a two-number edit; hard edges and cage design gaps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 01:18:23 +02:00
Meta Vens
f0a00bcbee Research: spike run 4, SDF with smin for the shape, fitted quad cage for the topology
Operator-approved spike on Dexter Quiet: exact-Hessian cross field with
crease and ridge constraints aligns well; the numpy position field and
extraction did not converge; CC least-squares cage fitting to the field works.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 01:09:12 +02:00
Meta Vens
390db63130 Research: subdivision cage fitting, mixed subd/primitive assets, open solid kernels
Eyes pass after the operator's per-hull representation ruling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 23:52:25 +02:00
Meta Vens
91babd43cc Research: mesh probe run 2, which lowering gives shippable geometry
The compact Dexter Quiet description lowered three ways (OpenSCAD plus
automatic cleanup, a bmesh script, Geometry Nodes) and judged against the
operator's bar. Serves the brush-tree target revision.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 23:37:23 +02:00
Meta Vens
253f34df49 Brush tree: the operator's bar for a finished hull part
Clean unbroken topology flow, part-coherent low-distortion UVs, one-segment
bevels with face-weighted normals; her bevel test render as the reference.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 22:58:56 +02:00
Meta Vens
488cfff3a2 Research: OpenSCAD evaluators, the nightly's .csg export, program-plus-edits precedent
Eyes pass for the brush-tree openscad-surface question.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 22:38:05 +02:00
Meta Vens
c362c589ca Research: mesh probe run 1 (plan, result, Dexter Quiet compact OpenSCAD)
Opus rebuilt a control hull, Dexter Quiet (twice) and Headliner as
OpenSCAD and as Geometry.Csg brush lists, with its own measurement
tools. Outcome A by the plan's table, with qualifications. Serves the
brush-tree forks openscad-surface, fitting-home and vocabulary-growth.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 22:33:28 +02:00
Meta Vens
fa1ee72aa6 Research: primitive UV seams, SDF bevel meshing, Manifold face provenance
Eyes pass for the brush-tree seam, UV, bevel and brush-identity forks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 22:03:03 +02:00
Meta Vens
49948c8b80 Brush tree: campaign target and model page (Eureka step 0)
The ends of the brush-tree campaign: OpenSCAD-shaped CSG trees authored
in Blender through brokkr-ctl, with the typed brush tree as the one truth.
Sixteen invariants, scope, canonical implementations, evidence, and the
identity/lifecycle/authority table. No cut plan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 21:57:45 +02:00
Meta Vens
5b5dc3474d Research: prior art on relightable octahedral impostors
Eyes pass 2026-10-10: Epic's ImpostorBaker, open-source ports, Amplify and
Unity toolkit impostors, relief/true impostors, depth compositing, where
shipped titles use them, and the absence of marcher-to-atlas systems.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 02:28:01 +02:00
Meta Vens
df89568c32 Research: prior art on brush surfaces, CSG topology, microbevels and SDF bricks
Eyes pass 2026-10-10: Chisel surfaces and UVs, hg_sdf blends, Dreams
(full slides), Claybook, Keeter MPR and Fidget, mesh distance fields, and
this crate's current state.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 02:27:15 +02:00
Meta Vens
b476a05eb5 Rename vg-csg to CultGeometry CSG 2026-08-26 17:38:13 +02:00
Meta Vens
1adeadc74d Make extracted vg-csg standalone 2026-05-07 22:52:50 +01:00
Meta Vens
06b266b0bd Expose CSG incremental rebuild strategy 2026-05-07 15:56:17 +01:00
Meta Vens
951c3abba8 Correct CSG dirty rebuild baselines 2026-05-07 15:50:58 +01:00
Meta Vens
672432f671 Reuse mesh for untouched CSG edits 2026-05-07 15:39:31 +01:00
Meta Vens
a158a3872f Add convex CSG incremental checkpoints 2026-05-07 15:14:39 +01:00
Meta Vens
8f6bdb48fc Add box CSG incremental dirty rebuild 2026-05-07 15:05:55 +01:00
Meta Vens
ef942ab0c1 Add CSG dirty frontier editing seam 2026-05-07 08:49:33 +01:00
Meta Vens
8c61d2fbf7 Add routed CSG scratch guardrails 2026-05-07 08:38:20 +01:00
Meta Vens
8f639d715b Add experimental routed CSG surfaces 2026-05-07 08:31:23 +01:00
Meta Vens
84371de2a2 Add CSG demand frontier counters 2026-05-07 08:20:25 +01:00
Meta Vens
587408c6fa Refine CSG spatial query doctrine 2026-05-07 07:58:05 +01:00
Meta Vens
76764870e9 Expose dirty CSG perf mode 2026-05-07 04:31:59 +01:00
Meta Vens
c793da0359 Speed up vg_csg stable builds 2026-05-07 03:50:05 +01:00
Meta Vens
8be5a99539 Get RealtimeCSG native bridge generating meshes 2026-05-07 03:28:33 +01:00
Meta Vens
71e2d823a7 Add direct RealtimeCSG native bridge probe 2026-05-07 02:39:41 +01:00
Meta Vens
f7df565813 Add CSG perf fixtures and polygon category splitting 2026-05-07 01:50:49 +01:00
Meta Vens
83fc507071 Advance CSG category kernel groundwork 2026-05-07 01:42:03 +01:00
Meta Vens
e0cbecf539 Add CSG tree API surface 2026-05-07 01:32:51 +01:00
Meta Vens
cc4bbaa635 Expand grammar and add CSG parity fixtures 2026-05-07 01:22:14 +01:00
Meta Vens
d754cda94e Distill realtime CSG doctrine 2026-05-07 00:32:26 +01:00
Meta Vens
7cb637edd2 Add convex CSG brush splitting 2026-05-07 00:20:58 +01:00
Meta Vens
379484f9fd Add Bevy-compatible CSG assembler 2026-05-07 00:08:17 +01:00