LAYER2-agnostic rename candidates

The following proposal extends off of this discussion that looks to make LAYER2 parametric tools more IFC-class agnostic.

Extending this out further, perhaps the following could be changed as well.

Thoughts?

LAYER2-agnostic rename candidates

Names whose logic is already class-agnostic (they operate on placement +
axis + IfcMaterialLayerSetUsage, never the entity type) but whose name still
says "wall."
Generalizing them supports the direction of treating any AXIS2
LAYER2 element — IfcWall, vertical IfcCovering (siding/cladding), IfcPlate,
etc. — the same way.

Suggested generic names are just that — suggestions.

Predicates — tool/parametric.py

Current Could be
is_wall is_layer2_element
is_path_connectable_wall is_path_connectable_layer2
is_fillet_corner_wall is_fillet_corner

Geometry / mutation — tool/model.py

Current Could be
clip_wall_to_slab clip_layer2_to_underside
connect_wall_to_slab connect_layer2_to_underside
remove_wall_to_underside_booleans remove_underside_booleans
recreate_wall recreate_layer2_element
regenerate_wall regenerate_layer2_element
recalculate_walls recalculate_layer2_elements
get_wall_axis get_layer2_axis
get_connected_walls get_connected_layer2_objs
get_connected_slab_objs / get_connected_wall_objs generalize the wall / slab params
get_polygons_from_wall_axis get_polygons_from_axis

Core operations — core/model.py

Current Could be
extend_wall_to_slab (wall_objs / slab_objs) extend_layer2_to_underside
regenerate_wall_to_underside regenerate_layer2_to_underside
unjoin_walls unjoin_layer2_elements
classify_wall_join_state classify_join_state
wall_join_preview_lines join_preview_lines
resolve_extend_walls_target resolve_extend_target

Connections / queries / types — tool/wall.py

Current Could be
WallGeometry (TypedDict) Layer2Geometry
read_geometry (returns WallGeometry) keep name, generalize return type
iter_wall_slab_connections / iter_slab_wall_connections iter_layer2_underside_connections
find_wall_slab_rel find_layer2_underside_rel
wall_slab_connection_location_world layer2_underside_connection_location_world
walk_connected_walls walk_connected_layer2
compute_wall_fillet_geometry compute_fillet_geometry
has_layer2_usage, is_straight_axis already generic ✓

Operators / gizmos / decorators — bim/module/model/

Current Note
ExtendWallsToUnderside, RegenerateWallToUnderside, ExtendWallsToWall logic agnostic — but bl_idnames (bim.extend_walls_*) are public; renaming breaks keymaps/macros
_resync_walls_after_mutation _resync_layer2_after_mutation
_CommitWallDraftsFirstMixin / _commit_pending_wall_edits_for_selection drop wall
DumbWallJoiner joiner is axis-driven, not wall-typed
GizmoWallEdition the edit-gizmo group
regenerate_fillet_corner_wall regenerate_fillet_corner
WallAxisDecorator, WallSystemPathDecorator, WallFilletPreviewDecorator axis / path / fillet decorators, all agnostic

Caveat: public surface

The bl_idnames and the "wall" gizmo-pref key are public surface
renaming those is a breaking change (keymaps, saved prefs, any user scripts). So
the low-risk rename set is the internal Python predicates / helpers / types
above; the operator idnames are best left alone even as the concept generalizes.

steverugiGorgious
Sign In or Register to comment.