mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
2f40441f1c
Declares the bpy-free contract for tool services landing in subsequent commits — tool.Wall, tool.Array, tool.System, tool.Duplicate (extracted from tool.Root), tool.Parametric, plus minor additions on existing interfaces (tool.Spatial.get_host_element / get_host_wall, tool.Geometry.has_axis_representation / has_material_styles, tool.Surveyor.get_z_rotation / set_z_rotation). The @interface declarations are empty-bodied; concrete implementations land in the per-service tool/* commits below. Keeping the contract in core lets core/* helpers and tests reference the surface without importing the concrete tool modules. Moves get_decomposition_relationships + recreate_decompositions off tool.Root onto the new tool.Duplicate (extraction of duplicate-aware behaviour into its own service). Generated with the assistance of an AI coding tool.