feat: integrate SimpleCADAPI 2.0.2 CAD workflows

This commit is contained in:
Jerry
2026-08-03 11:17:05 +08:00
parent b5738e9109
commit c3a0f269b7
481 changed files with 110229 additions and 12826 deletions
@@ -7,9 +7,12 @@ from simplecadapi.topology import (
TopoEvent,
TopoRef,
TopoEntry,
TopoRoleEntry,
TopoDelta,
OperationNode,
OperationGraph,
topo_delta_from_dict,
topo_delta_to_dict,
)
@@ -112,6 +115,54 @@ class TestTopoDelta(unittest.TestCase):
self.assertEqual(delta.deleted, ())
self.assertEqual(delta.section_edges, ())
def test_entries_are_canonical_and_preserve_output_and_source_kind(self):
source_ref = TopoRef("g1", "n1", 0, TopoKind.EDGE, "e_source")
output_ref = TopoRef("g1", "n2", 0, TopoKind.FACE, "f_output")
entry = TopoEntry(
ref=output_ref,
event=TopoEvent.GENERATED,
origin_role="profile",
parent_refs=(source_ref,),
metadata={
"derivation": "boundary",
"coverage": "complete",
"status": "proven",
"evidence_kind": "kernel_history",
"source_kind": "EDGE",
},
)
delta = TopoDelta(generated=(output_ref,), entries=(entry,))
self.assertEqual(delta.entries, (entry,))
self.assertEqual(entry.ref.kind, TopoKind.FACE)
self.assertEqual(entry.parent_refs[0].kind, TopoKind.EDGE)
self.assertEqual(entry.metadata["source_kind"], "EDGE")
self.assertEqual(
topo_delta_from_dict(topo_delta_to_dict(delta)).entries,
delta.entries,
)
def test_output_roles_roundtrip_independently_from_change_events(self):
source_ref = TopoRef("g1", "n1", 0, TopoKind.EDGE, "e_source")
output_ref = TopoRef("g1", "n2", 0, TopoKind.FACE, "f_output")
role = TopoRoleEntry(
ref=output_ref,
role="Extrusion.Side",
origin_role="profile",
parent_refs=(source_ref,),
metadata={
"coverage": "complete",
"status": "proven",
"evidence_method": "Generated",
},
)
delta = TopoDelta(roles=(role,))
restored = topo_delta_from_dict(topo_delta_to_dict(delta))
self.assertEqual(role.role, "extrusion.side")
self.assertEqual(restored.roles, (role,))
self.assertEqual(restored.entries, ())
class TestOperationNode(unittest.TestCase):
def test_creation(self):