From 2d38b7b4b2990f3ca67a17aa6ef9cdd58e2aa3c9 Mon Sep 17 00:00:00 2001 From: "Ryan Johnson (ntninja)" Date: Sun, 5 Jul 2026 00:30:29 +0000 Subject: [PATCH] =?UTF-8?q?feat(marshaling):=20the=20page=20reads=20as=20t?= =?UTF-8?q?wo=20scopes=20=E2=80=94=20pilot=20marshaling=20vs=20heat=20ruli?= =?UTF-8?q?ngs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Design call with the RD: protests/rulings STAY on the marshaling page (rulings belong next to the evidence — a DQ or a protest resolution is made looking at the laps, the trace, and the audit, and a separate page would make every adjudication a context switch on the same heat). Revisit a dedicated cross-heat protest queue if/when pilot-filed protests arrive. What changes is the SEAM: the per-pilot surfaces (trace, tune, laps & corrections) and the heat-scoped surfaces (penalties, protests, result lifecycle, void) now sit under two labeled region heads with a deliberately heavy divider between them — sunlit-laptop legible, and the heat region reads as a distinct zone rather than more pilot UI. Co-Authored-By: Claude Fable 5 --- .../rd-console/src/screens/Marshaling.svelte | 45 +++++++++++++++++++ .../rd-console/tests/MarshalingScreen.test.ts | 11 +++++ 2 files changed, 56 insertions(+) diff --git a/frontend/apps/rd-console/src/screens/Marshaling.svelte b/frontend/apps/rd-console/src/screens/Marshaling.svelte index 0ed2f0e..8ac1a9e 100644 --- a/frontend/apps/rd-console/src/screens/Marshaling.svelte +++ b/frontend/apps/rd-console/src/screens/Marshaling.svelte @@ -933,6 +933,14 @@ {/if} + +

+ Pilot marshaling + the shown pilot's laps, trace & corrections +

+ {#if hasShownTrace && shownTrace} {@const tuning = canControl && tuneTrace != null && tuneKeyCurrent} +
+

+ Heat rulings & protests + whole-heat scope — penalties, protests & the result +

{#if resultLocked}