Status: ✅ 33/33 PASS · Branch d8e2cca pushed to feat/id9-r208-integration
d8e2cca.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.
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.
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
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?
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.