The remastered sidebar art is already extracted but nothing draws it — the sidebar still renders the procedural meters.
What exists. tools/extract_remastered_sprites.py --category ui writes the power-meter segments and the in-progress / train / resource fill bars to <extracted>/sprites_remastered/ui/sidebar/. If you have run install-assets.sh, the PNGs are already on your disk.
What to do. Blit that art in the sidebar instead of the procedural bars, and fall back to the procedural drawing when ui/sidebar/ is not installed — exactly the pattern Rendering/GameCursorHD.swift already uses for the HD cursors (drawHDCursor tries the texture family first, drawProceduralCursor catches the miss). Copy its lazy-load-and-cache structure rather than inventing a new one.
Where. Game/GameSidebar.swift builds the sidebar model (the power color/low-power logic is around line 321); Rendering/GameRenderer.swift draws it (renderSidebar).
Why this is a good first issue. It is presentation only — no simulation state is touched, so the --determinism baselines cannot move. You need assets installed to see the result, but you cannot break the sim.
Not extractable, so do not go looking for them: the sidebar chrome/frame (vector/HTML in the remaster), the build cameos (never remastered — still classic SHPs), and the radial build-progress clock (a procedural shader). See the HD UI notes in CLAUDE.md.
Roadmap: Phase 4. Parity: the ⬜ "HD sidebar power/progress meters" row in docs/PARITY.md.
The remastered sidebar art is already extracted but nothing draws it — the sidebar still renders the procedural meters.
What exists.
tools/extract_remastered_sprites.py --category uiwrites the power-meter segments and the in-progress / train / resource fill bars to<extracted>/sprites_remastered/ui/sidebar/. If you have runinstall-assets.sh, the PNGs are already on your disk.What to do. Blit that art in the sidebar instead of the procedural bars, and fall back to the procedural drawing when
ui/sidebar/is not installed — exactly the patternRendering/GameCursorHD.swiftalready uses for the HD cursors (drawHDCursortries the texture family first,drawProceduralCursorcatches the miss). Copy its lazy-load-and-cache structure rather than inventing a new one.Where.
Game/GameSidebar.swiftbuilds the sidebar model (the power color/low-power logic is around line 321);Rendering/GameRenderer.swiftdraws it (renderSidebar).Why this is a good first issue. It is presentation only — no simulation state is touched, so the
--determinismbaselines cannot move. You need assets installed to see the result, but you cannot break the sim.Not extractable, so do not go looking for them: the sidebar chrome/frame (vector/HTML in the remaster), the build cameos (never remastered — still classic SHPs), and the radial build-progress clock (a procedural shader). See the HD UI notes in
CLAUDE.md.Roadmap: Phase 4. Parity: the ⬜ "HD sidebar power/progress meters" row in
docs/PARITY.md.