dbabc3a563
float the build buttons as a horizontal bar over the game world
...
Renames REQ-UI-BUILD-GRID to REQ-UI-BUILD-BAR: the build buttons move out
of the side panel column into a widget floating at the bottom center of the
game world view, as a single non-wrapping row. Buttons become icon-only with
a cost, so the building name moves into the hover tooltip and the missing-icon
fallback becomes a name caption. Deconstruct is the last entry, separated by
a gap. The side panel column is now two equal-height panels.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01JcReq7hVk4KUPhTDKWAG7K
2026-08-06 07:09:40 +02:00
f39fe9a118
move the debug stats panel out of the renderer
2026-08-05 22:14:55 +02:00
e5dcb9de5f
extract WorldRenderer
2026-08-05 22:14:55 +02:00
dc83add5c6
move two placement queries out of the view into PlacementRules
2026-08-05 22:14:54 +02:00
3a1951559d
share the world shapes both views (game and balancing) draw identically
2026-08-05 22:14:54 +02:00
26d7448492
extract BuildModeController, fixing a silent blueprint exit
2026-08-05 22:14:54 +02:00
202f583067
extract SelectionController
2026-08-05 22:14:54 +02:00
d5ab44b9bf
move the remaining hotkeys into the InputMapper
2026-08-05 22:14:53 +02:00
bb1ffab8fc
fix a bug where view continues to pan when window lost focus while panning
2026-08-05 22:14:53 +02:00
e1445fe508
move the already-event-driven hotkeys into the InputMapper
2026-08-05 22:14:53 +02:00
caa810f66d
move pan input into an InputMapper
2026-08-05 22:14:53 +02:00
f6df95abb2
extract the scroll position into WorldCamera
2026-08-05 22:14:52 +02:00
fa9dbd62ad
use WorldCoordinates in ArenaView too
2026-08-05 22:14:52 +02:00
2af09d9eb1
extract the world<->widget transform into WorldCoordinates
2026-08-05 22:14:52 +02:00
4f7fdb8a4c
add tone, critique and class layout rules to CLAUDE.md
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01JcReq7hVk4KUPhTDKWAG7K
2026-08-05 22:14:37 +02:00
949937d2c2
re-use PlacementFixture in BuildingTests
2026-08-05 07:53:08 +02:00
4c166bf47f
depend on the registry instead of DebrisSystem in the AI path
2026-08-05 07:25:59 +02:00
60260540cd
make deconstruction its own system
2026-08-05 07:10:46 +02:00
1f4503176b
make construction its own system (extracted from BuildingSystem)
2026-08-05 06:57:12 +02:00
fd85e8e10a
free the buffer setup and belt registration from BuildingSystem
2026-08-05 06:55:13 +02:00
114a43b205
make BuildingSystem stateless: FactoryState becomes a parameter
2026-08-05 06:50:11 +02:00
d87d063b10
move the placement rules and the config-dependent queries off BuildingSystem
2026-08-05 06:49:49 +02:00
537597c854
delete the unused getAllBeltTiles and BeltTileInfo
2026-08-05 06:49:28 +02:00
9c3be0fbd0
extract the production rules as free functions over config and building
2026-08-05 06:49:15 +02:00
58b94223f7
migrate every factory query off BuildingSystem onto the free functions
2026-08-05 06:46:13 +02:00
1fb63cce4e
move the asteroid width bound into FactoryState
2026-08-05 06:45:33 +02:00
0b7e94b4e4
drop CombatSystem's unused BuildingSystem parameter
2026-08-05 06:45:16 +02:00
0408336cf9
depend on factory data instead of BuildingSystem in the AI path
2026-08-05 06:44:49 +02:00
46932e4abf
move FactoryState ownership out of BuildingSystem to Simulation
2026-08-05 06:43:52 +02:00
0edea5d961
gather the factory's world data into FactoryState
2026-08-05 06:43:30 +02:00
60cc187d92
add BuildingGrid to manage tile occupancy
2026-08-04 18:26:01 +02:00
3990351a16
share BuildingSystem's free functions instead of copying them
2026-08-04 18:24:38 +02:00
bd344e4fbe
add FieldSelectionPanel for extracting the ships/stations/debris selection
2026-08-04 18:23:28 +02:00
64c344c3a3
correct the belt subsystem interface description in architecture.md
2026-08-04 18:12:02 +02:00
02c7fed9b4
allow "auto" for named local lambdas and iterator types via claude.md
2026-08-04 18:11:37 +02:00
5d4a975384
cover unlock state in the determinism tests
2026-08-04 18:11:03 +02:00
475df0e5fd
extract unlock state from Simulation to UnlockState class
2026-08-04 18:10:43 +02:00
61634f6fd2
move the shared TOML helpers into the utility namespace to avoid name collisions
2026-08-04 18:05:52 +02:00
c8ff7da345
extract load methods into their own files
2026-08-04 18:05:27 +02:00
d664ab54cc
extract shared TOML helpers into TomlHelpers.h/.cpp
2026-08-04 18:02:23 +02:00
906000b0e9
drop the dead payloads from the state-change events
2026-08-03 22:02:47 +02:00
d9ef6aa728
make HeaderBar read the tick, artifacts and boss wave from the simulation instead of event
2026-08-03 22:02:19 +02:00
b44a85685e
make BlueprintPanel read the block stock from the simulation instead of event
2026-08-03 22:02:05 +02:00
edd1c31785
remove duplicate findModuleDef from ShipLayoutPreview
2026-08-03 22:00:25 +02:00
785ce3ebfe
remove duplicate findBuildingDef from BuildingSystem
2026-08-03 21:14:13 +02:00
7017f8b4dc
route the win-path restart through ResetCommand
2026-08-03 21:13:43 +02:00
77a842f884
dedupe AttackExecutor and RepairExecutor via executeOrbitAndAssign
2026-08-03 21:13:24 +02:00
d5ba72d554
add ModalPauseScope for the pause-around-modal idiom
2026-08-03 21:11:52 +02:00
83177729e9
extract MainWindow::reloadConfig
2026-08-03 21:11:02 +02:00
a8e933b7f2
drop EntityAdmin::add in favour of addComponent
2026-08-03 21:09:18 +02:00