# Projektstand — SLC-Workshop Tabletop (Übergabe / Wiedereinstieg)

**Zweck dieses Dokuments:** Schneller, nahtloser Wiedereinstieg (auch in einem neuen
Chat). Hier steht, **wo wir stehen, was entschieden wurde, was offen ist** und wie man
App lokal startet/deployt.

**Stand:** 2026-06-06 · **Branch:** `feat/redesign-und-companion-app` · **HEAD:** `3647129`
**Remote:** `https://git.1789.cloud/patrick/SLC_Game.git`

---

## 1. Worum geht's
Haptisches Workshop-Format für Stadt Freiburg / DIGIT, das den **Service-Lifecycle**
(Design → Transition → Operation ⇄ Support → Review) erlebbar macht. Zielgruppe:
Operations/Service-Owner/Support. Mix aus **Vermittlung** (Lifecycle + Stationen) und
**Simulation** echter Change-Fälle. Spielelemente: **3D-Teile, Figuren, Companion-App**.

## 2. Repo-Überblick
| Ordner | Inhalt |
|--------|--------|
| `00_Konzept/` | Gesamtkonzept (`README_konzept.md`, v0.5) + Arbeitsstand-Notizen |
| `01_3D-Druck/` | Materialliste, OpenSCAD-Modelle, Board-Layout-Generator, Visual-Prompts |
| `02_Spielfiguren/` | Rollen-Figuren (38), Farbcodierung, Gate-Besetzung |
| `03_Karten/` | Action/Störungs/Artefaktkarten, Service-Akte, Entscheidungs-Chips |
| `04_Tablet-Quiz/` | **Companion-App** (`app/` = deploybare PWA) + Konzept |
| `05_Workshop-Dokumentation/` | Logbuch, Reflexion, Debrief |

## 3. Aktueller Stand pro Bereich

### 3D / Hardware (`01_3D-Druck/`)
- **Bahn = runde Pucks Ø100 × 6 mm**, lose ausgelegt (keine Magnete, keine
  Steckverbindung, keine Verankerung). **Ein Modell** `openscad/puck.scad` für
  Station (Phasenfarbe) **und** Gate (rot) — Unterschied nur Farbe + Etikett.
  Je Puck: **7 Figurenmulden Ø22** + **Mittenmulde Ø37,5** für ein **Rundetikett Ø37**.
- **Phasen-Ring:** 5 Segmente (Ø180/Ø84 × 6 mm), Bibliothek `phasen-ring.scad` +
  5 druckfertige Einzeldateien `phasen-ring-<design|transition|operation|support|review>.scad`.
  Graviert: Icon (oben) + Phasenname. Zusammengesteckt = Übersicht, einzeln = Bahn-Köpfe.
- **Aktiv-Feld (RACI):** quadratisch **2×2 (R|A / C|I), 130×130 mm**, Standfelder Ø22.
- **Entfernt** (Git-Historie): Action-Stein, Gate-Tor, Gate-Tile, eckige Tiles,
  Ø60-Scheiben, Gate-Karte.
- **Etikett-Hinweis:** Ø37 ist **kein Avery-Standard** → Bezugsquelle vor Druck prüfen.

### Karten (`03_Karten/`)
- **Action Cards:** 24 finale Grafiken (Freiburg-digital-Layout) liegen in
  `04_Tablet-Quiz/app/cards/s<service>-c<change>.png` (6 Services × 4 Change-Arten).
- **Artefaktkarten A1–A15 + Service-Akte** (Tableau, liegt **neben der aktuellen Station**).
- **Entscheidungs-Chips** (Go / Auflagen / Zurück / Ablehnung). **Keine Gate-Karte mehr**.

### Companion-App (`04_Tablet-Quiz/app/`) — statische PWA
**Flow:** Karten-Raster (Action Card ziehen) → **Change-Art klassifizieren** (Legende,
„nochmal" bis richtig) → **Phasen-Einstieg** (Lebenszyklus-Phase anklicken, retry) →
**Stationen** → **Abschluss-Screen** („abgeschlossen" oder „abgelehnt").
- **Aktivitäts-Station, 2 Takte:** „Handeln am Brett" → „Auflösung & Abgleich".
  **Figuren-Regel (zweistufig):** (1) beteiligte Rollen auf die **Mulden des
  Station-Pucks** stellen, (2) dieselben Figuren ins **Aktiv-Feld (R·A·C·I)**
  einsortieren = RACI-Antwort. Artefaktkarte in die Akte; „Zeig mir"-Hilfe.
- **Gate-Station interaktiv:** Kriterien prüfen → Entscheidung → Konsequenz +
  **Verzweigung**. **Echte Rückschleifen:** „Zurück an Build/Transition" springt
  zurück, blendet einen Nacharbeits-Banner ein und legt das Gate danach **erneut**
  vor (Hinweis „Erneute Vorlage"). „Ablehnung" → eigener **End-Screen** (SOR-Eskalation).
  (z. B. Gate 1 „Konfiguration" → `tr_05`; SOR→DPM→Mission Board.)
- **Kein App-Debrief mehr:** Der Export-Dialog (Markdown/JSON) wurde entfernt; das
  Workshop-**Debriefing am Tisch** bleibt (im Done-Screen erwähnt).
- **4 Change-Arten** (Major/Normal/Standard/Emergency), 24 Karten. Multiple-Choice
  ist aus dem Hauptfluss raus (Daten liegen noch in `index.html`, ungenutzt).
- **Inhalte sind in `index.html` eingebettet** (noch keine YAML-Pipeline).
- **Deploy:** statisch, siehe `04_Tablet-Quiz/app/DEPLOY.md`.

### Figuren (`02_Spielfiguren/`)
38 Figuren (16 Rollen × 2 + 3 Teams × 2). **DPM** ist in der App-Rollenliste ergänzt.

## 4. Wichtige Entscheidungen & Arbeitsstände

**Kanonisch / stabil:**
- Puck-System statt Tiles; ein STL für die Bahn; Beschriftung via Etikett.
- Aktiv-Feld 2×2; Phasen-Ring; keine Magnete; kein Action-Stein.
- **Figuren-Regel (zweistufig):** Station-Puck-Mulden = „welche Rollen sind beteiligt?",
  Aktiv-Feld (R·A·C·I) = „wie ist die RACI?". An Gates: Pflicht-Figuren am Gate-Puck.

**Workshop-Arbeitsstand — bewusst NICHT im Blueprint-YAML und NICHT im kanonischen
Konzept (`00_Konzept/README_konzept.md`), bis Rückkopplung mit Michael:**
- **Review-Phase = Franks 5 Aktivitäten** (Change-Enablement) statt bisher 6. Umgesetzt
  in App + `materialliste.md` + `board-layout` (→ 39 statt 40 Positionen, 36 Station-Pucks
  +1 Reserve). Konzept-README zeigt noch 6/40.
- **Change-Arten auf 4 zusammengeführt** (Top/Low Major → ein „Major"); Begründung
  ITIL 4 (Major = Normal mit höherer Authority) + YASM (lean).
- **MB = Mission Board.** SOR-Routing am Change: **RUN / DPM / MB**. Eskalations-
  Kriterium: Reicht die **Ressourcen-/Entscheidungshoheit der SOR** nicht → **Demand**
  über DPM ans **Mission Board** (= DPM-Rücklauf).
- Details/Quelle: `00_Konzept/review-phase_arbeitsstand-frank.md`.

## 5. Offene Punkte / nächste Schritte
- [x] **Figuren-Regel festgezurrt** (zweistufig: Puck = beteiligte Rollen, Aktiv-Feld =
  RACI). In der App umgesetzt. **Offen:** in `materialliste.md` / `board-layout` /
  `README_konzept.md` nachziehen.
- [x] **Echte Gate-Rückschleifen** umgesetzt (Nacharbeits-Banner + erneute Gate-Vorlage;
  Ablehnung → End-Screen). **Offen ggf.:** Auflagen-Pfad sichtbar vom reinen „Freigabe"
  unterscheiden (verhält sich aktuell identisch = weiter).
- [x] **App-Debrief entfernt** (Punkt „Pfadlänge X/39" damit hinfällig).
- [ ] **MC-Quiz** optional als „Wissens-Check" reaktivieren? (Daten sind noch da.)
- [ ] **YAML→Inhalts-Pipeline** (Stationsdaten aus `service-lifecycle_*.yaml`) — **braucht Zugriff aufs Blueprint-Repo**.
- [ ] Nach **Michael-Freigabe:** kanonisches Konzept (`README_konzept.md`), YAML und ggf. `bauteile-masse.svg`/`visual-prompts` final nachziehen.
- [ ] Mit Frank/Michael klären: **Retirement/Außerbetriebnahme** (alt rv_06) in Franks Review, Vokabular-Abgleich, **RACI/Quiz der Review-Phase fachlich prüfen** (in App abgeleitet).

## 6. Workflow & Betrieb

### Git / Deploy
- Arbeit auf Branch **`feat/redesign-und-companion-app`** (direktes Pushen auf `main`
  ist per Policy gesperrt → Feature-Branch + Merge).
- **Push** braucht deine Credentials (Git Credential Manager, interaktiv) — der Agent
  kann nicht selbst pushen. Ablauf: *Agent committet → du `git push` → mergen → Server-Claude deployt.*
- **Deploy** macht die Claude-Instanz auf dem Server anhand `04_Tablet-Quiz/app/DEPLOY.md`
  (statisches Hosting des Ordners `04_Tablet-Quiz/app/` über HTTPS).

### App lokal testen
```
python -m http.server 8099 --directory 04_Tablet-Quiz/app
# dann http://127.0.0.1:8099  (oder Preview-Config .claude/launch.json)
```
- **Bei Updates:** Service-Worker-Cache leeren bzw. in `app/sw.js` `CACHE`-Version
  hochzählen, sonst lädt der Browser die alte Version.

### Hinweise für den (nächsten) Agenten
- **OpenSCAD** ist installiert → Modelle via CLI rendern/prüfen (`Simple: yes`).
- **Preview-Renderer (MCP)** kann in dieser Umgebung hängen → App-Änderungen sonst
  per `node --check` (Syntax) + kleinen Node-Datenchecks verifizieren.
- Große Daten-/Funktionsänderungen in `app/index.html` wurden per **kleinen
  Python-Splice-Skripten** gemacht (wegen vieler Sonderzeichen) — Muster im Chatverlauf.
- **Commit-Stil:** prägnante deutsche Messages; Footer `Co-Authored-By: Claude …`.
