r208 Playwright Smoke — AI Summary

Status: ✅ 33/33 PASS · Branch d8e2cca pushed to feat/id9-r208-integration

TL;DR

What this means

r208 is the bridge that connects the r207 mounts (PreviewHostVSIL, InspectorHost, CompositionGraphHost) to the operator's real flow — Edge Panel tile, Dev Panel tab, Gallery cascade, OS Header pills. The smoke proves the full loop works:

Gallery card click → Preview mounts → Region focus → Inspector selects → Edit enables writes → Transform fires → Lock restores READ-ONLY

This is the loop operator will run repeatedly. If it passes 33/33 in headless, it works in production.

The 3 bugs (and why unit tests missed them)

1. window.__fvcmsStudioContext never set — r206's initWorkspace() doesn't write the singleton to window. The r208 orchestrator was reading a missing global. Fix: import getStudioContext() from r206 directly.

2. Vite doesn't expose React on window — the orchestrator used (window as any).React, which is only true for UMD builds. Fix: import { createRoot } from 'react-dom/client'.

3. state as any hid ctx.state undefined — the stub received the state object where it expected the ctx object. Fix: wire the proper placeholder; emit real events from the stub.

Common pattern: all 3 bugs were integration-level, not unit-testable. The r208 unit tests (27/27) check bus emissions and bridge state, but the smoke is what proves the React mount lifecycle, the window global state, and the event subscriptions all work together.

What's next

1. Production deploy — build + SCP to 185.249.73.178 (operator's "Q3 default: after Playwright")

2. Cross-repo InspectorCard migration (a788, 1-2h) — freshvibestudio's InspectorCard.tsx should be a 15 LoC wrapper that imports from avidtech6/vibecoder-standalone

3. Dev Panel 3 remaining sub-tiles (scene/composer/timeline) — r208 only handled inspector, r202 stubs the other 3

Open questions

1. Merge to main first, or fast-track a hotfix branch? r207 + r208 + r206 are all on their own branches.

2. Confirm r202 Path C iframe removal is acceptable — it's monkey-patched, invisible to the operator.

3. EditBar presets — currently empty (Q1 from r204 v2 was "include presets" but no real scene data to bind them to). Ship the shell?

Verification

cd /workspace/vibecoder-standalone-r208
npx vite --port 5273 --host 0.0.0.0 &
sleep 5
node scripts/smoke/r208-smoke.spec.cjs

Expected: r208 Playwright smoke: 33 passed, 0 failed.