You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Engineering carry-overs surfaced during M7b (v0.2.2) implementation/review. None affect v0.2.2 behavior at defaults; recorded for later.
Cross-session dedup: Model.opening_definitions is a session-runtime dedup registry (identical (kind,w,h,depth) share one Component). It is not persisted, and it is now reset on document swap (load_from). Persisting/rebuilding it so a placement after save/reload reuses an existing Definition is a follow-up.
Model.pick_face_local normal under non-uniform scale: the returned face normal uses the instance transform's linear block (inst.transform[:3,:3]), exact for rigid/uniform-scale hierarchies (all M7b walls/openings) but only approximate under a non-uniformly-scaled ancestor. Upgrade to the inverse-transpose of the linear block. (Documented in the method's docstring.)
CreateWallCommand instance bookkeeping: has the same do/undo shape that leaked Definition.instances in PlaceOpeningCommand (fixed in M7b to mirror CreateInstanceCommand). It is benign for walls because each wall gets its own unshared Definition, but worth aligning for consistency.
opening_frame depth clamp: when depth < infill thickness (0.04 m door panel / 0.006 m window glazing), the panel/glazing box protrudes past the flush outer face. Not reachable at the 100 mm default, but the Depth field only checks > 0. Clamp depth >= profile/infill.
Engineering carry-overs surfaced during M7b (v0.2.2) implementation/review. None affect v0.2.2 behavior at defaults; recorded for later.
Model.opening_definitionsis a session-runtime dedup registry (identical (kind,w,h,depth) share one Component). It is not persisted, and it is now reset on document swap (load_from). Persisting/rebuilding it so a placement after save/reload reuses an existing Definition is a follow-up.Model.pick_face_localnormal under non-uniform scale: the returned face normal uses the instance transform's linear block (inst.transform[:3,:3]), exact for rigid/uniform-scale hierarchies (all M7b walls/openings) but only approximate under a non-uniformly-scaled ancestor. Upgrade to the inverse-transpose of the linear block. (Documented in the method's docstring.)CreateWallCommandinstance bookkeeping: has the same do/undo shape that leakedDefinition.instancesinPlaceOpeningCommand(fixed in M7b to mirrorCreateInstanceCommand). It is benign for walls because each wall gets its own unshared Definition, but worth aligning for consistency.opening_framedepth clamp: whendepth < infill thickness(0.04 m door panel / 0.006 m window glazing), the panel/glazing box protrudes past the flush outer face. Not reachable at the 100 mm default, but the Depth field only checks> 0. Clampdepth >= profile/infill.OpeningOptionsBarshares the display-only unit-resync staleness on Units-menu change / New / Open tracked in M7a review carry-overs: options-bar unit resync + test/polish niceties #89 forWallOptionsBar(self-heals on next tool switch/edit).