Commit Graph

4 Commits

Author SHA1 Message Date
Claude Agent
a9f30650d5 S2c: STYLES.md — direcție restyle pentru cele 5 stiluri
Document de direcție vizuală per stil (classic/terminal/arcade/chat/point):
stare actuală, aspirație, tokens system-safe (fără webfonturi/CDN), micro-motion
cu reduced-motion guard, checklist a11y. Top 3 impact/efort: fix WCAG terminal
.line.dim (3.1:1→6.1:1), classic card glow, chat backdrop-filter. Consumat de S3.
Board: TODOS.md ▶ BOARD ACTIV S2c [x].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 09:44:11 +00:00
Claude Agent
52f97af533 S1: fix sunet campanie — deblochează AudioContext la gestul părintelui
Camerele cheamă parent.beep() din iframe; gestul din iframe NU deblochează
AudioContext-ul orchestratorului (părinte), care rămânea suspended → tăcere.
Fix: creează+resume beep._ctx în handler-ul btn-start (gest direct pe părinte),
escape-builder.html:1928. Verificat: ctx 'running' după start (era NO_CTX).
Suita smoke 21/21 fără regresie. Board: TODOS.md ▶ BOARD ACTIV S1 [x].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 09:33:31 +00:00
Claude Agent
b935a21b41 docs: TODOS.md devine board de progres durabil pentru Iterația 2
Secțiunea ▶ BOARD ACTIV (S1-S4) sus, convenție [ ]→[~]→[x]→[!] citită la
start de sesiune. AGENTS.md root indexează TODOS.md ca board durabil (harness
task list se resetează, ăsta nu). Notat: ipoteza S1 din HANDOFF (beep nedefinit)
pare greșită — beep e definit la escape-builder.html:1725.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 09:29:21 +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