3 Commits

Author SHA1 Message Date
Claude Agent
cead5c5156 S4: extinde suita cu gameplay bomberman + overworld + audio (24/24)
3 teste noi commitate (mutate din scratch in suita):
- audio S1: beep._ctx 'running' dupa Incepe aventura (era NO_CTX)
- overworld: mers cu tastatura (ArrowRight) + iesire blocata pana la final
- arcade bomberman: bomba sparge cutie, BFS AI se apropie, respawn pastreaza progres

Arbore AGENTS.md/CLAUDE.md/tests actualizat 21→24 (14 @regresie + 10 @campanie).
Iteratia 2 COMPLETA (S1+S2+S3+S4). Board: TODOS.md S4 [x].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 11:01:13 +00:00
Claude Agent
a42c960b46 QA #9 — suita completa 21/21 campanie E2E
tests/smoke.mjs: 8 teste @campanie implementate complet (test.skip inlaturat):
- E2E 5 camere cu stiluri rotite → final stele+litere
- Resume safeStore+djb2 (D3+D11)
- Camera moartă — timeout 4s → skip-banner+cod
- Eroare post-ready (D5 semantica ORICAND)
- Dublu-click idempotent (T4+D4)
- $/$& replace-functie (D1)
- 8+ camere beep (D2)
- 320x568 chrome-40px fara overflow (T6+TD4)

CLAUDE.md: ## Testing actualizat — comenzi npx directe, fara npm scripts;
21/21 status curent documentat.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 08:49:45 +00:00
Claude Agent
a4b0ff4154 Campanie multi-stil — PR1 (T1-T8 + TD1-TD6)
Adauga al 6-lea stil de joc: campanie multi-stil care leaga puzzle-urile
in camere de stiluri diferite (clasic/terminal/arcade/chat/point in rotatie),
conectate prin coridoare cu usa, litera si stele.

Contract de montare (verificat la gate T1):
- gameCampaign: un <iframe srcdoc> per camera; camerele cheama parent.*
  pe un nivel (merge si pe file://); template per stil cu sentinel __CFG__
  injectat prin replace-functie (D1) + json.replace(/</g,'<') (D6)
- roomReady/roomError + timeout 4s -> skip cu 0 stele + cod eroare;
  idx detinut de parinte, accepta nextRoom doar de la contentWindow activ (D5)
- parent.beep in mod campanie (un singur AudioContext, D2)
- resume prin safeStore try/catch (D3) + cheie djb2 peste CFG embedat (D11)

Builder:
- selector de stil per puzzle ("Auto (stil)") + optiunea Campanie multi-stil
- normalizePuzzle() la load + import (sursa unica pt forma puzzle, D8)
- blocare export+preview la 0 puzzle-uri; persist() guarded (D12)
- letter normalizat [A-Za-z0-9] + esc la SVG point (D13)

Design (DESIGN.md): tokens --c-*, intro poster, coridor "usa ca erou",
chrome unica sursa de progres, 5 usi CSS/SVG (normal/stuck/crescendo),
mod camera per motor, buget vertical mobil, baseline a11y.

Tooling: tests/smoke.mjs (Playwright, zero-dependente prin npx), TODOS.md,
sectiune ## Testing in CLAUDE.md. Demo-uri regenerate + exemplu-campanie.html.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 08:34:57 +00:00