a86ba3428a1dc0831ec1f8804aabd4476f44089a
DeconstructionSystem takes over the demolition queue: it runs the front entry's timer and, when it elapses, removes the building, releases its tiles and credits the partial refund. Simulation::tick calls it directly, in the position tickDeconstruction held. It needs no BeltSystem, unlike its construction counterpart: a belt, splitter or tunnel end is unregistered the moment it is queued, not when the timer completes. It does need the refund sink, so it takes the same addBuildingBlocks callback BuildingSystem holds. startFrontDeconstruction becomes a shared free function rather than moving: BuildingSystem::deconstruct starts the timer when it queues the first entry, and the system restarts it after each completion. Stubbing the refund sink out in the test helper made two tests fail on the refund not arriving — correctly. runTicks now threads the caller's stock through instead. 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%