diff --git a/ui/frontend/src/lib/active-view/report/report-toc.svelte b/ui/frontend/src/lib/active-view/report/report-toc.svelte
index aa7a6df..c8ab49a 100644
--- a/ui/frontend/src/lib/active-view/report/report-toc.svelte
+++ b/ui/frontend/src/lib/active-view/report/report-toc.svelte
@@ -3,9 +3,10 @@ Phase 23 Report View table of contents.
Responsibilities:
- "Back to map" button at the top — visible on both desktop sidebar
- and mobile sticky toolbar. Navigates via `$app/navigation.goto` so
- active-view-host scroll restoration plays through SvelteKit's
- history machinery and the layout's `mobileTool` resets naturally.
+ and mobile sticky toolbar. Switches the active view to the map
+ through `activeView.select("map")`; the shell's tool gate resets
+ the `mobileTool` overlay naturally once the map is no longer the
+ active view.
- Desktop / tablet sidebar: a vertical list of anchor links, one per
section. The active link gets `aria-current="location"` and a
`.active` style. Click scrolls the active-view-host (not the
@@ -20,8 +21,7 @@ The active section is computed by the orchestrator
`activeSlug` prop. The TOC itself owns no observers.
-->
diff --git a/ui/frontend/src/lib/active-view/report/section-battles.svelte b/ui/frontend/src/lib/active-view/report/section-battles.svelte
index d071c7f..fb0b373 100644
--- a/ui/frontend/src/lib/active-view/report/section-battles.svelte
+++ b/ui/frontend/src/lib/active-view/report/section-battles.svelte
@@ -1,15 +1,14 @@
{i18n.t("game.report.section.battles.id_label")}
- openBattle(b.id)}
data-testid="report-battle-row"
data-id={b.id}
- >{b.id}
+ >{b.id}
{/each}
@@ -90,10 +93,15 @@ decision log called out.
font-size: 0.7rem;
}
.uuid {
+ padding: 0;
+ border: 0;
+ background: transparent;
+ font: inherit;
color: var(--color-accent);
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
text-decoration: underline;
text-underline-offset: 2px;
+ cursor: pointer;
}
.uuid:hover {
color: var(--color-text);
diff --git a/ui/frontend/src/lib/active-view/table-sciences.svelte b/ui/frontend/src/lib/active-view/table-sciences.svelte
index 0b7bbf2..fffc86d 100644
--- a/ui/frontend/src/lib/active-view/table-sciences.svelte
+++ b/ui/frontend/src/lib/active-view/table-sciences.svelte
@@ -11,16 +11,14 @@ The four tech proportions are stored on the wire as fractions in
`[0, 1]` and surfaced here as percentages with one decimal so the
table matches the designer's input units.
-The component sits inside the active-view slot owned by
-`routes/games/[id]/+layout.svelte`, so it inherits the per-game
+The component sits inside the active-view area owned by
+`lib/game/game-shell.svelte`, so it inherits the per-game
`OrderDraftStore` and `RenderedReportSource` through context. No
-data fetching is performed here — the layout is responsible.
+data fetching is performed here — the shell is responsible.
-->