host page — stream anchor harness

Simulates a page whose CSP blocks our iframe. Run streamer anchor loads the real bookmarklet.stream.src.js (HUB rewritten to this origin) and runs it — exactly as clicking the installed bookmark would. The anchor injects its own green overlay + canvas, opens the collar as a host_base window, and streams the live widget back. This page just observes (frame count, injector-ready, acks) for the L3 assertions.

idle
— fps

Liveness: the shipped anchor drives a foreground tick, so the stream holds ~8 fps even when you minimize the streamed popup (try it — the fps above stays up; that's A1 working). To reproduce the OLD throttle on demand, click Simulate background throttle: it clamps the host_base's own timer and blocks the anchor's ticks → fps drops to ~1; click again to release → it climbs back to ~8. See stream_frames/docs/dev_frame_liveness.md.