94b5d941ba9ed58fa6e5c0c6857aa927e4e88d1a
Option A made the per-tick refresh authoritative for the shipyard layout preview and Configure Layout button, but that path is driven by TickAdvancedEvent, which only fires while the game is running. Choosing a schematic while paused therefore still left the widgets hidden until the game was unpaused or the building re-selected, because the queued SetRecipeCommand drains on the next frame but no tick advances. Emit a new PlayerCommandsAppliedEvent from GameWorldView::onFrame once per frame when queued commands were drained, and have SelectedBuildingPanel refresh its selection display in response. This is a presentation-only notification: it is emitted only on the live path (not during replay playback), touches neither the command queue nor the simulation, and its only handler never enqueues commands -- so replay recording and determinism are unaffected. Factor the former TickAdvancedEvent handler body into refreshSelectionDisplay() and call it from both handlers to avoid duplication. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
Description
No description provided
Languages
C++
96%
CMake
2.2%
Python
1.2%
C
0.6%