OpenCap Weightlifting Analyzer (V2) + 3D Export (Patched)

OpenCap Weightlifting Analyzer (V2)

Upload OpenCap CSV(s) → map columns once → analyze + overlay reps for Snatch, Clean, and Jerk. 100% in-browser (HTML/CSS/JS).
Patched: adds 3D Export (JSON frames) + Send to 3D Player (A and optional Ghost B) with canonical joint mapping.

1) Upload

V2: Multi-file support + overlay comparison. For now, each file = one rep. (Later: auto-segment multiple reps inside one long file.)

2) Rep & Overlay

Overlay: Off

3) Lift & Column Mapping (Angles)

If time is missing, we auto-use row index.

4) Options

This Analyzer computes starter metrics + phase markers. Next step: we export 3D joints so the Player can animate.

5) 3D Export + Send to 3D Player

How “Send” works: we write the JSON into localStorage using the keys above, then open the Player with ?src=ls&key=YOUR_KEY. Your Player must support that query style.

3D Joint Detection (Rep A) Detected base joints with *_x/_y/_z: 0 ⚠️ No 3D joints detected. This Analyzer can still do metrics/plots, BUT 3D export needs columns like: pelvis_x, pelvis_y, pelvis_z. If your OpenCap export does not include 3D joint coords, we must export from a different OpenCap file/format (or from your pose pipeline output).

Outputs

Status: Ready. Load a demo or parse CSV(s). Detected phases: Dip + Power (20 → 50)
Triple Extension Speed (proxy)
0.5
Avg |d(hip+knee+ankle)/dt| during power phase
Catch Depth (proxy)
Max knee flexion near catch window
Left–Right Symmetry (knee)
1.8
Mean absolute difference across rep
Jerk Dip–Drive (if Jerk)
39.0 / 0.5
Dip depth + drive speed proxy
Technique Flags (starter)
  • No obvious flags from starter heuristics.
Rep A markers are shown (Power start/peak/end; Catch or Dip).
Export step: 3D joints export is separate and uses detected *_x/_y/_z columns.

Metrics Table

V2: saves a row per rep (Rep A). Overlay rep is for visual comparison.
Rep Lift Power Phase TES Catch Dip Drive Sym (knee) Flags/Notes
Demo Jerk jerk 20 → 50 0.5 39.0 0.5 1.8 TES low (slow power).