Spaces:
Running
Running
Commit History
-
Eval: 2-round policy + sync-start gate + no auto-advance
- Sample 2 rounds per (match, map) instead of 4: one endpoint (round 1 or last, picked deterministically) plus one PRNG-chosen middle round. - Eval mode no longer auto-advances when the round ends — reviewers drive navigation explicitly via the eval bar's Prev/Next. - New sync-start gate in eval mode: the round starts paused and only auto-plays once every POV tile has emitted `loadeddata` (first frame decoded), so the comparison view never starts mid-buffer with some panes blank. A small "Loading N / 10 POVs…" indicator overlays the grid while we wait; touching play or leaving eval mode releases the gate immediately. preloadAllPlayers is force-on in eval mode so the HTTP-level prefetch runs alongside the MSE attach.7f23fd2
-
Evaluation: 4-round policy, validations store, prev/next, copy/clear, build flag
- Bump policy from 3 → 4 rounds per (match, map): first, last, 2 PRNG-picked middle rounds (deterministic on match_id+map). Fully reviewing all 4 without flagging implies the (match, map) is good. - New localStorage store opencs2:eval:validations:v1: clicking Next validates the current candidate. firstUnreviewed/nextUnreviewed skip already-flagged or already-validated candidates so a returning reviewer resumes where they left off (header eval entry jumps to first unreviewed). - Eval bar adds Previous (←) for backtracking and a "N reviewed" counter. - Flag dialog gets a "Local review data" footer with live flag/validation counts, a Copy button (full JSON to clipboard via exportReviews), and a Trash button to clear both stores. Note field already free-text. - New "Don't flag" entry: "Recording ends right at death" — POVs cut on the exact death tick (intentional, to avoid camera glitches). - Build flag PUBLIC_DISABLE_EVAL=1 hides the entire eval surface (header toggle, e…6d55c38 -
Add evaluation mode: queue, flag bar, info dialog
- src/lib/eval.ts: deterministic eval queue (per match-map: round 1, last, + 1 PRNG-picked middle), flag reasons, localStorage flag store - src/lib/components/eval-bar.svelte: amber strip below the header with position N/total, Flag dropdown (6 reasons w/ descriptions), Info button, Next, Exit - src/lib/components/eval-info-dialog.svelte: explains the policy and what to flag (missing audio, AV misalignment, POV desync, uninteresting, missing video, other) - header.svelte: ListChecks toggle button — start eval (jump to candidate 0) or exit; reads matches from page.data so any match page can launch eval - match page: render <EvalBar /> when ?eval=1; route effect now also reacts to URL round/player/view changes (so eval Next on the same map reloads the new round); ?eval=1&i=N stays preserved by syncUrl()'s URL clone Flags persist in localStorage (opencs2:eval:flags:v1) — export manually for now, no backend round-tripping yet.e355be5