docs: spec for presentation/output layer (sub-project 1)

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>
This commit is contained in:
2026-05-31 20:06:36 +02:00
parent 0b9f55d0b1
commit 230177dfb5

View File

@@ -26,6 +26,19 @@ alle Phasen 17 grün. Ziel: deutlich mehr Tiefe und Politur.
- **GUI (Swing)**: mehr als ein `JTextArea` Farben, Stile, evtl. Panels, - **GUI (Swing)**: mehr als ein `JTextArea` Farben, Stile, evtl. Panels,
Statusanzeige, Bilder/Icons. Statusanzeige, Bilder/Icons.
**Festgelegt (Zielbild Konsole):** Stufe **B als Baseline** (Boxed Heading,
gelabelte Sektionen, persistente HUD-Zeile: Ort · Gold · Zug · Licht), **ASCII-Art
nur für große Momente** (Spielstart, Finale, Schlüsselräume). Semantische
Farb-Rollen: Items / NPCs / Exits / Heading / Gefahr.
**Designprinzipien:**
- **Nicht überladen / Progressive Disclosure** Raumeintritt zeigt nur das
Wesentliche (Ort, kurze Beschreibung, Auffälliges); Details auf Abruf
(`examine`, `look`).
- **Info auf Regionen verteilen statt Text stapeln** die **Karte ersetzt die
„Exits:"-Zeile**. GUI: persistentes Map-Panel macht die Exit-Zeile überflüssig.
Konsole: kompakte Mini-Map (bei `map` bzw. knapp beim Raumeintritt).
### 2. Nerd Fonts / Glyphen das Installationsproblem ### 2. Nerd Fonts / Glyphen das Installationsproblem
- Nerd-Font-Glyphen (Icons) sehen gut aus, müssen aber auf dem System des - Nerd-Font-Glyphen (Icons) sehen gut aus, müssen aber auf dem System des