Background
vcad-crdt merges the feature DAG at parameter granularity (LWW HLCs) — no geometric awareness. Two branches that are parametrically different but geometrically equal look like conflicts; concurrent adds that geometrically overlap aren't detected. Uniquely aligned with vcad's AI-native identity and already ~70% built.
Deliverables
- New
crates/vcad-kernel-diff/:
diff_brep(a, b) -> BRepDiff — added/removed/modified faces with volume + surface-area deltas
- Topology-aware matching (persistent IDs from the associative-drawings issue, Hausdorff fallback)
- App: side-by-side compare view with coloured overlay (red=removed, green=added, yellow=changed)
- Use diff as merge-conflict detector in
vcad-crdt
- Hook into Supabase
document_versions — "Compare with v12" button
Use cases
PR reviews on .vcad, Supabase version-history visual compare, AI edit validation.
Reference. NX "compare bodies", Onshape "compare workspaces".
Background
vcad-crdtmerges the feature DAG at parameter granularity (LWW HLCs) — no geometric awareness. Two branches that are parametrically different but geometrically equal look like conflicts; concurrent adds that geometrically overlap aren't detected. Uniquely aligned with vcad's AI-native identity and already ~70% built.Deliverables
crates/vcad-kernel-diff/:diff_brep(a, b) -> BRepDiff— added/removed/modified faces with volume + surface-area deltasvcad-crdtdocument_versions— "Compare with v12" buttonUse cases
PR reviews on
.vcad, Supabase version-history visual compare, AI edit validation.Reference. NX "compare bodies", Onshape "compare workspaces".