Platform
Every section, every panel, and what feeds it.
Sections and panels are declared once, in one registry. The rail, the command bar's autocomplete, the keyboard leader map and every route read that same declaration, so a section cannot exist in the navigation and not in the router.
Level 2 needs a direct exchange feed. No free source publishes one, so this book stays hollow.
What is bound, cluster by cluster
Coverage is counted, not claimed.
Tape
Context
Engine
Desk
System
Panel anatomy
The panel decides, not the widget.
Each panel owns its own header, banner, body and bindings. A widget never decides whether it has data — the panel does, and it picks the honest render.
Index for the 1–9 focus shortcut, the panel title, and one dot per bound source showing the worst state among them.
Appears only when a feed is partial or down, and says which of the two it is in words.
The widget, or the hatch. Never both, and never a shimmer standing in for either.
Declared per panel. Staleness is derived from the clock so a panel demotes itself without a re-render.
Copy and export are disabled on panels fed only by non-redistributable sources.
Principles
Four rules the frame never breaks.
One registry
Rail, command bar, leader map and router all read the same declaration. Adding a section is one entry, not five edits in five files.
Desktop-only is declared
Correlation matrices, world maps and linkage graphs mark themselves desktop-only. Below their minimum width they say so rather than misrepresenting the data.
The page never scrolls
The frame is the viewport; panels scroll inside it. Height uses dynamic viewport units because mobile browser chrome makes the static ones lie.
Two themes, one product
Terminal is the dark theme the product is designed in; Canon is the light remap of the same token names. A third theme is one token block and zero component edits.
The registry, in full
Twenty sections, declared once.
COKCockpitThe one screen you leave open all day
- Global tape
tickeryfinance · CoinGecko · Frankfurter FX - Cross-asset heat
heatyfinance · CoinGecko · FRED · Frankfurter FX - Engine's loudest calls
fanGodEngine - Wires
listGDELT · RSS wires - Sessions
kpiwire in — client-side clock - Source health
boardwire in — wft/api/routes/sources.py - Next events
listEcon calendar
MKTMarketsEquities and indices — the workhorse grid
- Instruments
gridyfinance · GodEngine - Price + forecast
fanyfinance · GodEngine - Sector treemap
treemapyfinance - Breadth
kpiyfinance
FXFXCross-rate matrix and carry
- Cross rates
matrixFrankfurter FX · ECB - Pair + forecast
fanFrankfurter FX · GodEngine - Rate differentials
gridFRED · ECB - Central bank calendar
listEcon calendar
RTSRatesSovereign curves and what they imply
- Yield curves
curveFRED · US Treasury · ECB - 2s10s / 3m10y
chartFRED · US Treasury - Tenor grid
gridFRED · US Treasury - Real rates
chartFRED - Curve forecast
fanFRED · GodEngine
CMDTCommoditiesEnergy, metals and agriculture
- Complexes
gridyfinance · GodEngine - Spot + forecast
fanyfinance · GodEngine - Term structure
chartwire in — wft/sources/futures_curve.py - Commodity ↔ FX
matrixyfinance · Frankfurter FX
CRYCryptoThe 24/7 book
- Top 100
gridCoinGecko · GodEngine - Pair + forecast
fanCoinGecko · GodEngine - Dominance
chartCoinGecko - Order book depth
ladderwire in — wft/sources/exchange_l2.py
MACMacroThe economy, country by country
- World
mapWorld Bank · FRED - Country detail
gridWorld Bank · FRED - Series compare + forecast
fanFRED · GodEngine - Release vs forecast
gridwire in — wft/sources/imf.py, wft/sources/oecd.py
WIRWiresFinancial newsflow, machine-read
- Wire
listGDELT · RSS wires - Entities mentioned
gridGDELT - Tone and volume
chartGDELT - Source mix
kpiGDELT · RSS wires
FILFilingsPrimary documents, unfiltered
- EDGAR feed
gridSEC EDGAR - Filing
readerSEC EDGAR - Form frequency
chartSEC EDGAR - XBRL facts
gridwire in — wft/sources/xbrl.py
CALCalendarWhat's scheduled to move things
- This week
gridEcon calendar - Event detail
kpiwire in — wft/sources/consensus.py - Countdown
listEcon calendar - Surprise vs reaction
scatterEcon calendar · FRED
SCRScreenerAsk the whole universe a question
- Query
formwire in — wft/api/routes/screener.py - Results
gridyfinance · CoinGecko · FRED · GodEngine - Saved screens
listwire in — localStorage at M1 - Distribution
chartyfinance
FCSTForecast LabForecast anything, with quantiles and a baseline
- Series
formyfinance · FRED · CoinGecko - Forecast
fanGodEngine - Horizon and transform
formwire in — client-side - Provenance
kpiGodEngine - Runs for this series
gridGodEngine
RECTrack RecordThe engine's report card — resolved forecasts, scored
- Score
kpiGodEngine - Forecast ledger
gridGodEngine - Calibration
chartGodEngine - Skill by horizon
chartGodEngine
DIVDivergenceWhere the engine most disagrees with the alternative
- Disagreement
gridGodEngine · yfinance - Observed / engine / baseline
fanGodEngine · yfinance - Does disagreeing pay?
scatterGodEngine - Engine vs analyst consensus
chartwire in — wft/sources/consensus.py
SCNScenariosBranching futures with probability mass
- Scenario tree
treewire in — wft/godengine/client.py → /api/resolve/stream - Branch detail
kpiwire in — wft/godengine/client.py - Probability mass over time
chartwire in — wft/godengine/client.py - Which branch are we in?
listwire in — wft/godengine/client.py
SIMSimulationPush a shock, watch it propagate
- Shock composer
formwire in — wft/api/routes/sim.py (WebSocket) - Propagation
networkwire in — wft/api/routes/sim.py - Impact by asset
chartwire in — wft/api/routes/sim.py - Sensitivity
chartwire in — wft/api/routes/sim.py - Tick timeline
timelinewire in — wft/api/routes/sim.py
CTGContagionCorrelation topology of everything
- Correlation
matrixyfinance · CoinGecko - Linkage graph
networkyfinance · CoinGecko - Rolling correlation
chartyfinance - By regime
gridyfinance - Systemic risk
kpiyfinance · CoinGecko
REGRegimesWhat kind of market this is
- Regime timeline
timelinewire in — wft/api/routes/regimes.py - Feature contribution
chartwire in — wft/api/routes/regimes.py - Transition matrix
matrixwire in — wft/api/routes/regimes.py - Performance by regime
gridwire in — wft/api/routes/regimes.py - Current regime
kpiwire in — wft/api/routes/regimes.py
WCHWatchlistsYour lists, with engine columns on
- Lists
listwire in — localStorage at M1; wft/api/routes/watch.py at M2 - Members
gridyfinance · CoinGecko · GodEngine - Selected
fanyfinance · GodEngine
ALRAlertsArmed conditions, including engine-conditioned ones
- New alert
formwire in — localStorage at M1 - Armed
gridyfinance · CoinGecko · GodEngine - Recently fired
listwire in — wft/api/routes/alerts.py at M2
SRCSourcesEvery connector, its state, and what it feeds
- Connectors
boardwire in — wft/api/routes/sources.py - Detail
kpiwire in — wft/api/routes/sources.py - Sections fed
listwire in — client-side
SETSettingsTheme, density, timezone, keymap
- Appearance
formwire in — client-side - Data and units
formwire in — client-side - Keyboard
listwire in — client-side