ai-code-battle/web
jedarden 59fb673edb fix(pip): properly restore canvas from mini-player on replay page return
§16.13: Picture-in-Picture replay mini-player

When navigating back to a replay page where PIP was active, the
restoration logic was creating duplicate canvas elements (the
placeholder from the new DOM and the restored canvas from PIP).

Changes:
- Remove placeholder canvas before inserting restored PIP canvas
- Set 'replay-canvas' ID on restored canvas for TheaterMode and other consumers
- Use consistent 'actualCanvas' variable throughout initialization

The full PIP flow now works:
1. User starts replay on /watch/replay/:id
2. Clicks nav link → canvas reparents to floating mini-player
3. Playback continues uninterrupted
4. Click "return" → canvas reparents back to inline wrapper
5. Replay resumes at same tick

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 23:21:37 -04:00
..
public feat(home): redesign homepage per §16.3 — dynamic data, territory replay, compact layout 2026-04-21 17:01:24 -04:00
src fix(pip): properly restore canvas from mini-player on replay page return 2026-04-22 23:21:37 -04:00
.gitignore Complete Phase 3: TypeScript Canvas replay viewer 2026-03-24 07:30:04 -04:00
app.html feat(mobile): implement mobile-first responsive design per §16.5 2026-04-21 17:04:02 -04:00
CLOUDFLARE_DEPLOYMENT.md feat(ci): add Cloudflare Pages deployment configuration 2026-04-08 16:53:09 -04:00
DEPLOYMENT_INSTRUCTIONS.md docs(web): add Cloudflare Pages deployment instructions 2026-04-08 17:21:59 -04:00
embed.html feat(playlists): add playlist curation and rebuild logic per §10, with series/seasons/enrichment 2026-04-21 16:11:27 -04:00
index.html feat(§15.3): implement screen reader transcript for replay viewer 2026-04-22 18:42:49 -04:00
package-lock.json feat(web): add Agentation feedback overlay for UI annotation 2026-04-21 08:26:00 -04:00
package.json feat(web): add Agentation feedback overlay for UI annotation 2026-04-21 08:26:00 -04:00
pages.json Fix R2 custom domain in pages.json to match project spec 2026-03-26 22:10:37 -04:00
tsconfig.json Complete Phase 3: TypeScript Canvas replay viewer 2026-03-24 07:30:04 -04:00
vite.config.ts feat(web): code splitting per §16.7 — reduce app entry chunk 84% (10KB → 1.6KB gz) 2026-04-21 12:41:33 -04:00