v0.171.0 — ML-export hoist to OCCTSwiftIO
v0.171.0 — ML-export hoist to OCCTSwiftIO
Breaking change. The consumption-side ML repacking layer added in v0.136.0 (TopologyGraph.GraphExport, exportForML(), exportJSON()) has been removed from the kernel and lifted to OCCTSwiftIO v0.2.0 per OCCTSwiftIO#1 (supersedes #71). Pure batch / headless workflow with no Viewport dependency — fits the OCCTSwiftIO charter, doesn't need to live in the kernel.
What stays in the kernel (and why)
FaceGridSample, sampleFaceUVGrid(faceIndex:uSamples:vSamples:), and sampleEdgeCurve(edgeIndex:count:). Their implementations call C bridge functions on TopologyGraph.handle, which is internal to this module. Lifting them would require widening visibility — explicitly out of scope per the partial-lift decision recorded on the issue.
Consumer migration
Direct callers of exportForML / exportJSON must add import OCCTSwiftIO alongside import OCCTSwift. Symbol resolution otherwise unchanged. Known external callers swept: OCCTSwiftScripts/Sources/occtkit/Commands/GraphML.swift, OCCTSwiftScripts/Sources/GraphML/main.swift.
Binary
xcframework binary is unchanged from v0.170.0 (no bridge changes). SPM consumers pinned via Package.swift continue using the v0.170.0 asset URL — no checksum bump needed.
Net deltas: −124 LOC in BRepGraph.swift, −76 LOC in ShapeTests.swift.
🤖 Generated with Claude Code