Skip to content

v0.171.0 — ML-export hoist to OCCTSwiftIO

Choose a tag to compare

@gsdali gsdali released this 08 May 03:05
· 118 commits to main since this release
c65223c

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