3272431353aa468de7369e5dc96585cfc149410f
gatherCandidateRecipes, recipeInputsAvailable, computeShipyardRequiredMaterials, hasInputsToStart and getProductionStatus read no factory state — they answer "what can this building produce, and can it start" from the config and the Building alone. They move to ProductionRules.h as free functions, and the ProductionStatus enum goes with them since it is that group's return type. Two of the five are pure in their arguments; the other three need GameConfig through gatherCandidateRecipes and computeShipyardRequiredMaterials, so config is a parameter rather than the group being split across two headers. Only two callers outside BuildingSystem existed — the status light in GameWorldView and one test lambda — so this is nearly all internal. Verified with a golden-checksum capture before and after — all four sample ticks identical. 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%