MapPanel had fixed pixel sizes and an 11pt font, so it ignored uiScale and
the Ctrl +/- zoom. It now multiplies all dimensions, strokes and the label
font by a scale set from uiScale x zoom in SwingIO.applyFonts().
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
AsciiMap sizes room boxes to the longest visible name (capped) so names
like 'Dark Hallway' are no longer truncated; connector centering follows.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Game now derives the MapView from the world each turn; GameTest gains a
real World (the per-turn map push needs it).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Side panel (map slot) now sizes to ~25% of window width, clamped to
[160, 320] scaled px, recomputed on resize — instead of a fixed width.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Java Swing does not reliably pick up desktop display scaling on every
Linux session (tiny text on HiDPI laptops). Detect the display scale from
the default GraphicsConfiguration transform (falling back to screen DPI)
and multiply all font sizes by it, plus the window size. Add live zoom via
Ctrl +/-/0 as a guaranteed manual override.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Semantic output model (Style/Span/StyledText) + RoomView/Hud views,
GameIO extended additively (write(String) stays as default), ConsoleIO
(ANSI + box-drawing, tiered glyph modes) and SwingIO (region layout,
JTextPane, bundled font) renderers, command + TestIO migration. Map,
menu, save, music explicitly deferred to later sub-projects.
Also: capture "don't overwhelm / distribute info across regions" and
"B baseline + ASCII for big moments" decisions in the backlog.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- decisions: standard collections only, libraries allowed
- main menu + settings + saved-games list
- save/load system
- GUI music: per-room via YAML, external folder, compressed + streamed
- game core: "restore the power" main goal, 5-piece mechanic spine,
quest chain routing the player room-by-room, condensed by design
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Living backlog of ideas to take the game beyond the required minimum:
richer presentation, nerd-font strategy, map, quest system, ~60-min
content expansion. No design committed yet.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>