ui/phase-15: planet inspector production controls + order-draft collapse

Adds the second end-to-end command (`setProductionType`) with a
collapse-by-`planetNumber` rule on the order draft, the segmented
production-controls component on the planet inspector, the FBS
encoder/decoder pair for `CommandPlanetProduce`, and the
`localShipClass` projection on `GameReport`. Forecast number is
deferred and tracked in the new `ui/docs/calc-bridge.md`.
This commit is contained in:
Ilia Denisov
2026-05-09 15:54:30 +02:00
parent c4f1409329
commit 915b4372dd
31 changed files with 2200 additions and 76 deletions
@@ -117,6 +117,9 @@ fresh.
if (report === null) return null;
return report.planets.find((p) => p.number === sel.id) ?? null;
});
const localShipClass = $derived(
renderedReport.report?.localShipClass ?? [],
);
// Reveal the inspector whenever a new planet selection lands.
// Reading `selection.selected` once outside the effect keeps the
@@ -224,6 +227,7 @@ fresh.
/>
<PlanetSheet
planet={selectedPlanet}
{localShipClass}
onMap={effectiveTool === "map"}
onClose={() => selection.clear()}
/>