Dev Lab bündelt mehrere Disziplinen (SQL, Java/Debugging, Git, HTML, CSS, Regex,
PHP, REST) in 11 Spielen mit zusammen 189 Aufgaben. Im Gegensatz zur ersten,
rein clientseitigen Skizze jetzt server-autoritativ, DB-gestützt und im Admin
pflegbar – mit echter Mechanik-Vielfalt statt überall Lückentext:
cloze (Lücke tippen), choice (Multiple Choice), order (Bausteine zusammensetzen),
spot (Bug anklicken), match (Paare zuordnen), regex (Muster schreiben mit
Live-Treffer-Vorschau).
Prüfung und Score ausschließlich serverseitig – die Lösungen verlassen nie das
Backend; Eingabe-Platzhalter sind neutrale Labels (Lösungs-Leak behoben).
Fehler-Mechanik mit Versuchen + Hinweis + Auflösung, kein Game-Over; Score über
die generische game_scores-Tabelle (Kennung devlab, deck=Spiel-Slug).
- Entities DevLabGame/DevLabTask (JSON-payload) + Flyway V8__devlab.sql
- DevLabService mit sechs Mechanik-Checkern; API /api/devlab/** (CSRF-ausgenommen,
devlab in KNOWN_GAMES)
- Admin /admin/devlab (Spiele + Aufgaben pflegen); polymorphe Frontend-Engine
devlabgame.js + DB-getriebener Hub devlab.js
- Inhalte aus devlab/content.json (idempotenter Seeder); ersetzt die erste
clientseitige Dev-Lab-Skizze (devlab.js/devlabgame.js/-game.html/-game.css neu)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drittes Mindflux-Spiel: interaktive IT-Geschichten, in denen man den
fehlenden Code (Schlüsselwörter, Operatoren, ganze Zeilen) in eine kleine
Story tippt. Freitext-Eingabe, drei wählbare Stufen (Junior/Professional/
Senior), mehrere Lücken je Codeblock und mehrere gültige Antworten je Lücke
(optional case-insensitive). Prüfung und Score ausschließlich serverseitig –
die Lösungen verlassen nie das Backend (Anti-Cheat wie TechTacular/MindMatch).
Fehler-Mechanik: bis zu 3 Versuche mit Hinweis, dann Auflösung; kein Game-Over.
Inhalte DB-gestützt und im Admin pflegbar (/admin/syntaxsaga); 34 Seed-
Missionen (Java/SQL/Bash/Git/HTML/Python) aus syntaxsaga/content.json.
- Entities SyntaxSagaMission/Gap/Solution + Flyway V7__syntax_saga.sql
- SyntaxSagaService (Story ohne Lösung / serverseitige Prüfung / Score-Recompute)
- API /api/syntaxsaga (CSRF-ausgenommen) + Admin-CRUD
- Frontend syntaxsaga.html/js/css (Prefix ss-, theme.css-Tokens)
- Dashboard-Kachel aktiv (vorher "coming soon")
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- MindMatch/TechTacular: Boards passten auf dem Handy nicht in 100vh
(iOS-Adressleiste) und die Seite war auf overflow:hidden gesperrt ->
untere Felder unerreichbar. Auf <=820px jetzt scrollbar (height:auto,
overflow-y:auto, 100dvh), Karten via aspect-ratio, Kacheln via min-height.
- FinalFlux-Hub: das generische `main {}` aus der Alt-style.css traf das
Hub-<main class="finalflux-main"> (display:flex; width:90%; margin:auto)
und verursachte Overlap + unerreichbares Themen-Menue. In .finalflux-main
neutralisiert; Shell stapelt auf Mobil als display:block, Sidebar volle Hoehe.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
--danger lag farblich zu nah am orangen Akzent (v.a. Light-Mode:
accent #d65116 vs danger #c61f2b). Jetzt kuehleres Crimson-Rose:
dunkel #ff4d6d, hell #be123c -> klare Abgrenzung von Orange, weiterhin
eindeutig Alarm-Rot. Erbt automatisch in alle Spiele-/Alert-States.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Das Overlay nutzt im Dark-Mode dunkle Surface-Toene mit Glow. Im Light-Mode
sind diese weiss -> das rechte Panel verschwand (weiss auf weiss). Per
[data-theme="light"]-Overrides bekommt es jetzt ein kraeftiges Orange-Panel
(accent-2 -> accent) mit weissem Text, Emblem und Ghost-Button. Dark-Mode
bleibt unveraendert.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>