mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-19 19:54:07 +00:00
3e0978062f
test_parametric_lifecycle.py covers the door/window/railing/roof state-transition contracts (enable/finish/cancel; no-op on non-matching elements; draft preserved on finish-time failure) that the registry smoke test never exercised. test_parametric_registry.py gains a check that every is_<name> predicate stays total (never raises on a non-matching IFC entity) — a raising predicate would break the save path for unrelated types. Also rewrites the gizmo-prefs check to read __annotations__ instead of hasattr, which depended on Blender registration timing. Generated with the assistance of an AI coding tool.