feat(kernel): an edge's meeting sides are sets of origins (merged faces)
EdgeOrigin::Meet now names each side as a Side: the sorted, de-duplicated origins of the face there. substitute maps a side to the union of the inner faces' origins, so a meeting with a face an inner operation merged keeps its lineage; meeting() derives sides from whole faces. Fillets after box cuts that leave coplanar pieces now report exact history. Prism lineage meets a cap of several origins and resolves wall junctions away from shared vertices by the operand's one edge between the walls. bore_union's recut reports history only for a one-face bore (pieces of a two-arc bore's recut wall were given both arcs). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J53sR6gEaVt56soFDpTck8
This commit is contained in:
1 parent
08d7037176
commit
43ddde4a5d
11 files changed
+347
-76
No files matched your search
@@ -446,7 +446,7 @@ impl HealMap {
|
||||
.map(|(id, under)| {
|
||||
let mut origins = BTreeSet::new();
|
||||
for i in under {
|
||||
origins.extend(edges.get(*i)?.iter().copied());
|
||||
origins.extend(edges.get(*i)?.iter().cloned());
|
||||
}
|
||||
Some((*id, origins.into_iter().collect()))
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user