live frame analyzer · claude vision
drop a frame. inspect the claim.
frame
cii + spatial
~2s
this hits the real backend: the model reads a construction frame, returns a cii verdict, extracts spatial claims, and flags safety evidence without rerunning the whole memory pipeline.
drop an image here, or click to upload
jpg · png · webp
upload a frame, or click a sample below. the judge runs claude sonnet against the same prompt the production pipeline uses.
try sample frames
The geometry the spatial judge reads before the CII verdict. Toggle RGB, depth, mask, stacked.
depth-anything-v2-small · sam-vit-base · ~55 masks/frame
04 · reconstruction coverage
only reconstructed windows reach the model.
source · /data/depth-filter-log.json · first gap at — · long missing tail after — · this run gates — of pair windows
19 of 31 frames register through COLMAP at 1.199 px mean reprojection error. Drag the cloud to inspect camera frustums, then click a frustum to pull up the exact bodycam still that generated that pose. Every ledger row anchors somewhere in this volume.
- · 1,770 sparse points
- · 19 / 31 frames registered
- · 1.199 px reprojection error
- · clickable camera frustums

06 · evidence ledger
every frame. every claim.
source · /api/cii/frames · 0 of 0 rows shown
next · vima sees time
single-frame is a starting point. multi-frame is the contribution.
The analyzer above runs vima-prompt-v1 on a single frame. The /eval page runs vima-temporal-v1 across a sequence: every state-change claim cites two proof frames, refusals are explicit, and the comparison slider lets you verify each claim by eye.