01 · live frame analyzer
/api/analyze/frame · sonnet-4-6

live frame analyzer · claude vision

drop a frame. inspect the claim.

input

frame

output

cii + spatial

latency

~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

spatial claimready

upload a frame, or click a sample below. the judge runs claude sonnet against the same prompt the production pipeline uses.

try sample frames

connecting to backend...

03 · depth + segmentation

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

spatial inferenceloading…

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

05 · 3d reconstruction

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
registered bodycam frame
registered frame · click a frustum

06 · evidence ledger

every frame. every claim.

frametimeactivityciiconf
no data — backend unreachable

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.