From 95bb2a31e44e179df860dec9f3fe0416bc3e5639 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Thu, 24 Sep 2026 17:32:36 +0300 Subject: [PATCH] WebGPU --- app/features/scanner/README.md | 78 +- .../scanner/components/SettingsPopover.tsx | 13 +- app/features/scanner/components/VodView.tsx | 3 + .../scanner/components/live-session.ts | 1 + app/features/scanner/components/settings.ts | 11 +- app/features/scanner/components/vod-scan.ts | 2 +- app/features/scanner/core/cross-sums.c | 46 + app/features/scanner/core/cross-sums.ts | 88 ++ .../scanner/core/detectors/death/index.ts | 404 ++++---- .../scanner/core/detectors/frame-pass.ts | 117 +++ .../scanner/core/detectors/kill/index.ts | 171 +++- .../scanner/core/detectors/map-start/index.ts | 204 ++-- .../scanner/core/detectors/minimap/index.ts | 510 ++++++---- .../scanner/core/detectors/minimap/stage.ts | 28 +- .../scanner/core/detectors/objective/index.ts | 128 ++- .../core/detectors/objective/strip-weapons.ts | 30 +- .../scanner/core/detectors/objective/timer.ts | 31 +- .../scoreboard-battle-log-replay/code.ts | 24 +- .../scoreboard-battle-log-replay/header.ts | 84 +- .../scoreboard-battle-log-replay/index.ts | 198 ++-- .../scoreboard-battle-log/detector.ts | 223 +++-- .../core/detectors/scoreboard-own/index.ts | 152 +-- .../core/detectors/scoreboard/banner.ts | 45 +- .../core/detectors/scoreboard/digits.ts | 23 +- .../core/detectors/scoreboard/header.ts | 34 +- .../core/detectors/scoreboard/index.ts | 144 +-- .../core/detectors/scoreboard/names.ts | 25 +- .../scanner/core/detectors/scoreboard/row.ts | 186 ++-- .../core/detectors/scoreboard/specials.ts | 30 +- .../core/detectors/scoreboard/weapons.ts | 78 +- .../scanner/core/detectors/telemetry.ts | 7 + app/features/scanner/core/detectors/types.ts | 11 + app/features/scanner/core/glyphs.ts | 443 ++++++--- app/features/scanner/core/image.ts | 52 + app/features/scanner/core/match-steps.ts | 341 +++++++ app/features/scanner/node/webgpu.ts | 30 + .../scanner/worker/analyzer.worker.ts | 80 +- app/features/scanner/worker/client.ts | 3 + .../scanner/worker/gpu-frame-scaler.ts | 246 +++++ app/features/scanner/worker/gpu-matcher.ts | 908 ++++++++++++++++++ app/features/scanner/worker/protocol.ts | 2 + package.json | 2 + scripts/scanner/gpu-parity.ts | 142 +++ scripts/scanner/gpu-replay.ts | 268 ++++++ scripts/scanner/match-corpus.ts | 137 +++ scripts/scanner/scan-vod.ts | 110 ++- 46 files changed, 4640 insertions(+), 1253 deletions(-) create mode 100644 app/features/scanner/core/cross-sums.c create mode 100644 app/features/scanner/core/cross-sums.ts create mode 100644 app/features/scanner/core/detectors/frame-pass.ts create mode 100644 app/features/scanner/core/match-steps.ts create mode 100644 app/features/scanner/node/webgpu.ts create mode 100644 app/features/scanner/worker/gpu-frame-scaler.ts create mode 100644 app/features/scanner/worker/gpu-matcher.ts create mode 100644 scripts/scanner/gpu-parity.ts create mode 100644 scripts/scanner/gpu-replay.ts create mode 100644 scripts/scanner/match-corpus.ts diff --git a/app/features/scanner/README.md b/app/features/scanner/README.md index 040bb9bc5..8708eaff8 100644 --- a/app/features/scanner/README.md +++ b/app/features/scanner/README.md @@ -141,12 +141,14 @@ pnpm test:unit:browser # includes tests/logic/ — the fixture- pnpm scanner:report # accuracy table + name character error rate across fixtures pnpm scanner:fixtures [name-substring] # run detectors over matching fixtures, verbose pnpm scanner:replay # replay ffmpeg-extracted frames through the scheduler+detectors -pnpm scanner:scan-vod