v0.7.1 — boolean JSON decoder + step-aware bends
v0.7.1 — pick up upstream fixes for boolean JSON decoder + step-aware bends
Patch release. Bumps OCCTSwift from: "0.152.0" → from: "0.153.0" to pick up two upstream fixes that close gaps flagged in v0.6.0 and v0.7.0. No verb API change.
Changes since v0.7.0
reconstruct: boolean JSON entries now reach the kernel — OCCTSwift v0.152.1 (closing OCCTSwift#88) added the missingcase "boolean":decoder branch. Explicit{"kind":"boolean", "op":"subtract", "left":"@input", "right":<id>}entries previously fell through todefault: spec = niland were silently dropped; they now correctly driveapplyBoolean. Verified by re-running the v0.7.0 cuts smoke fixture: pre-fix the boolean was invisible (fulfilled: ["slot1"], output unioned 8052 bytes); post-fix it lands (fulfilled: ["slot1", "cut_slot1"], output subtracted 7243 bytes). Non-circular pocket cuts via JSON booleans against@inputnow work end-to-end.reconstruct: unknownkindstrings surface as skips — OCCTSwift v0.152.1 also makes the JSON decoder record anunsupportedskip for unknownkindvalues that carry anid, instead of silently swallowing them. Typos and version-drift schemas are now visible in the response envelope.compose-sheet-metal: stepped seams now build — OCCTSwift v0.153.0 (closing OCCTSwift#86) madeSheetMetal.Builderstep-aware. Narrow-tab-on-wider-base, U-channel, and Z-bracket fixtures that previously threwBuildError.filletFailednow build cleanly. The matched-extent path (what v0.151 / v0.6.0 already handled) is unchanged — verified by re-running the v0.6.0 L-bracket smoke fixture: byte-identical 5879-byte BREP under v0.153.- Doc cleanup — drops the OCCTSwift#88 gap warning from
Reconstruct.swift's header and CLAUDE.md, and updates thecompose-sheet-metalblurb to reflect the v0.153 step-aware behaviour. New v0.153 errorsseamsDoNotOverlap/nonRectangularStepFlangeare noted for the residual edge cases.
Dependency
OCCTSwift: from: "0.152.0" → from: "0.153.0". Resolves to 0.153.0.
Downstream
- OCCTDesignLoop's describer-side seam-padding workaround (called out in OCCTSwift#86's release notes) can go away — actual described flange dimensions now build directly.
- Consumers of
reconstructwho wanted non-circular pocket cuts no longer need to compose them via successiveholes or work around withcompose-sheet-metal-like verbs. OCCTSwiftPartsAgentsemver pinfrom: "0.6.0"orfrom: "0.7.0"picks this up automatically (0.7.1 < 1.0.0).