v0.2.6
ADR 0011 — the IR as a public input: declare features, don't only detect them. Detection stays the default, but you can now supply the feature model, so a part you built parametrically reads as its own drawing and misdetection becomes recoverable by construction. Plus the first Phase-2 aspect layer (tolerances + fits).
Added
build_drawing(part, model=…)accepts a caller-suppliedPartModel/Sequence[Feature]; detection is skipped and the auto-pass dimensions the declared features (#447).- Object→feature constructors
hole/boss/step/slot/pattern/envelope— read a feature's geometry off the build123d object, or explicit values (#447). - The fluent
Sheetfaçade (draftwright.Sheet), withSheet.from_part()seeding the hybrid override mode from detection (#447). - Toleranced dimensions — a ±/limit tolerance on a diameter/step/hole bore (
Sheet.tolerance(...)) (#28). - Fit-class deviation —
Sheet.fit("H7")resolves an ISO 286 fit to its deviation, rendered as the class code (ø20 H7) or signed deviations (show="deviation") (#29).
Changed
- Object constructors honour explicit overrides + validate invalid input at declaration (#451, #452).
- A declared hole/pattern renders at its declared position even where detection missed it (#448).
Sheet.model()/from_part()no longer build a full drawing just to return the IR (#453).
Fixed
- A narrow diameter band hidden under a larger OD silhouette is no longer silently undimensioned (#298).
Full changelog: CHANGELOG.md