v1 vs v2 — what is different
| Aspect | v1 · radar-fusion | v2 · this app |
|---|---|---|
| Fusion core | TypeScript EKF + Hungarian GNN (in-house) | C++17 Tracking_And_Sensor_Fusion (EKF + greedy GNN), compiled to WASM |
| Association | Global assignment (Hungarian) per sensor batch | Greedy nearest neighbour per measurement, scan mutex per sensor |
| Gating | Mahalanobis χ² 3-DoF (99.5 %) | Mahalanobis χ² 99 %: radar 4-DoF (r, az, el, vr), EO 2-DoF |
| Measurement model | Polar (r, az, el) | Polar + radial velocity; angle-only EO camera |
| Track initiation | Two-point (kinematic pairing) | Single radar plot (original); 5 radar hits to confirm |
| Lifecycle | TENTATIVE → CONFIRMED → COASTING → LOST → DELETED | Same states — COASTING/LOST added to the original TENTATIVE/CONFIRMED/DEAD |
| Multi-sensor | Native | Added: sensor positions, per-sensor scan mutex, streaming API |
| Runs in | Browser worker / Node | Browser worker / Node (WASM) and native C++ (CMake) |
Both versions share the same API contract, operator UI concepts and simulation scenarios, so results are directly comparable.
Run benchmark (v2)
Scored against simulation truth after a 10 s warm-up. CLI equivalent: npx tsx scripts/benchmark.ts all 180.
Paste v1 results (JSON from v1’s benchmark)
Results
No benchmark runs yet. Run one on the left.