Train · static shell
Sports viewing layout
This route holds the grid, rails, and typography for a premium live sports experience.
Use the genre tabs above for sportsbooks-style navigation (aligned with discovery patterns like Kalshi all sports
) plus full prediction-market verticals. The main column includes a live NCAA men’s scoreboard
(ESPN day strip) next to the archived March bracket so you can line up games with market ladders. Rerun is the planned multimodal desk for live sports vision (frames, masks, tracks, tensors,
time series) alongside that stack — see the Rerun card below. Attach a real player from your Game /live desk, a WebRTC/HLS workpad, or another origin in a new tab or iframe once you deploy outside
Pages.
All sports · featured ladder
Cross-league tiles · Kalshi-style discovery
Live NCAA men’s · scoreboard
Client-side pull from ESPN’s public scoreboard API for the calendar day you pick — use it beside the bracket
panel and market rows. Deep link with ?espnDate=YYYYMMDD (updates when
you load a day).
Market ladders Kalshi · men’s college basketball Polymarket · college basketball March Arena (live bracket UX)
Loading scoreboard…
Rerun · live multimodal desk
rerun-io/rerun logs images, tensors,
point clouds, and text with a shared timeline — useful for sports pipelines that mix decode → perception → stats (for example SAM masks, homography, player tracks, or splat
previews). Stream to the native or web viewer, record .rrd, or query
back with the dataframe APIs. Train stays static: wire your SDK off-process, then optionally embed the viewer
URL below.
uvspeed sports field
Open sports-field-ugrad from
youtube-pipeline-viewer or the uvspeed web root. It publishes and applies
sportsfield-telemetry /
sportsfield-ball on
BroadcastChannel('hexcast-stream').
Rerun sidecar
Run a local Python or JS sidecar that listens to the same channel (or a WebSocket bridge), logs ball
meters, players, captions, and frame timestamps into Rerun, then serves a web viewer URL via
PUBLIC_RERUN_VIEWER_URL.
Transcript + memo
Use youtube-pipeline-viewer for HLS, WebSocket segment telemetry, chapters, and transcript sidebar; use Train live-captions or Overview for the research memo.
Local integration runbook
Mount uvspeed assets in the pipeline viewer:
cd /Users/tref/projects/youtube-pipeline-viewer && UVSPEED_WEB=/Users/tref/dev/projects/uvspeed/web npm start Run this Astro desk:
cd /Volumes/qbitOS/00.dev/cursor/train/train && npm run dev Optional memo surface:
cd /Users/tref/projects/overview && npm run dev Optional Rerun viewer:
PUBLIC_RERUN_VIEWER_URL=http://127.0.0.1:PORT/ npm run dev
Set PUBLIC_RERUN_VIEWER_URL at build time to surface an embed
plus “open in new tab” (same pattern as the Broadcast desk pipeline URL).
March Madness · brackets & markets
Regional brackets (R64→E8) when JSON includes a bracket
tree — 2025 is a full archive from march-arena pairings. Every game keeps id for prediction-market joins. Static data: march-seasons.json + march-bracket-2025.json. Matchup and round columns are laid out as
nested cards (similar density to leerob/march-arena marcharena.com
) with ESPN-style scores like leerob/ncaam.
Bracket panel · shipped updates 1–5
- Full 2025 tree — four regions, R64 → R32 → S16 → E8 with scores and winners.
- National rounds — Final Four (
ff-2025-l,ff-2025-r) + championship (champ-2025). - Region tabs — switch quadrants; horizontal scroll on narrow viewports.
- Seeds 1–5 strip — top chalk in each region pulled from the R64 slate.
- Market linkage — listing rows still use
bracketGameIdmatching theseidfields.
Extra · UX, URLs & file paths
- Deep link — add
?tourney=2025(or2024,2026) to sync the season dropdown; changing the dropdown updates the query without a full navigation. - Copy game id — each matchup with an
idhas a “Copy id” control for desks, tickets, or Kalshi/Polymarket mapping (uses the Clipboard API on HTTPS / localhost). - Region tab keyboard — when a region tab is focused: ← → move selection; Home / End jump to first / last region (ARIA tablist pattern).
- Market hover — rows with
bracketGameIdhighlight the matching card (purple ring) for quick visual join checks. - Source files —
src/data/sports/march-seasons.json(seasons + markets); full 2025 tree insrc/data/sports/march-bracket-2025.jsonmerged at build time for the 2025 row only. - Related routes — Predictions + field viz · Broadcast desk (SAM2 / pipeline story).
Multi-angle shelf
PiP / iso cams / replay stack — same pattern as national broadcast UIs. Below: analysis lanes for jersey kits, segment-anything class masks, and 3D Gaussian splats (preview bus / research trees — not rendered on this static page).
Analysis lanes
League and club kit palettes (HEX / RGB) for lower-thirds, virtual ads, and graphics math — same idea as the bundled sports-field jersey tables in the live workpad.
Promptable masks (SAM / SAM2) for players, pitch lines, and equipment — feed
tensors to stats or comp; wire inference off-process via SAM2_SERVICE_URL on your pipeline host (see Broadcast desk).
3D Gaussian splats for venue / set preview (SuperSplat, mkkellogg viewer): load
.splat beside the program for director rehearsal — keep GPU
work off GitHub Pages.
Broadcast desk Predictions + field viz Vision stack runs off Pages: SAM / SAM2 inference service, Segment Anything weights, SuperSplat or mkkellogg splat preview — mount via your pipeline / Game origin.
Lower third · field output
Browser-side strip for commentary IDs, sponsor rotation, and CC — plus downstream readouts from the pitch: Gaussian splat rig, segment-anything tracks, and player / pattern classifiers (static placeholders on Train).
Pipe JSON / WebSocket shards from your workpad into these tiles; keep GPU + splat decode off GitHub Pages.