r212 Operator Chrome Consolidation — AI Summary

Status: ✅ All green · 26/26 r212 unit tests · 44/44 r212 Playwright smoke · 0 regressions

Branch: feat/id9-r212-chrome-consolidation @ 71e6b43 (pushed to origin)

Base: feat/id9-r211-merge @ 2cb3494

TL;DR

What this means

The r212 chrome is the unified ID9 operator surface. The MinimalHeader at the top has 5 elements (Fv log + surface + Gallery + Workspace + Edge). Clicking the Workspace icon opens a new PM2 panel — the SideChrome — which hosts the 4 user-facing tiles. The 3 r207 mounts (PreviewHostVSIL, InspectorHost, CompositionGraphHost) render inside the scene/inspector/composer tiles. The timeline tile is a placeholder for the upcoming VSIL Editor, but it already supports a Lock → Edit toggle that mounts the r208 EditBar.

The legacy r208 CompositionHostMount (with 4 dev-facing tabs) is preserved for backward compatibility. The r208 iframe patch on mgr.addPanel is still active.

The 3 critical r212 details

1. Vite dual-React gotcha (r210 lesson applied): SideChrome is imported statically at the top of host-boot.js. No dynamic imports inside the mount function.

2. No r202-era IDs to hide (CSS safety net not needed): r212 uses data-r212-* selectors exclusively.

3. R208 mounts preserved (per spec): The r208 CompositionHostMount is unchanged. r212 SideChrome is a separate PM2 panel.

What's next

1. Production deploy (operator call): npm run build + scp to 185.249.73.178.

2. Merge r212 to main (operator call): single PR covering the full ID9 chrome.

3. r213: VSIL Editor — fill in the timeline tile placeholder (canvas, layers, tools).

4. Typecheck warnings in workspace/context.ts are pre-existing (from r208 fix). Fix in r213.1?

5. Outstanding: a788 InspectorCard cross-repo migration, Dev Panel sub-tiles, WDM typecheck warnings.

Open questions

1. Merge r212 to main now, or wait for r213?

2. VSIL Editor scope for r213: just the canvas, or also the layers + tools?

3. Production deploy — npm run build + scp to 185.249.73.178?

Verification

cd /workspace/vibecoder-standalone-r212
npx tsx src/host/chrome/__tests__/SideChrome.test.tsx  # 26/26
npx vite --port 5275 --host 0.0.0.0 &
sleep 5
node scripts/smoke/r212-smoke.spec.cjs  # 44/44

Expected: 148/148 total tests pass.