AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Frame-by-frame debug viewer for Cornerman boxing AI rules engine
Translation pending
Developer toolsJavaScript · HTMLGitHub @cornerman-aiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A static, dependency-free web app for inspecting BlazePose Drive caches
against the
Cornerman rules
engine, frame by frame. BlazePose is the only engine it reads: Apple
Vision, glove-wrist, YOLO, RTMPose, MoveNet and YOLO11 caches (Drive
archive/) are skipped, and the engine-era comparison lenses live in
cornerman-archive/legacy-pose/.
Also here: the pipeline viewer — one
full-pipeline test video with its punches, impact frames, defensive moves and facing angle on one timeline, read
from Drive Ambo/data/pipeline_tests/. A separate page with its own README (pipeline/README.md).Read the full README ↗A static, dependency-free web app for inspecting BlazePose Drive caches
against the
Cornerman rules
engine, frame by frame. BlazePose is the only engine it reads: Apple
Vision, glove-wrist, YOLO, RTMPose, MoveNet and YOLO11 caches (Drive
archive/) are skipped, and the engine-era comparison lenses live in
cornerman-archive/legacy-pose/.
Live: https://cornerman-ai.github.io/debug-viewer/
Also here: the pipeline viewer (https://cornerman-ai.github.io/debug-viewer/pipeline/) — one
full-pipeline test video with its punches, impact frames, defensive moves and facing angle on one timeline, read
from Drive Ambo/data/pipeline_tests/. A separate page with its own README (pipeline/README.md).
Pick the cache folder once per session, then for each round pick just the video — the viewer auto-matches the cache files by filename. (A manual multi-file picker is still available as a fallback.)
The viewer renders the video with a skeleton overlay and a side-panel "lens" that re-paints the overlay and surfaces metrics for one rule at a time. Add a new lens by dropping a file in the right js/lenses/ subfolder (rules / models / research / inspect) and registering it in js/lenses/registry.js — see js/lenses/README.md.
Files stay on the user's machine — the page uses the browser File API, nothing is uploaded.
Ambo/data/skeleton_data/blazepose/.
The viewer indexes every `_blazepose_r.npy +
.mp4. If its basename matches an indexed video,
the viewer auto-loads the only round, or shows a round dropdown when
multiple rounds exist.BlazePose Drive cache, one set per round:
<stem>_blazepose_r<N>.npy — float32, shape (N, 33, 8): per joint
per frame x, y, z, x_world_m, y_world_m, z_world_m, visibility, presence. x, y are normalised to [0, 1] and de-normalised to pixels
at load time using the video's natural dimensions. Lenses read it
remapped to COCO-17 (state.pose, conf = visibility); the full 33
joints ride along as state.blaze33.<stem>_blazepose_r<N>_meta.json — at minimum
{ fps, layout: "blazepose33" }. Any other layout is refused.<stem>_blazepose_r<N>_pts.npy (optional) — each frame's source-video
time; <stem>_blazepose_r<N>_punches.json (optional) — ST-GCN
detections.Pick the .npy and _meta.json together via multi-select in the pose
picker.
The lens dropdown in the app is the authoritative list — one module per lens in js/lenses/ (foldered by kind: rules / models / research / inspect), registered in js/lenses/registry.js.
python3 -m http.server 8765
# open http://localhost:8765
One module in js/lenses/ (rules / models / research /
inspect), one import + one entry in
js/lenses/registry.js. The contract, what state
holds, the DOM slots, the frame/time convention and the gotchas are in
js/lenses/README.md — read that before writing one.