Skip to content

Repository files navigation

TrackLab

CI

A browser-based video analysis tool built with SceneryStack. Load a physics video, calibrate real-world distances, and track or digitize object motion with kinematics graphs and CSV export.

Features

  • Built-in sample videos, local upload, and webcam recording
  • Draggable coordinate system and calibration tool for real-world units
  • OpenCV auto-tracking and manual frame-by-frame digitizing with magnifier
  • Kinematics graph, data table, measuring tape, and angle tool
  • English, French, and Spanish UI, projector color profile, and installable PWA
  • OpenCV.js WASM tracking in a Web Worker (requires COOP/COEP headers)

Quick Start

npm install
npm run icons # generate PNG icons from public/icons/icon.svg
npm start # dev server → http://localhost:5173

Scripts

CommandDescription
npm start / npm run devStart Vite dev server
npm run buildType-check + production build → dist/
npm testRun Vitest unit tests (includes memory-leak suite)
npm run previewPreview the production build locally
npm run checkTypeScript type check
npm run lintBiome lint check
npm run formatAuto-format all files
npm run fixLint + auto-fix
npm run generate-svg-iconGenerate public/icons/icon.svg from bouncing ball script
npm run iconsRegenerate PNG icons from public/icons/icon.svg
npm run cleanRemove dist/

Tech Stack

ToolVersionPurpose
SceneryStack^3.0.0Simulation framework
Vite^8Build tool + dev server
TypeScript^7Type-safe JavaScript
Biome^2.5Linting + formatting
OpenCV.js4.x (WASM)Object tracking
vite-plugin-pwa^1PWA + service worker

License

GNU Affero General Public License v3.0 — see OpenPhysics org license.

Contributing

See OpenPhysics contributing guidelines. Report bugs via GitHub Issues; use org issue templates.

About

Browser-based video motion-analysis tool. Load a video, calibrate real-world distances, and auto-track objects across frames using computer vision.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages