Skip to content

v0.7.1 — boolean JSON decoder + step-aware bends

Choose a tag to compare

@gsdali gsdali released this 25 Apr 10:33
· 151 commits to main since this release
404c191

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 missing case "boolean": decoder branch. Explicit {"kind":"boolean", "op":"subtract", "left":"@input", "right":<id>} entries previously fell through to default: spec = nil and were silently dropped; they now correctly drive applyBoolean. 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 @input now work end-to-end.
  • reconstruct: unknown kind strings surface as skips — OCCTSwift v0.152.1 also makes the JSON decoder record an unsupported skip for unknown kind values that carry an id, 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) made SheetMetal.Builder step-aware. Narrow-tab-on-wider-base, U-channel, and Z-bracket fixtures that previously threw BuildError.filletFailed now 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 the compose-sheet-metal blurb to reflect the v0.153 step-aware behaviour. New v0.153 errors seamsDoNotOverlap / nonRectangularStepFlange are 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 reconstruct who wanted non-circular pocket cuts no longer need to compose them via successive holes or work around with compose-sheet-metal-like verbs.
  • OCCTSwiftPartsAgent semver pin from: "0.6.0" or from: "0.7.0" picks this up automatically (0.7.1 < 1.0.0).