fda88fe75c695613c9fe584010abf6511f09e43c
Four of the five file-local helpers in BuildingSystem.cpp had duplicates elsewhere: isAutoRecipeBuildingType and isBeltSubsystemType were re-spelled as isAutoRecipeBuilding and isBeltLike in SelectedBuildingPanel.cpp, and outputBodyTile was copied verbatim as portBodyTile in GameWorldView.cpp. Same predicates, different names, so a change to one would silently not reach the others. The two BuildingType predicates move to BuildingType.h, which already hosts the free functions over that enum and is already included by both lib and ui. The port geometry moves to a new PortGeometry.h; inputBodyTile has no duplicate but is outputBodyTile's counterpart and belongs beside it — the sim moves items across the port edge and the renderer draws the virtual belt there, so the two must agree on which tile a port owns. inputLaneEntryFree stays file-local: single use, and tied to BeltItemSlot rather than to building types or port geometry. Verified the six moved bodies are character-identical to their originals. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YHcUerKAZKWNvSKJxYKbnG
Description
No description provided
Languages
C++
96%
CMake
2.2%
Python
1.2%
C
0.6%