Clutch Lens
OBS Browser Source at http://127.0.0.1:8765/overlay.html. A thin ribbon and a score pill. Opacity follows tension. It sits on the game; it does not cover the ball.
Qoresence is an observation plane for gamers. HDMI video and controller input share one monotonic clock. Situation, clips, Deck, Lens and Ghost Cut all read that clock. The capture card opens once. Nothing else is allowed to open it.
127.0.0.1 by default · Ghost Cut is local · Twitch stays opt-in
Recorded from the operator glass — HDMI, DualSense, clutch feed, one clock. Not a second capture of the card.
75s cut from a local NCAA 27 session · DualSense Edge on USB · scoreboard 0–0 Q1 · Discuss on GitHub
Most tools overlay stats on a stream. Qoresence keeps a single session memory and hangs purpose-built glasses off it.
A gamer’s session is video plus hands plus game state. Those three signals usually live in different programs, on different clocks. Qoresence binds them locally: the streamer lobe owns the USB capture card, the controller lobe writes the InputRing, IVC stamps both with the same nanoseconds.
From that coupling the rest follows. Scoreboard OCR can confirm a call. FastMoment can mark clutch energy. Foundry writes an MP4 plus .chapters.json and .buttons.json. Ghost Cut later slices that same file and burns the why-strip onto it — no generative model, no extra camera.
The product promise is narrow on purpose: you can prove why a clip fired, from evidence that never left the machine.
The capture card is the brain. Everything else is a glass.
Each step is a lobe or a glass. None of them re-open the hardware.
StreamerRuntime opens DirectShow index 0 (or the device you name). Frames land in FrameHub. OBS, if you use it, consumes the Lens URL — never the physical device a second time.
HID is parsed on the DualSense USB/BT map. An IMU jolt 5–80 ms before a press is a precursor — the body moved, then the bit flipped. IVC joins that edge to the FrameHub sequence. Score changes bind back to the nearest trigger. Ghost Cut lights the pad on the real footage.
Visual + OCR read the scorebug. Presence fusion and MomentScorer emit only when the clock and the picture agree. Blank frames do not invent 0–0.
RetinaEventBus carries situation and moment events. Subscribers must not emit while holding their own lock — that rule is tested. The live feed must never freeze because a glass was slow.
Lens (OBS), Deck/Rail (operator), Foundry Ghost Cut (after the clip), AgentGlass and MCP (read-only agents). All of them are views. None of them capture.
Each glass is a different atmosphere for the same clock. None of them is a second product.
OBS Browser Source at http://127.0.0.1:8765/overlay.html. A thin ribbon and a score pill. Opacity follows tension. It sits on the game; it does not cover the ball.
Local theater at /deck.html. LIVE from FrameHub (WebRTC, MJPEG fallback). REPLAY from your HDMI clips. Situation, controller sync, clutch feed — the operator stays in the session.
Post-session. Pick a chaptered clip. Cut a local highlight with the why-strip and timed button ghosts burned in. Your players stay your players. Output lives beside the clip as MP4 + receipt.
Read-only spectator APIs and ten MCP tools. Snapshot, health, clips, situation, search, graph. Localhost. No hidden write path. No second capture.
Built first for NCAA Football 27 and Call of Duty. The plane is the product; the profile is a lens.
Keep a live score, quarter and down on Lens and Deck from the HDMI scorebug — not from a cloud VLM guessing after a delay.
When FastMoment fires, the clip sidecar stores why. Ghost Cut turns that mark into a 6-second highlight you can watch without leaving the box.
ClutchBot can wait for OCR confirm before a chat line. Agents can subscribe to AgentGlass. The streamer still owns the card.
Run these before you treat a session as real. If age_s climbs and frames stop, it is almost never the card — it is a lock.
age_s < 1/health okreel_*.mp4Windows starter package, local venv, no cloud account. Capture hardware is optional for setup and required for live frames. Ghost Cut runs on the clips you already have.