Skip to main content
The Supply Chain panel (internal id supply-chain) is the main entry point for everything supply-chain related: a composite shipping-stress score, carrier and ETF rows with price movement, a minerals concentration view, and — most importantly — the Scenario Engine trigger buttons that let PRO users activate pre-built disruption scenarios across the map and the panel state.

What the panel shows

Across the composite:
  • Shipping-stress header — a composite-stress score (0–100) with a tinted gauge, colour-bucketed by level (critical / elevated / moderate / normal).
  • Carrier / ETF / index rows — per-symbol price, per-cent change (/ arrow with bullish/bearish tint), a compact sparkline, and a type badge (ETF / IDX / CARR).
  • Critical minerals rows — per-mineral top-3 producer concentration, HHI, and risk rating (critical / high / moderate / low).
  • Scenario Engine trigger cards — per-scenario trigger buttons (sc-scenario-trigger / sc-scenario-btn) that dispatch a template id to the scenario worker. Free users see the buttons but hit the PRO gate at activation. Scope-all scenario runs use the v1 seeded reporter set (US, CN, RU, IR, IN, TW). See Scenario Engine for the full workflow.
  • Active-scenario banner (when a scenario is running) — icon, scenario name, optional params chip (duration + cost bump), top impacted countries, dismiss ×. When template parameters are populated, an additional “Simulating …” tagline renders. Banner construction lives in renderScenarioBanner() in src/components/SupplyChainPanel.ts.
Panel id is supply-chain; canonical component is src/components/SupplyChainPanel.ts. Title per variant: “Supply Chain” (full/finance) or “Supply Chain & Logistics” (commodity).

How you reach it

  • Cmd+K: type supply chain, shipping, or logistics.
  • Availability by variant: registered and enabled by default in the full/geopolitical (priority 1), finance (priority 1), and commodity (priority 1) variants. Not present in the tech or happy variants. Source: 'supply-chain' entries in FULL_PANELS, FINANCE_PANELS, COMMODITY_PANELS. On desktop the full-variant registration additionally layers premium: 'enhanced' (_desktop && clause in src/config/panels.ts).

Data sources

The panel and adjacent supply-chain workflows mix generated sebuf REST RPCs, bootstrap/shared-store first paint, and special platform routes. The main Supply Chain panel reads cached bootstrap payloads for composite stress, chokepoints, shipping rates, and minerals when available, then refreshes through the generated SupplyChainService RPCs. Special platform routes used from this surface: See Scenarios API for the full async job contract.

Refresh cadence

Panel reads on mount and on user-triggered refresh. Scenario Engine jobs are async; the panel polls the job status endpoint and paints the banner once the worker writes status: "done".

Tier & gating

The Supply Chain panel itself is free on web (full / finance / commodity variants). On desktop, the full-variant registration layers premium: 'enhanced'. The Scenario Engine activation is PRO regardless of web vs desktop — free users see the trigger buttons but hit the scenario-engine gate on activation.