Phase 17b prototype inventory¶
Spike SP-3 (#1565) of phase-17b-walk-corrections.md. This is the
per-view inventory of the v2 prototype snapshot that guardrails 10 and 12 check coverage against.
Its rows are the change registry ids of the snapshot, one table per registry view, 221 in all.
Every live id is shown owned by an acceptance box of one milestone issue, or listed as prototype
only. Under each table, the elements of that view that no registry entry names have rows of their
own, first drafted from the UI repo's docs/prototype/mapping.md (written against v1) and checked
against v2.
Snapshot. climate-lama-ui docs/prototype/v2/source/ at artifact version 1791210282-291b
(UI main at 7714726). The registry is js/changes17b*.js: 221 entries, 9 titled
"Superseded:", 212 live. Every file and line in this document is under docs/prototype/v2/source/.
Coverage run of 2026-10-07. From this repo, with the UI checkout beside it:
python scripts/prototype_registry_coverage.py --registry-dir ../climate-lama-ui/docs/prototype/v2/source/js
It printed the lines below and exited 1. The owner column is written from the same run's --json
map.
registry entries: 221 (live 212, superseded 9)
issues read: 289
mapped to an acceptance box: 206
prototype only: 6 (shell-7, shell-8, shell-9, explore-27, explore-44, adapt-19)
unmapped:
How a registry row reads. It opens with the id, then the title, the hash that shows the entry
in the snapshot (its go) and one of these:
- The owning issues as
<tag>#<N>, each with the first words of its acceptance box that names the id.beis this repo,uiisclimate-lama-uiandenisclimate-lama-engine. Every issue the map lists for the id is named. Titles and box excerpts are quoted as the registry and the issues write them. prototype-only, for an id on guardrail 10's line "Prototype only (registry ids):" (the list of phase-17b-finetune.md § 4), and for a live id the map leaves empty.superseded: <id>, for the 9 entries a later entry replaced. They name no owning issue.deviation: <finding id>, for a departure from v2 the owner approved. Recorded: the 12 rows of K57 to K66 (2026-10-07) andlookup-6(K73, 2026-10-13). The three listed before 2026-10-05 are what v2 itself shows: the lens outside the top bar (shell-1,settings-7), the Home section in Settings (settings-1,settings-2,home-1) and the two-step dock (explore-28, K36). Their rows name an owning issue like any other.
How an element row reads. It gives the element, its v2 file and line, and the finding id that
covers it, out-of-scope: <reason> or prototype-only. SH-16 (parity item, guardrail 1) marks
an element with no change of its own, which SH-16's per-view parity item proves against the
prototype captures. Under each element table one line lists the first-draft rows that a registry
entry names, which that entry's row covers, and one line lists the first-draft rows v2 no longer
draws. The elements of the record § 4 list that no registry entry names read prototype-only: the
Options entry of the rail (shell), the preview switch fresh (home), the preview switch adminAs
(admin) and the scale test (explore).
Open points.
lookup-11is owned by ui#886 since the owner's picks of 2026-10-07 (#1673 item 5, LK-15, K71), so the check printsunmapped:empty.admin-1is owned by ui#843 since the coverage script stopped crediting admin-level prose (#1698, #1699).- Box 9 of #1565 is met: after the delta split the check prints
unmapped:with no ids and exits 0, and the owner column agrees with the script's map for every id.
Inventory by view¶
Views in registry order: shell, home, lookup, portfolios, reports, data, analyses, settings, admin, explore, events, adapt, assistant.
shell¶
19 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
shell-1 |
The role lens leaves the top bar | #settings.lens |
ui#729: "shell-1 (SH-17): the switcher and its suite are gone and nothing references …" |
shell-2 |
The bell leads with Watch update items | #home |
be#1617: "EV-14 (shell-2): the watch_update payload also carries event_loss (the result's ground-up loss) …" · ui#789: "shell-2 (SH-11): A watch_update row renders its title ("Watch update: <watch> scored …" |
shell-3 |
One money formatter that never throws | #portfolios |
ui#719: "shell-3 (PF-1, guardrail 2): Every money caller goes through formatAmount over the …" |
shell-4 |
Centred search names what it finds | #home |
ui#854: "shell-4 (SH-6): the palette groups and opens them, and one failing source …" · ui#731: "shell-4 (SH-4, SH-18 grid and trigger): at 1440×900 on /, /explore and …" |
shell-5 |
Density reaches card and KPI padding | #settings.appearance |
ui#733: "shell-5 (SH-20): at 1440×900 the measured root of /portfolios and /settings (main …" · ui#726: "shell-5 (SH-20): at 1440×900 the measured Home root (main > [data-testid=home]) has …" |
shell-6 |
One button style in every P1 view | #home |
ui#742: "shell-6 (SH-21): ConfirmDialog is Modal plus Button (danger or primary confirm, secondary …" · ui#728: "shell-6 (SH-21): every <button> this change edits renders through src/ui/Button and no …" · ui#722: "shell-6 (SH-21): src/ui/Button.tsx renders variants primary, secondary, ghost, danger and icon at …" |
shell-7 |
17b review board replaces the Direction board | #review |
prototype-only (record § 4, the line of guardrail 10) |
shell-8 |
Options to compare, saved for Claude | #options |
prototype-only (record § 4, the line of guardrail 10) |
shell-9 |
A view never fails silently | #home |
prototype-only (record § 4, the line of guardrail 10) |
shell-10 |
Options joins the rail, and the top bar never overlaps | #home |
ui#732: "shell-10 (SH-4): at 1366×768 and 1600×900 on /explore with a scope whose …" · ui#731: "shell-10 (SH-4): at 1366×768 and 1600×900 on /explore and /settings, with Ask …" · ui#730: "shell-10 (SH-4): with nothing saved the rail is unfolded, every entry's caption …" |
shell-11 |
The rail logo: wave mark or shield | #home |
ui#863: "shell-11 (SH-28, K44): the rail's brand link (rail-wordmark, href="/", accessible name and …" |
shell-12 |
One name for the saved-work list | #analyses |
ui#862: "shell-12 (SH-25, K43): the rail entry of /analyses, the phone's bottom tab …" |
shell-13 |
A running indicator: header pill or rail badge | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#866: "shell-13 (EX-20, K42): the top bar shows a pill only while a …" |
shell-14 |
The bell lists your finished runs first | #home |
ui#866: "shell-14 (EX-20): a run of the viewer's that ends raises a toast …" · ui#789: "shell-2, shell-14 (SH-11, EX-20): the bell lists a "Watch updates" head with …" |
shell-15 |
The scope chip shows the resolved scope | #explore |
ui#790: "shell-15 (SH-4, EX-18): in Adapt the top bar reads "Adapt" then the …" · ui#746: "shell-15 (EX-18): on Explore the top bar's scope chip reads the same …" |
shell-16 |
“Added to the report” opens the report | #reports |
ui#869: "shell-16 (RP-2): add_to_report raises the toast "Added to the report basket" with …" |
shell-m1 |
Every map opens on streets that follow the theme | #explore |
ui#760: "shell-m1 (SH-2): With the dark theme and no saved basemap, the style …" · ui#725: "shell-m1 (LK-5, interim): a streets-dark basemap key draws the configured raster template …" · ui#723: "shell-m1 (SH-2, W1 half): defaultBasemap() is auto with and without a street …" |
shell-m2 |
Ember is the default score palette | #explore |
ui#724: "shell-m2 (SH-3): useMapPalette() answers ember when neither a legend pick nor a …" |
shell-m3 |
Satellite and Terrain: “connect a provider” | #explore |
ui#761: "shell-m3 (SH-19): With VITE_TERRAIN_DEM_TILES and VITE_TERRAIN_DEM_ATTRIBUTION set, choosing Terrain adds a raster-dem …" |
shell: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Design tokens: fonts, surfaces, accent, bands, hazard and scenario colours, radius, rail and top bar sizes | index.html:14 |
SH-4, SH-12, SH-20, SH-21 |
Dark theme and the top bar theme toggle (CL.applyTheme at js/core.js:293) |
js/app.js:255 |
SH-4 |
| Risk bands, score pill, hazard tiles and status pills | js/core.js:155 |
SH-16 (parity item, guardrail 1) |
Named-action registry (CL.actions, actions defined from js/app.js:290) |
js/core.js:272 |
SH-5, EX-4 |
Hash router CL.go and CL.render, one route per view |
js/core.js:358 |
EX-4 |
| Toast, modal and anchored menu | js/core.js:308 |
SH-12 |
| Rail entries with icon and caption, and the phone bottom tabs (four plus More) | js/app.js:118 |
SH-4 |
| Top bar title and the primary Ask button | js/app.js:246 |
SH-4 |
| Map control group: zoom, 3D extrusion, globe, north | js/mapkit.js:720 |
SH-2, SH-19 |
| Chart kit: line, loss exceedance, columns, bars, donut, gauge, sparkline, distribution, grade ruler | js/charts.js:6 |
EX-10, SH-16 |
| Lucide icon set, stroke 1.75 | js/icons.js:1 |
EX-12 |
Options entry at the head of the rail's pinned group (the Options half of shell-10, not in mapping.md) |
js/app.js:120 |
prototype-only (record § 4, the Options button and board) |
First-draft rows a registry entry names: map palettes (shell-m2), command palette (shell-4), role lens personas and nav order per lens (settings-7), lens button in the top bar (shell-1), bell with watch items (shell-2), centred search (shell-4), scope chip (shell-15), compact density (shell-5), MapKit basemaps and their menu (shell-m1, shell-m3), MapKit popup card (explore-15), MapKit pins and area draw (explore-41).
First-draft rows v2 no longer draws: the Direction board. js/views/board.js is still loaded but nothing links to it (js/app.js:119), because the 17b review board replaces it (shell-7).
home¶
15 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
home-1 |
Home cards come from Settings → Home | #settings.home |
ui#847: "home-1 (SH-16, SH-10 ui#559 "the adaptation-plan figure (avoided loss)", AD-13): the adaptation-plan …" · ui#816: "home-1 (SH-23): UserPreferences types home_cards?: {figures: KpiFigure[]; blocks: HomeBlock[]} \| null, homeFigures(lens …" · deviation: SH-16 (K66) |
home-2 |
The Home book is ranked within one money unit | #home |
ui#721: "home-2 (SH-1, guardrail 2): Home ranks portfolios within one money unit. Over …" |
home-3 |
Portfolio risk headline is the worst band | #home |
ui#741: "home-3 (PF-9, K25): Home's headline card shows the worst band, the pill …" |
home-4 |
Superseded: Expected annual impact per hazard, never summed | #home |
superseded: home-13 |
home-5 |
Unscored hazards and the member cap stated | #home |
ui#737: "home-5 (PF-10, run model § 11): Home's headline card ends with one …" |
home-6 |
Events and watches block, no alerts | #home |
be#1611: "EV-14 (home-6, analyses-3): GET /v1/live-events and GET /v1/live-events/{id} serve latest_insured_event_loss, the insured_event_loss …" · ui#785: "events-11, home-6 (EV-16): WatchCard and LiveNowCard format latest_event_loss through formatAmount with latest_event_loss_unit …" · ui#784: "events-11, home-6 (EV-14): The run model § 11 line renders verbatim whenever …" · deviation: EV-14 (K62) |
home-7 |
A Home insight opens Adapt with the scope | #home |
ui#793: "home-7 (AD-1): for a portfolio lens scope Home's Key insights card ends …" |
home-8 |
Quick actions are buttons; layout switch gone | #home |
ui#727: "home-8 (SH-22): the three actions are <Button size="sm"> controls with the Upload …" |
home-9 |
Screening badge on Home figures | #home |
ui#846: "home-9 (SH-16, K26): the map card's chips are "All" and one chip …" |
home-10 |
A new organisation sees four steps to a first result | #home |
ui#864: "home-10 (SH-27, K46): with any step not done Home shows, above the …" |
home-11 |
Empty cards in place of mock figures | #home |
ui#864: "home-11 (SH-27, K46): while step 3 is not done every figure card …" |
home-12 |
New analysis starts clean | #home |
ui#727: "home-12 (SH-22, FT-26): new_analysis is a named action in src/actions/explore/newAnalysis.ts, imported by …" |
home-13 |
A hazard that is not computed offers “Run it” | #home |
ui#846: "home-13 (SH-22, FT-26, PF-8): a hazard the portfolio has no result for …" |
home-14 |
Home opens Explore with an exposure, and never throws | #home |
ui#846: "home-14 (SH-22, FT-26, EX-18): every way from Home into Explore carries an …" · ui#827: "home-14 (SH-16, SH-22, SH-10 ui#538 "region-scoped figures for the Decision-maker": municipalities at …" |
home-15 |
Work in flight is said in words | #home |
ui#866: "home-15 (EX-20): Home's Recent activity names a batch in flight "Batch · …" |
home: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
Greeting and lens context line, the head of renderA |
js/views/home.js:352 |
SH-16 (parity item, guardrail 1) |
Assets at high or severe risk figure, figAssets |
js/views/home.js:287 |
SH-23 (served figure catalogue), SH-16 (parity item, guardrail 1) |
| Live watches, Watch updates, Hazard datasets ready and Engines live figures | js/views/home.js:298 |
SH-23 (served figure catalogue), SH-11, SH-16 (parity item, guardrail 1) |
| Address search figure with its "Try" place chips (citizen lens) | js/views/home.js:303 |
SH-23 (served figure catalogue), SH-16 (parity item, guardrail 1) |
Figures no endpoint serves yet: municipalities at high risk, adaptation plan, engine agreement, scenario cells cached (sh16: true) |
js/views/home.js:147 |
SH-16 (their backbone item first), SH-23 (they join the catalogue only when served) |
| "Where the risk is" map block with its hazard chips | js/views/home.js:323 |
SH-16 (Home: map hazard chips), SH-2, SH-3 |
| Top municipalities block | js/views/home.js:326 |
SH-16 (Home: top municipalities) |
| Hazard mix block | js/views/home.js:327 |
SH-16 (parity item, guardrail 1) |
Preview switch fresh ("Preview: a new organisation", not in mapping.md) |
js/finetune17b.js:88 |
prototype-only (record § 4, one of the two preview switches. The state it shows is a target, home-10 and home-11) |
First-draft rows a registry entry names: quick actions Upload, Look up and New analysis (home-8), insurer risk score and expected annual impact figures (home-3, home-5, home-13), map popup actions popupAct (home-14), events and alerts list evRows (home-6), recent activity recentRows (home-15), key insights with action buttons (home-7).
First-draft rows v2 no longer draws: the map-first layout B (renderB stays in the code at js/views/home.js:425 but no switch reaches it, home-8 removed the layout switch).
lookup¶
14 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
lookup-1 |
Opens on SSP2-4.5 with a visible picker | #lookup |
ui#805: "lookup-1 (LK-1): every hazard header reads "<hazard> · Today" at the Today …" · ui#804: "lookup-1 (LK-1, K4): the panel's row reads "Scenario", the four SSP buttons …" |
lookup-2 |
A future stop never repeats a baseline value | #lookup |
ui#812: "lookup-2 (LK-9): an earthquake whose future cards carry provenance.hazard_conditioning: "not_climate_driven" shows its …" · ui#805: "lookup-2 (LK-1), prod-shaped table: on a Greek river-flood pin answered by an …" |
lookup-3 |
Report panel at 40 %, resizable to 55 % | #lookup |
ui#809: "lookup-3 (LK-8): at a 1440 px viewport LOOKUP_PANEL opens at 576 px …" |
lookup-4 |
One collapsed “Why this score?” block | #lookup |
ui#814: "lookup-4 (LK-13, K49): for a river-flood card (dataset "JRC river flood Greece" …" · ui#809: "lookup-4 (LK-8) move inventory (guardrail 9), HazardDetail's sections into one "Why this …" |
lookup-5 |
Watch and Place report work | #lookup |
ui#810: "lookup-5 (LK-3): the top bar reads "Watch", "Share" and "Place report" in …" |
lookup-6 |
The map raster follows the hazard tab | #lookup |
ui#806: "lookup-6 (LK-4): on a fixture card with earthquake banded 7 and river …" · deviation: LK-4 (K73) |
lookup-7 |
Flood chances read “at least” | #lookup |
ui#811: "lookup-7 (LK-7): HazardChances prints "at least 10 %" for this year and …" |
lookup-8 |
Catalogue measures with “Model the benefit” | #lookup |
ui#813: "lookup-8 (LK-10): the river-flood tab's block "What you can do" lists at …" |
lookup-9 |
Coordinates shown; Phase 18 extras removed | #lookup |
ui#831: "lookup-9 (LK-12): QuickPlaces renders exactly the places useCoveredPlaces() returns, as chips with …" · ui#807: "lookup-9 (LK-11): the two inputs, labelled "Latitude" and "Longitude", sit in the …" |
lookup-10 |
Tabs show icon, name and the stop’s score | #lookup |
ui#808: "lookup-10 (LK-6): every tab renders a HazardIcon, a short name from lookup:hazardsShort.* …" |
lookup-11 |
“This area” shows saved-run figures per hazard | #lookup |
ui#886: "lookup-11 (LK-15, K15, K26): "This area" reads GET /v1/risk/admin-units/{boundary_id}/impact …" |
lookup-12 |
The pin opens a place card | #lookup |
ui#867: "lookup-12 (LK-14): a click on the pin opens the place card with …" |
lookup-13 |
Open in Explore takes the place path | #lookup |
ui#867: "lookup-13 (LK-14, BC-8, K38): "Open in Explore" on a Greek pin opens …" |
lookup-14 |
Moving the pin raises no error | #lookup |
ui#867: "lookup-14 (LK-14, FT-28): a click on the map away from the pin …" |
lookup: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Address search box in the top row | js/views/lookup.js:150 |
LK-2 |
| Share button beside Watch and Place report | js/views/lookup.js:154 |
SH-16 (parity item, guardrail 1) |
| Street and Satellite switch on the Lookup map | js/views/lookup.js:331 |
SH-19 |
| Past event cards under the map | js/views/lookup.js:317 |
SH-16 (parity item, guardrail 1) |
| Hazard group cards under the headline | js/views/lookup.js:322 |
LK-8 |
| Cumulative chance chart over 30 years | js/views/lookup.js:265 |
LK-1, LK-7 |
| Key insights card | js/views/lookup.js:324 |
SH-16 (parity item, guardrail 1) |
First-draft rows a registry entry names: quick-place chips (lookup-9), Watch and Place report buttons (lookup-5), the map with its pin and dropped-pin click (lookup-12, lookup-14), the headline score and "Worst of n" (lookup-3), hazard tabs with icon and score (lookup-10), chances this year, in 15 and in 30 years (lookup-7), the score by time horizon ruler at js/views/lookup.js:291 (lookup-2), the collapsed "Why this score?" (lookup-4), "What you can do" with "Model the benefit" (lookup-8), the "This area" community tab (lookup-11).
First-draft rows v2 no longer draws: 3D city buildings and the depth legend, Street photo and Edit home in the map switch, the Edit home modal and the illustrative 30-year damage line (lookup-9 removed them), the layout B floating card and gauge (lookup-9 removed the layout toggle, and the file header at js/views/lookup.js:6 says layout B is left out).
portfolios¶
15 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
portfolios-1 |
Books read in their own unit; mixed units named | #portfolios |
ui#737: "portfolios-1 (PF-10, K27): a rollup with value_weighted.unit = null and reason = …" · ui#736: "portfolios-1 (PF-3): the card's EAD lines print in the list row's value_unit …" |
portfolios-2 |
EAD per hazard, labelled, never summed | #portfolios |
ui#720: "portfolios-2 (PF-8): A portfolio with a river-flood and an earthquake entry in …" |
portfolios-3 |
Worst band headline with value distribution | #portfolios |
ui#741: "portfolios-3 (PF-9, K25): the card renders "X % of value in high …" |
portfolios-4 |
Score-only books refuse a money loss | #portfolios.ghsl |
ui#743: "portfolios-4 (PF-4, K19): once the scope is known score-only, the strip's not-computed …" |
portfolios-5 |
Member cap and unscored hazards disclosed | #portfolios |
ui#737: "portfolios-5 (PF-10): with subject.scored_member_count 100 and member_count 150, the card reads "100 …" |
portfolios-6 |
A failing book cannot take the list down | #portfolios |
ui#734: "portfolios-6 (PF-5): on Portfolios, one PortfolioCard that throws (fixture portfolios with value_unit …" |
portfolios-7 |
Upload asks for an ISO currency or m3 / persons | #portfolios.upload |
ui#738: "portfolios-7, data-9 (PF-2): Upload offers an ISO 4217 select plus the non-money …" |
portfolios-8 |
Value sorts within one unit; ruler follows scenario | #portfolios |
ui#826: "portfolios-8 (PF-7, SH-1): the context chip drives every card" |
portfolios-9 |
Synopsis: value donut, EAD per hazard, typical band | #portfolios.hpb |
ui#828: "portfolios-9 (PF-7, PF-8, K26): the tiles and the per-hazard list follow K26 …" · ui#741: "portfolios-3, portfolios-9 (PF-9, K49): the average reads exactly "value-weighted average band (ordinal …" |
portfolios-10 |
Explore, Adapt and Report carry the book | #portfolios.hpb |
ui#830: "portfolios-10 (PF-6): the card's "Report" action addresses the portfolio" |
portfolios-11 |
Portfolios built from exposure layers say so | #portfolios |
ui#861: "portfolios-11 (FT-16, PF-12): a portfolio built from catalogue data reads "Built from …" |
portfolios-12 |
The upload dialog says it creates a portfolio | #portfolios.upload |
ui#861: "portfolios-12 (FT-16, PF-12): "Upload portfolio" opens a dialog titled "Upload a portfolio" …" · deviation: PF-12 (K65) |
portfolios-13 |
Import runs as an ingest job | #portfolios.upload |
be#1667: "DT-7, data-12, portfolios-13: POST /v1/exposures stages the file in object storage, enqueues …" · ui#861: "portfolios-13 (FT-16, FT-12, FT-17): "Import" closes the dialog, raises "Import started: <name> …" |
portfolios-14 |
New version, pins and Add to analysis | #portfolios.hpb |
ui#861: "portfolios-14 (FT-16, PF-12): "Upload a new version" in a card's menu (a …" · ui#829: "portfolios-14 (PF-12, K49): with one row selected the bar reads "1 selected" …" |
portfolios-15 |
One word for your own assets | #portfolios.hpb |
be#1667: "DT-7, data-15, portfolios-15: an exposure dataset created by a portfolio upload names …" · ui#861: "portfolios-15 (FT-16, K49): cards, the synopsis and its notes say "portfolio" throughout …" |
portfolios: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| List toolbar: search, kind chips, context chip, sort, template, upload | js/views/portfolios.js:470 |
PF-7 |
| Card map thumbnail | js/views/portfolios.js:407 |
PF-7 |
| Geocoded precisely meter on the card | js/views/portfolios.js:411 |
PF-7 |
| Add a portfolio card with three ways in | js/views/portfolios.js:420 |
PF-7 |
| Card More menu: download assets as CSV, share with a team, delete (not in mapping.md) | js/views/portfolios.js:530 |
SH-16 (parity item, guardrail 1) |
| Column mapping with the assistant's suggestion | js/views/portfolios.js:635 |
SH-16 (parity item, guardrail 1) |
| Address geocode with quality pills | js/views/portfolios.js:712 |
PF-7 |
| Detail header: worst and average band and context chips | js/views/portfolios.js:756 |
SH-16 (parity item, guardrail 1) |
| Detail map Clusters and Areas switch with a hazard-layer toggle | js/views/portfolios.js:740 |
PF-7, EX-14 |
| Synopsis KPI tiles with the 1-in-200 loss | js/views/portfolios.js:803 |
PF-7 |
| Synopsis geographic spread bars | js/views/portfolios.js:807 |
PF-7 |
| Asset directory: search, type filter, sort, export, top-3 hazard columns | js/views/portfolios.js:744 |
PF-7, SH-12 |
| Directory bulk select bar | js/views/portfolios.js:840 |
PF-7 |
| Unknown portfolio id state (not in mapping.md) | js/views/portfolios.js:1087 |
SH-16 (parity item, guardrail 1) |
First-draft rows a registry entry names: the card's score, assets, value and EAI (portfolios-1, portfolios-2, portfolios-3), the band distribution bar (portfolios-3), the headline grade ruler (portfolios-8), card actions Open, Explore, Adapt and Report (portfolios-10), the CSV template preview and download (portfolios-7), the upload dialog with name, owner and currency (portfolios-7, portfolios-12), the detail header actions Explore, Adapt and Report (portfolios-10), the synopsis band donut and by-hazard bars (portfolios-9). Named elements that mapping.md lacks: the import strip (portfolios-13), the kind chips filter (portfolios-11), the bulk "Add to analysis" (portfolios-14), the failing card (portfolios-6).
First-draft rows v2 no longer draws: none.
reports¶
14 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
reports-1 |
ORSA reads “Wording to verify” | #reports |
be#1637: "reports-1 (RP-1): The running API serves it" |
reports-2 |
Portfolio report from a book, with Draft | #reports.portfolio |
ui#838: "reports-2 (PF-6): Draft shows only while features.assistant is on" · ui#830: "reports-2 (PF-6): the Studio creates a scoped document from that address" |
reports-3 |
A portfolio rollup widget | #reports.portfolio |
ui#833: "reports-3 (PF-6): the picker adds a rollup widget for a chosen portfolio" |
reports-4 |
Event loss with its basis, no alert wording | #reports.event |
be#1616: "EV-14, the printed half of reports-4: when the watch has terms, the …" · ui#784: "reports-4 (EV-14, EV-17): the Reports Studio's event_result preview reads its result (GET …" |
reports-5 |
Superseded: Widgets reference results by id | #reports |
superseded: reports-9 |
reports-6 |
Impact analysis is the eighth template | #reports.impact |
be#1637: "reports-6 (RP-1): The template listing serves all eight templates of the domain …" |
reports-7 |
Place widget from Lookup | #lookup |
ui#810: "reports-7 (LK-3, K15, K49): a report filled with the staged place shows …" |
reports-8 |
Report money in the scope’s unit, per hazard | #reports |
ui#739: "reports-8 (PF-3): the Reports EAD and insured-loss KPI previews and the curve …" |
reports-9 |
Nothing invented | #reports |
be#1638: "RP-2 (FT-23, feeds reports-9 and reports-10): a document with scope.admin_boundary_id round-trips and …" · ui#869: "reports-9 (RP-2, FT-23): a key figures, map, loss curve, scenarios over time …" · ui#833: "reports-9 (RP-2): a portfolio whose rollup bands no hazard and whose ead_by_hazard …" |
reports-10 |
A place report is a screening | #reports.place |
be#1638: "RP-2 (FT-23, feeds reports-9 and reports-10): a document with scope.admin_boundary_id round-trips and …" · ui#869: "reports-10 (RP-2, K15): a place report whose municipality holds no run shows …" |
reports-11 |
An empty report names the ways to fill it | #reports |
ui#869: "reports-11 (RP-2): "New" starts a report with no widget, whose canvas reads …" |
reports-12 |
The share link points at this report | #reports |
ui#869: "reports-12 (RP-2): "Share link" copies <origin>/reports?doc=<this report's id> and toasts "Link to …" |
reports-13 |
The event report carries the event id | #reports.event.daniel |
ui#869: "reports-13 (RP-2, EV-19): a post-event report shows its event's key in the …" |
reports-14 |
The basket knows saved work and Events | #reports |
ui#845: "analyses-14, reports-14 (EX-21): "Add to report" sends the item itself" |
reports: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| My reports drafts list with New | js/views/reports.js:939 |
SH-16 (parity item, guardrail 1) |
| Canvas title, scope chip, Edit and Preview | js/views/reports.js:942 |
PF-6 |
| Scope menu: portfolio or place | js/views/reports.js:1093 |
PF-6 |
| Add widget menu and widget menu (move, remove) | js/views/reports.js:1062 |
SH-16 (parity item, guardrail 1) |
| Comment and reviewer notes widget | js/views/reports.js:733 |
out-of-scope: the product keeps its note widget. Reviewer notes with author and date need a comment store that no finding or milestone issue asks for |
| Adapt widget (saved plan table) | js/views/reports.js:777 |
AD-8 |
| Completeness ring and checklist (Compliance coverage or Report completeness) | js/views/reports.js:1018 |
SH-16 (parity item, guardrail 1) |
Export and share: PDF plus copy link (v2 also draws Word, share at js/views/reports.js:1134) |
js/views/reports.js:945 |
RP-2 (the share link of reports-12). out-of-scope: the Word export, no Word renderer is in this phase. The product already serves PDF |
First-draft rows a registry entry names: the templates list with eight templates (reports-6, reports-1), the report basket (reports-14), figure widgets for kpis, map, lec, horizon, table and hazards (reports-8, reports-9), the text widget with assistant Draft (reports-2), the event widget (reports-13).
First-draft rows v2 no longer draws: none.
data¶
17 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
data-1 |
Hazard drawer: frequency type, bbox, slices | #data.jrc-rf-grc |
ui#823: "data-1 (DT-1, DT-2, DT-3): a hazard layer's drawer and full page read …" |
data-2 |
Earthquake marked not climate-driven | #data.eshm-grc |
ui#823: "data-2 (LK-9, EX-16): a hazard layer's drawer and full page read "Climate-driven" …" |
data-3 |
River flood SSP2-4.5 for region “Greece” | #data.rf-ssp245-gr |
ui#712: "data-3 (EX-1, SH-7, guardrail 2): The UI stack loads the prod-shaped seed …" |
data-4 |
Exposures show value unit and exposure type | #data.census-cyp |
ui#821: "Each tab's summary strip counts its own rows (SH-16)" |
data-5 |
HDF5 upload lists its dropped columns | #data.litpop-cyp-h5 |
ui#825: "data-5 (DT-4): the drawer and the full page print them" |
data-6 |
Curves carry an exposure type and default | #data.jrc-ddf |
ui#823: "data-6 (DT-5): a damage curve's drawer reads "Exposure type" with the served …" |
data-7 |
An empty tab invites an upload | #data |
ui#820: "data-7 (SH-13): a tab that holds no dataset invites an upload, and …" |
data-8 |
Measures read as standards and floor raises | #data.m-levee |
ui#823: "data-8 (AD-2, AD-15, AD-11): a measure row of the Adaptation measures tab …" |
data-9 |
Dataset upload asks for the value unit | #data |
ui#738: "portfolios-7, data-9 (PF-2): Upload offers an ISO 4217 select plus the non-money …" |
data-10 |
An upload says what it creates | #data |
be#1670: "DT-7, data-10: POST /v1/admin-boundaries/uploads (an analyst or above) takes a GeoJSON FeatureCollection …" · be#1667: "DT-7, data-10: POST /v1/exposures takes country (ISO3) and reference_year. A file whose …" · ui#876: "data-10 (DT-7): the adaptation measures kind asks for "Hazard type" and reads …" · ui#822: "data-10 (DT-7, K49): "Upload a dataset" opens with six kind cards in …" |
data-11 |
Damage curves and event footprints upload as themselves | #data |
be#1670: "DT-7, data-11: POST /v1/impact-functions takes exposure_type (default buildings) and is_default (default false) …" · ui#876: "data-11 (DT-7): the Vulnerability tab uploads a damage curve and the Events …" |
data-12 |
An upload runs as an ingest job | #data |
be#1667: "DT-7, data-12, portfolios-13: POST /v1/exposures stages the file in object storage, enqueues …" · ui#877: "data-12 (DT-4, DT-7): the upload result is the bar's finished row, since …" |
data-13 |
An upload asked for elsewhere finds its way back | #data |
ui#877: "data-13 (DT-7, EX-18, SH-27): an upload that another view asked for (#822's …" · ui#822: "data-13 (DT-7, EX-18, SH-27): /data?upload=exposure&back=<an Explore address> opens "Upload a dataset" on …" |
data-14 |
Use in Explore on the row, the drawer and the page | #data.litpop-cyp-h5 |
ui#824: "data-14 (DT-7, EX-18, PF-12): a hazard or exposure layer carries "Use in …" |
data-15 |
A portfolio’s file links to its portfolio | #data.hpb-csv |
be#1667: "DT-7, data-15, portfolios-15: an exposure dataset created by a portfolio upload names …" · ui#823: "data-15 (DT-7, PF-12, K49): the drawer and the full page of an …" |
data-16 |
Post-event report opens for that event | #data.e-daniel |
ui#823: "data-16 (SH-16, RP-2): an event's drawer offers its next steps with the …" |
data-17 |
A new version is an ingest too | #data.litpop-grc |
be#1667: "DT-7, data-17: an upload through POST /v1/hazards/upload or POST /v1/exposures names the …" · ui#824: "data-17 (DT-7): "Upload a new version" on a hazard or exposure layer's …" |
data: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
Six catalogue tabs with counts (tabs drawn at js/views/data.js:1012) |
js/views/data.js:192 |
SH-16, SH-10 |
| Summary strip per tab | js/views/data.js:470 |
SH-16 |
| Filter chips with counts and free-text search | js/views/data.js:493 |
SH-16 |
| Storage meter | js/views/data.js:1014 |
SH-16 (parity item, guardrail 1) |
| Catalogue table | js/views/data.js:455 |
SH-16 (parity item, guardrail 1) |
| Coverage toggle and matrix "What the platform can compute where" | js/views/data.js:956 |
SH-16 |
| Coverage side cards "Scenarios and horizons ingested" and "Exposure and damage curves" | js/views/data.js:957 |
SH-10 |
| Details drawer mini-map, metadata and legend | js/views/data.js:619 |
SH-16, SH-12 |
| Drawer Provenance, Used by and Versions | js/views/data.js:561 |
SH-16 |
| Row actions: preview, download, delete, open full page | js/views/data.js:399 |
SH-16 |
Vulnerability curve preview (modal at js/views/data.js:703) |
js/views/data.js:635 |
SH-16 |
| Event row: Portfolios in the footprint, Replay in Explore | js/views/data.js:580 |
SH-16 |
| Drag and drop onto the catalogue | js/views/data.js:503 |
SH-16 |
| Upload menu: CSV template and GeoTIFF guide | js/views/data.js:909 |
SH-16 |
| Full dataset page | js/views/data.js:1138 |
SH-16 |
First-draft rows a registry entry names: the upload modal by kind (data-10, data-11, data-9), Use in Explore on the row and the page (data-14), Post-event report on an event row (data-16), the empty-tab upload call (data-7), the hazard drawer's frequency type and bbox (data-1).
First-draft rows v2 no longer draws: none.
analyses¶
17 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
analyses-1 |
Runs read in their own unit | #analyses.an9 |
ui#735: "analyses-1 (SH-8, PF-3): RunCard and RunSummaryDrawer format the EAD and pass formatLoss …" |
analyses-2 |
Multi-hazard batch: each hazard, no total | #analyses.an2 |
ui#848: "analyses-2 (PF-8, K26): a result set of several hazards (a batch over …" |
analyses-3 |
Event replay: ground-up and insured, not annual | #analyses.an5 |
be#1611: "EV-14 (home-6, analyses-3): GET /v1/live-events and GET /v1/live-events/{id} serve latest_insured_event_loss, the insured_event_loss …" · ui#878: "analyses-3 (EV-14): a saved event replay's card shows the event loss of …" · ui#848: "analyses-3 (EV-14): the run summary of a saved event replay leads with …" |
analyses-4 |
Provenance: exposure, clip, growth, measures, curve | #analyses.an9 |
ui#879: "analyses-4 (EX-15, EX-16): the run summary shows "Inputs" with "recorded at start" …" |
analyses-5 |
Score-only refusal with its fix | #analyses.an11 |
ui#845: "analyses-5 (SH-16, PF-4): a failed card names a fix by error code" |
analyses-6 |
An adapted run is listed | #analyses.an10 |
ui#793: "analyses-6 (AD-1, K43): in History a saved run whose result carries provenance.measure_ids …" |
analyses-7 |
Earthquake 2050 reads “hazard same as today” | #analyses.an12 |
ui#879: "analyses-7 (EX-16, LK-9): a run whose provenance.hazard_conditioning is not_climate_driven (earthquake at SSP2-4.5 …" |
analyses-8 |
Loss curve basis stated | #analyses.an1 |
ui#762: "explore-23, analyses-8 (EN-7, K49): every loss curve of a return-period result shows …" |
analyses-9 |
Screening badge on run cards | #analyses |
ui#735: "analyses-9 (run model § 11): a card whose result's hazard dataset is …" |
analyses-10 |
Open in Explore restores the whole run | #analyses.an10 |
ui#878: "analyses-10 (EX-21): "Open in Explore" on a card and a table row …" |
analyses-11 |
The list is live | #analyses |
ui#878: "analyses-11 (EX-21): the list is live" |
analyses-12 |
A run of several cells says what was stored | #analyses.an13 |
ui#879: "analyses-12 (EX-22, EX-21): the run summary of a run of several cells …" · ui#878: "analyses-12 (EX-22): a card of a run of several cells says what …" |
analyses-13 |
Replays open in Events, comparisons in Compare | #analyses.an14 |
ui#878: "analyses-13 (EX-21, EV-19, EX-11): a replay opens in Events and a comparison …" |
analyses-14 |
Add to report sends the analysis itself | #analyses.an9 |
ui#845: "analyses-14, reports-14 (EX-21): "Add to report" sends the item itself" |
analyses-15 |
Running now lists the jobs in flight | #analyses |
be#1662: "EX-20 (registry analyses-15 on ui#844): GET /v1/jobs serves impact_workers, the impact worker …" · ui#844: "analyses-15 (EX-20, SH-16): "Running now" reads the shared jobs poll and names …" · deviation: EX-20 (K64) |
analyses-16 |
The view follows the name of the list | #analyses |
ui#862: "analyses-16 (SH-25, K43): History's head shows a count that follows the list …" |
analyses-17 |
A card shows the figure of its own run | #analyses.an2 |
ui#878: "analyses-17 (EX-21): a card shows the figure of its own run" |
analyses: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Toolbar kind chips, Status and Engine menus, Cards and Table | js/views/analyses.js:936 |
SH-16 |
| Run card map thumbnail | js/views/analyses.js:712 |
SH-16 |
| Card and row actions compare, reproduce, delete | js/views/analyses.js:879 |
SH-16, SH-10 |
| Failed card and drawer Fix it | js/views/analyses.js:894 |
SH-16 |
| Dense table rows | js/views/analyses.js:917 |
SH-13 |
| Compare tray | js/views/analyses.js:1053 |
SH-16 (parity item, guardrail 1) |
| Drawer header and KPI strip | js/views/analyses.js:1110 |
SH-16 |
| Drawer progress steps and Cancel run | js/views/analyses.js:1098 |
SH-16, EX-20 |
| Drawer map plus treemap "Where the impact is" | js/views/analyses.js:1121 |
SH-16 |
| Drawer "By asset type" bars | js/views/analyses.js:1125 |
SH-16 |
| Result checksum and Reproduce | js/views/analyses.js:1136 |
SH-10 |
| Empty list "Nothing saved yet" and "Nothing matches these filters" (not in mapping.md) | js/views/analyses.js:1016 |
SH-16 (parity item, guardrail 1) |
| Drawer Cancelled state (not in mapping.md) | js/views/analyses.js:1116 |
EX-20 |
| Hazard menu on a multi-hazard Open or Re-run (not in mapping.md) | js/views/analyses.js:1228 |
EX-21 |
First-draft rows a registry entry names: the running strip with progress, time estimate, cancel and queue (analyses-15), the toolbar search box and New button (analyses-16), the run card's figure and status (analyses-17, analyses-1, analyses-9), the drawer's loss exceedance curve (analyses-8), inputs and the provenance record (analyses-4), the drawer footer Open in Explore, Compare, Add to report and Re-run (analyses-10, analyses-13, analyses-14).
First-draft rows v2 no longer draws: none.
settings¶
10 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
settings-1 |
Nine sections, Role lens first | #settings |
ui#853: "settings-1 (SH-24, ui#530): SECTIONS = ['lens','appearance','units','alerts','places','assistant','home','api-keys','organization'], default lens, so ui#530's Watched places …" · ui#851: "settings-1 (SH-24): the section's fields read "Organisation name", "Default role lens for …" · ui#850: "settings-1 (SH-24): ThemeMode gains system, set_theme accepts it (the pinned manifest test …" · ui#849: "settings-1 (SH-24, ui#530, the mock's Watched places section): /settings/places lists only open …" |
settings-2 |
Settings → Home picks figures and blocks | #settings.home |
ui#816: "settings-2 (SH-23): /settings/home reads "Following the <lens> lens default." with "Pick figures …" |
settings-3 |
Assistant: model, effort and provider | #settings.assistant |
be#1602: "AS-1 (b), feeds settings-3's " · default" mark: with ASSISTANT_EFFORT=low the body …" · ui#768: "settings-3 (AS-1, AS-3): the card is headed "Organisation model and effort" with …" |
settings-4 |
The assistant’s read-only query tools | #settings.assistant |
ui#853: "settings-4 (AS-2, AS-4): the Assistant section shows "What it can read" with …" |
settings-5 |
Currency display drives every money figure | #settings.units |
ui#817: "settings-5 (SH-24, PF-3): formatAmount takes the stored currency display, money style and …" |
settings-6 |
Notifications: Watch update, e-mail later | #settings.alerts |
ui#818: "settings-6 (SH-24, SH-11, K28, ui#530 per-alert-kind in-app toggles): the section opens with …" · deviation: SH-24 (K60) |
settings-7 |
The role lens is set here only | #settings.lens |
ui#729: "settings-7 (SH-17): Settings → Role lens reads "Pick the lens that matches …" |
settings-8 |
Satellite and 3D terrain are enabled entries | #settings.appearance |
ui#761: "settings-8 (SH-19): Settings → Appearance → "Basemap" shows one card per basemap …" |
settings-9 |
Notifications say where they show, and switch it | #settings.alerts |
ui#818: "settings-9 (SH-24, FT-27, EX-20): the rows "An analysis finishes" and "An analysis …" |
settings-10 |
Portfolio and exposure layer in every line | #settings.lens |
ui#853: "settings-10 (K49, K43): no text the nine sections render matches /\bbooks?\b/i, and …" |
settings: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Theme cards (light, dark, system), high contrast and reduce motion toggles | js/views/settings.js:307 |
SH-24 |
| Map palette cards with the Greece preview | js/views/settings.js:311 |
SH-24, SH-3 |
| Basemap cards Automatic, Light, Dark and Greyscale | js/views/settings.js:314 |
SH-2 |
| Watched places with their current hazard scores | js/views/settings.js:373 |
SH-24 |
| Show the assistant toggle and the named-action catalogue "What it can do" | js/views/settings.js:396 |
SH-24 |
| API keys table with create, rotate and revoke | js/views/settings.js:405 |
SH-16 (parity item, guardrail 1) |
| "Show an example" button of the notifications section, a demo run that ends in three seconds | js/views/settings.js:354 |
prototype-only (guardrail 10, #1673 item 16) |
| Organisation: name, default lens, members link, logo, accent, report footer and cover preview | js/views/settings.js:426 |
SH-24 |
First-draft rows a registry entry names: section nav with icon, sub and Admin pill (settings-1), role lens cards (settings-7, settings-10), density (shell-5), Satellite and 3D terrain basemap cards (settings-8), units and formats with live preview (settings-5), alerts per type table (settings-6, settings-9), assistant model, effort and provider card (settings-3), read-only query tools (settings-4).
First-draft rows v2 no longer draws: none.
admin¶
13 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
admin-1 |
Oasis LMF is a live engine | #admin.engines |
ui#843: "admin-1 (K24, EN-3, EN-4): Engines lists Oasis LMF as a live engine beside the others and says what it runs …" |
admin-2 |
Impact work has its own queue | #admin |
be#1669: "admin-2 (EN-1): a platform-admin read GET /v1/admin/queues serves the impact lane's queue …" · ui#841: "admin-2 (EN-1): System health's "Impact queue" tile reads the impact lane from …" · be#1589 and be#1588 are false matches on an admin-2 unit |
admin-3 |
Feeds keep a per-poll summary, no forecast | #admin.feeds |
ui#841: "admin-3 (EV-1, SH-16, SH-10 ui#533 "live-feed health across all watches"): the "Live …" |
admin-4 |
Audit shows assistant steps and settings | #admin.audit |
be#1602: "AS-1 (b), feeds admin-4: a change of the organisation's assistant setting writes …" · ui#840: "admin-4 (AS-1, AS-2): the audit log names the assistant's steps and the …" |
admin-5 |
Invite, audit filter and CSV, conformance run | #admin.users |
ui#859: "SP-2 (d): tests/e2e/parity/states.spec.ts runs in #710's visual project and, at collection time …" · ui#843: "admin-5 (SH-15): the button "Run the conformance scenario" runs a comparison for …" · ui#840: "admin-5 (SH-15): "Invite people" opens a dialog titled "Invite people" with "E-mail …" · deviation: SH-15 (K57, K58) |
admin-6 |
A score-only refusal in recent failures | #admin |
be#1669: "PF-4, feeds admin-6: a compute refused at submission (a 422 such as …" · ui#841: "admin-6 (PF-4): System health's "Recent failures" card, headed "last 7 days", lists …" |
admin-7 |
Engine 0.6.0 with lifetimes and combined plans | #admin.engines |
be#1669: "admin-7 (EN-8, K32): GET /v1/engines serves each registered engine's installed version and …" · ui#841: "admin-7 (EN-8, K32): System health's "Versions" card, marked "deployed", lists "Core service" …" |
admin-8 |
Admin keeps its layout after Adapt | #admin |
ui#840: "admin-8 (SH-26): Admin keeps its layout after Adapt. From /adapt the rail's …" |
admin-9 |
Two groups of tabs, by admin level | #admin |
ui#840: "admin-9 (SH-26, K45): as a platform admin /admin lands on /admin/health, and …" · deviation: SH-16 (K59) |
admin-10 |
Preview what an organisation admin sees | #admin |
ui#840: "admin-10 (SH-26, K45): as an organisation admin without the platform flag /admin …" |
admin-11 |
Data requests of the organisation | #admin.requests |
be#1669: "SH-26 (BC-9), feeds admin-11: as an organisation admin GET /v1/admin/data-requests lists only …" · ui#880: "admin-11 (SH-26, K45): the "Organisation" group lists "Data requests" after "Usage", for …" |
admin-12 |
Usage by organisation is a platform block | #admin.usage |
ui#859: "SP-2 (d): tests/e2e/parity/states.spec.ts runs in #710's visual project and, at collection time …" · ui#842: "admin-12 (SH-16, SH-26): Usage opens on "<organisation name>" with "usage of your …" |
admin-13 |
The feeds tile matches the feeds tab | #admin |
ui#841: "admin-13 (SH-26): System health's "Live feeds" tile counts the rows the Live …" |
admin: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| System health tiles API, Tile service, Geocoder and Storage with sparklines | js/views/admin.js:222 |
SH-26, SH-10 |
| Jobs now card | js/views/admin.js:240 |
SH-26 |
| Users and roles table: search, role filter, change role, remove | js/views/admin.js:245 |
SH-16 (parity item, guardrail 1), SH-26 |
| Organisations table and the data isolation note | js/views/admin.js:258 |
SH-16 (parity item, guardrail 1), SH-26 |
| Planned engines under "Joining next" (Delft-FIAT, OS-Climate physrisk, OpenQuake) | js/views/admin.js:282 |
out-of-scope: a Phase 18 preview, no planned engine is registered in the backbone |
| Ingest approvals: waiting for approval, ingesting now, finished recently | js/views/admin.js:287 |
SH-16 (parity item, guardrail 1), SH-26 |
| Usage charts: runs per day by engine and map tile requests | js/views/admin.js:310 |
SH-26, SH-10 |
Preview switch adminAs ("Preview: view Admin as", not in mapping.md) |
js/finetune17b.js:89 |
prototype-only (record § 4, one of the two preview switches. The states it shows are targets, admin-10 and admin-12) |
First-draft rows a registry entry names: the Impact queue tile (admin-2) and the Live feeds tile (admin-13) of the health tiles, recent failures (admin-6), the Versions card (admin-7), Invite people (admin-5), engine cards with the conformance line and run button (admin-1, admin-5, admin-7), the live feeds table with poll and pause (admin-3, admin-5), usage KPIs and the by-organisation table (admin-12), the audit log with search, source filter and CSV export (admin-4, admin-5).
First-draft rows v2 no longer draws: none.
explore¶
44 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
explore-1 |
Superseded: Three dock tabs, redefined: Scope, Layers, Analysis | #explore |
superseded: explore-28 |
explore-2 |
Superseded: Scope opens on “What is at risk” | #explore |
superseded: explore-29 |
explore-3 |
Superseded: Where is an optional clip, never an input | #explore.analyse?exposure=portfolio:aegean&clip=admin:GRC.8.2_1&hazard=river_flood&cells=baseline@today |
superseded: explore-29 |
explore-4 |
Analysis is the run form in a fixed order | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#745: "explore-4 (EX-16, K23, K48): the Run step shows the resolved scope line …" |
explore-5 |
Cells multi-select into one matrix run | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#748: "explore-5, explore-32 (EX-3, K51): the matrix shows a "Today" row and one …" |
explore-6 |
One “Run N cells” with a per-cell progress grid | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
be#1662: "EX-3, EX-15 (registry explore-6 on ui#748): GET /v1/compute/impact/matrix/{batch_id} serves, per cell, the …" · ui#748: "explore-6 (EX-16, EX-3): the Run row reads "Run 4 cells" for four …" |
explore-7 |
Superseded: Vulnerability line with the two refusals | #explore.analyse?exposure=portfolio:ghsl&hazard=river_flood&cells=baseline@today |
superseded: explore-35 |
explore-8 |
Future exposure growth with its reference year | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050&growth=0.02 |
ui#755: "explore-8 (EX-16, K18): the value cell's label follows the growth of the …" · ui#750: "explore-8 (EX-16, K18, K48): step 4 is headed "Exposure growth" with a …" |
explore-9 |
Superseded: Measures inside the run, before/after drawn | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050&measures=raise,levee |
superseded: explore-34 |
explore-10 |
Engine choice, Oasis disabled with its reason | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#752: "explore-10 (EX-16, EX-11): step 6 of Run is headed "Engine" and shows …" |
explore-11 |
Key-figure strip: five served cells, one Run | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#755: "explore-11 (EX-10, K52): the strip renders five cells from served fields over …" |
explore-12 |
Unavailable cells say why and what the scope holds | #explore.analyse?exposure=portfolio:hpb&hazard=coastal_flood&cells=ssp2-4.5@2050 |
ui#748: "explore-12 (EX-2): a matrix cell that does not resolve draws "—" in …" · ui#717: "explore-12 (EX-2): The dock's run form shows the reason and the cells …" |
explore-13 |
Non-climate hazards read “hazard same as today” | #explore.analyse?exposure=portfolio:hpb&hazard=earthquake&cells=ssp2-4.5@2050 |
ui#748: "explore-13 (EX-16, § 3.4, § 11): for a hazard whose coverage reads …" |
explore-14 |
The scope’s assets drawn before any compute | #explore.analyse?exposure=portfolio:aegean&hazard=river_flood&cells=ssp5-8.5@2030 |
ui#754: "explore-14 (EX-14): the layer is one MapKit ScopeAssetsLayer that takes a tile …" |
explore-15 |
Per-tier popup cards and “Make this the scope” | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#757: "explore-15 (EX-14): the admin card reads GET /v1/risk/admin-units/{boundary_id} at the viewed cell's …" · ui#756: "explore-15 (EX-14): each tier's card renders its served fields and runs its …" · deviation: EX-14 (K61, the unit band after a result) |
explore-16 |
Level switch and legend shown throughout | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#758: "explore-16 (EX-8): with a loaded result drawn at the region tier and …" · ui#756: "explore-16 (EX-14): the level switch shows before a compute with its tier …" · deviation: EX-14 (K61, two admin tiers) |
explore-17 |
Mode bar with four modes, Copy link and Save | #explore |
ui#765: "explore-17 (EX-12): the mode bar shows four modes in the order "Analyse" …" |
explore-18 |
The run lives in the URL, legacy keys rewritten | #explore.analyse?scope=portfolio&id=aegean&sc=ssp585&horizon=2080 |
ui#744: "explore-18 (EX-16, EX-4): The legacy rewrite runs once with replace and keeps …" |
explore-19 |
Superseded: Context chips are menus | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
superseded: explore-31 |
explore-20 |
Horizon player marks what is computed | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#763: "explore-20 (EX-6, K51): the player shows the viewed cell's scenario name (the …" |
explore-21 |
Panel: band distribution of value, per-hazard figures | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#873: "explore-21 (EX-10): the Summary tab opens on "Band distribution of exposed value" …" |
explore-22 |
The Selection tab is back | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#756: "explore-22 (EX-10): the insight panel's tabs read "Summary", "Charts" and "Selection", and …" · deviation: EX-10 (K61, no building) |
explore-23 |
Loss curve: dataset range and its basis line | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#762: "explore-23 (EN-7, K36): the strip's "1-in-<rp>" button opens a menu and the …" |
explore-24 |
Compare runs a missing side in place | #explore.compare |
ui#752: "explore-24 (EX-11, FT-21): a side that is not computed shows "Run A …" |
explore-25 |
Engine compare on any cell, with a timeout state | #explore.compare |
ui#837: "explore-25 (EN-4): an engine row that reads "pending" shows its queue position …" · ui#752: "explore-25 (EX-11, EN-5): compare_engines takes the run's arguments (the address's exposure, clip …" |
explore-26 |
Phones: the dock becomes a sheet under the map | #explore |
ui#745: "explore-26 (D12, K36): at 390×844 the dock is a bottom sheet under …" |
explore-27 |
Layout variants B and C retired | #explore |
prototype-only (record § 4, the line of guardrail 10) |
explore-28 |
The dock is two steps, and Analysis is now Run | #explore |
ui#753: "explore-28 (EX-16, K36): with Run in front and river flood chosen, the …" · ui#745: "explore-28 (EX-16, EX-12, K36, K48): the dock reads two numbered steps, "1 …" |
explore-29 |
Scope asks one question: what do you want to assess? | #explore |
ui#746: "explore-29 (EX-18, K38): a fresh /explore opens Scope on "What do you …" |
explore-30 |
With Scope open the map shows exposure only | #explore |
ui#754: "explore-30 (EX-14, FT-3, K36): with Explore in Analyse mode, the dock open …" |
explore-31 |
One caption over the map instead of four chips | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#764: "explore-31 (EX-9, K37): in Analyse mode with Run open the caption reads …" |
explore-32 |
In the matrix the tick selects and the body shows | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#748: "explore-5, explore-32 (EX-3, K51): the matrix shows a "Today" row and one …" |
explore-33 |
The hazard picker is one row | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#747: "explore-33 (EX-16, K39): the hazard step is one row with the hazard's …" |
explore-34 |
Measures as chips with a picker, or a shortlist | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050&measures=raise,levee |
ui#875: "explore-34 (AD-8, K40): in Explore's Run step, the menu of "Use a …" · ui#751: "explore-34 (EX-16, AD-1, K40): step 5 is headed "Adaptation measures" and shows …" |
explore-35 |
The damage curve is a select with a preview | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050&impf=jrc-com |
ui#749: "explore-35 (EX-16, K47): with an EUR buildings exposure and river flood, step …" |
explore-36 |
Every strip figure says how it is made | #explore.analyse?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#755: "explore-36 (EX-10, K52): each of the five labels ends in an info …" |
explore-37 |
Several countries: what each hazard can do, and two ways to run | #explore.analyse?exposure=datasets:litpop-grc,litpop-cyp-h5&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
ui#865: "explore-37 (EX-19, K41): in "A place" with two or more countries on …" |
explore-38 |
A run in flight keeps going and comes back | #explore.analyse?exposure=datasets:litpop-grc&clip=admin:GRC.3.1_1&hazard=river_flood&cells=baseline@today,ssp2-4.5@2030,ssp2-4.5@2050,ssp5-8.5@2050 |
ui#844: "explore-38 (EX-20, K54): on a running batch of four cells (one completed …" · ui#748: "explore-38 (EX-20, K42): after "Run 4 cells" the address carries batch=<id>. While …" |
explore-39 |
Save keeps the completed cells of a run | #explore.analyse?exposure=portfolio:cyprus&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050,ssp5-8.5@2030,ssp5-8.5@2050 |
ui#871: "explore-39 (EX-22, BC-5): "Save analysis" on a run of four cells of …" |
explore-40 |
Compare: a saved comparison, a link with both sides, one dock card | #explore.compare?exposure=portfolio:hpb&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050&a=baseline@today&b=ssp5-8.5@2030 |
ui#872: "explore-40 (EX-11, FT-21): Compare writes its sides to the address as a …" |
explore-41 |
A drawn area goes away with its clip | #explore.analyse?exposure=datasets:litpop-grc&clip=bbox:21.600,38.900,23.200,39.900&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
be#1661: "EX-18, EX-23 (the count in ui#746's resolved line, for a place narrowed …" · ui#870: "explore-41 (EX-23, K50): with exactly one country on, "Narrow it (optional)" offers …" |
explore-42 |
Several regions or municipalities, each with a remove button | #explore.analyse?exposure=datasets:litpop-grc&clip=admin:GRC.3.1_1,GRC.8.2_1&hazard=river_flood&cells=baseline@today,ssp2-4.5@2050 |
be#1661: "EX-18, EX-23 (the count in ui#746's resolved line, for a place narrowed …" · ui#870: "explore-42 (EX-23, K50, BC-1): a chosen region or municipality shows as a …" |
explore-43 |
The exposure layer changes in place | #explore.analyse?exposure=datasets:litpop-grc,litpop-cyp-h5&hazard=earthquake&cells=baseline@today |
ui#746: "explore-43 (EX-18): "Change" on a card opens that country's layers inside the …" |
explore-44 |
Where, then what: the group in use stands out | #explore |
prototype-only (record § 4, the line of guardrail 10) |
explore: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Layers popover contents: hazard surface, return period select, surface opacity, On the map toggles (results, the scope's assets, historical event footprints), Add a layer from Data | js/views/explore.js:856 |
EX-16 (Layers is map display only, K36), EN-7 for the return period select |
| Scale test: "Draw 1,000,000 points (GPU)" in the Layers popover | js/views/explore.js:867 |
prototype-only (record § 4, the scale test) |
| Charts tab: expected annual impact over time, Today and two SSPs | js/views/explore.js:1182 |
EX-10 |
| Table drawer linked to the map (areas or assets in view, click a row to zoom) | js/views/explore.js:1216 |
SH-16 (parity item, guardrail 1) |
| Compare view switch Swipe or Side by side, A and B cell menus, Swap sides (the compare entries name only part of it) | js/views/explore.js:1324 |
EX-11 |
| Score-only refusal in the strip and the panel for an m3 or persons exposure, no Run (not in mapping.md) | js/views/explore.js:1113 |
PF-4 (K19) |
| Empty states with nothing chosen: strip framed on covered countries, Run tab "Start with what you want to assess", panel "Nothing chosen yet" (not in mapping.md) | js/views/explore.js:948 |
EX-5, EX-18 |
| Map popup extras: Property page and Add to report on unit and asset cards, Event impact and Post-event report on a historical footprint (not in mapping.md) | js/mapkit.js:690 |
EX-14 (popup cards) |
| Selection tab building profile and the Larissa 3D building twins | js/views/explore.js:1200 |
out-of-scope: 3D buildings are a Phase 18 preview (LK-12, D18) |
The map control group (zoom, 3D view, globe, north) is shared by every map and has its row under shell.
First-draft rows a registry entry names: the header mode bar with Save, Add to report and Copy link (explore-17), the key-figure strip (explore-11, explore-36), context chip menus (explore-31, the caption that replaces them, chips are its other option), the level switch and legend (explore-16), the horizon timeline and play (explore-20), the left dock Scope tab (explore-29, explore-41, explore-42, explore-43), the Layers tab, now a map button (explore-28), the Analysis tab, now the Run tab (explore-4, explore-5, explore-28), the not-computed state (explore-11, explore-12), the right panel Summary tab with donut, by-hazard bars and top areas (explore-21), the Charts tab loss by return period (explore-23), the Selection tab (explore-22), the Compare missing side and engine compare (explore-24, explore-25, explore-40), map popup cards with Analyse here, Zoom to assets, Make this the scope and Adapt (explore-15).
First-draft rows v2 no longer draws: layout variants B and C and the Spectra panel (explore-27 retires them), the Charts tab cumulative chance chart (the v2 Charts tab draws impact over time and loss by return period only).
events¶
17 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
events-1 |
Events is a mode, not a dock tab | #explore.events |
ui#788: "events-1 (EV-6, K36): Events from the mode bar: clicking Events in the …" |
events-2 |
Watch list grouped Live, Replays, Closed | #explore.events |
ui#778: "events-2 (EV-7): groups over prod-shaped watches. An open near-real-time FIRMS watch observed …" |
events-3 |
Waiting state for a watch with no observation | #explore.events?event=w-aegean |
ui#771: "events-3 (EV-1): the waiting state's row "In the window" renders last_poll_summary: a …" · ui#716: "events-3 (EV-1): a watch with no snapshot shows the waiting state, no …" |
events-4 |
Smooth replay: a raster stack cross-faded | #explore.events?event=w-evia |
ui#774: "events-4 (EV-2): play waits for the frame: with frame 2 not yet …" · ui#773: "events-4 (EV-2): stepping frames 0 to 5 of a six-snapshot event on …" |
events-5 |
Assets coloured by event loss | #explore.events?event=w-evia |
ui#776: "events-5 (EV-3): the layer draws one circle per asset with circle-color the …" |
events-6 |
Selecting a watch fits the map, animated | #explore.events?event=w-samos |
ui#787: "events-6 (EV-4): MapKit with fitDurationMs={800} calls fitBounds with { animate: true, duration …" |
events-7 |
A richer player | #explore.events?event=w-evia |
ui#775: "events-7 (EV-5): ticks in proportion to time: frames at 00:00, 01:00 and …" · ui#774: "events-7 (EV-2): speeds. The player holds a select labelled "Speed" whose options …" |
events-8 |
Four tiles and the most exposed municipalities | #explore.events?event=w-evia |
ui#786: "events-8 (EV-8): the tiles read "Assets in footprint", "Value exposed", "Event loss …" · deviation: EV-8 (K63) |
events-9 |
Cumulative FIRMS footprint: the headline never falls | #explore.events?event=w-evia |
ui#779: "events-9 (EV-10): with three frames and three cumulative results (losses 10, 40 …" |
events-10 |
Events and revisions inside one watch | #explore.events?event=w-samos |
ui#777: "events-10 (EV-11): LiveEvent in src/types/index.ts gains events: {event_key, first_valid_at, last_valid_at, snapshot_count}[] (served …" |
events-11 |
Insured beside ground-up, with units and a basis | #explore.events?event=w-evia |
ui#785: "events-11, home-6 (EV-16): WatchCard and LiveNowCard format latest_event_loss through formatAmount with latest_event_loss_unit …" · ui#784: "events-11, home-6 (EV-14): The run model § 11 line renders verbatim whenever …" |
events-12 |
The watch’s own selector, and the 409 | #explore.events?event=w-evia |
ui#781: "events-12 (EV-12): the event panel ends on two lines, as the snapshot's …" · deviation: EV-12 (K62) |
events-13 |
Create a watch: curve gate, terms, no thresholds | #explore.events |
ui#783: "events-13 (EV-14): Create a watch shows "Deductible (optional)" and "Cover (optional)" with …" · ui#782: "events-13 (EV-13): Heatwave on a buildings dataset is tagged "exposure count only …" |
events-14 |
Closing a watch offers the post-event report | #explore.events?event=w-arakapas |
ui#780: "events-14 (EV-17): "Close watch" sits in the event panel's row of actions …" |
events-15 |
Assets (N) is the result’s total; Compute hides | #explore.events?event=w-parnitha |
ui#835: "events-15 (SH-12): The assets list renders inside the shared Sheet host at …" · ui#772: "events-15 (EV-18): the drawer counts the result. A result with total_assets 250 …" |
events-16 |
Avoided loss for this event, no BCR | #explore.events?event=w-daniel |
ui#836: "events-16 (AD-9): The event panel's actions hold "Avoided loss for this event" …" |
events-17 |
Events: Save replay and Add to report | #explore.events?event=w-daniel |
ui#868: "events-17 (EV-19): with a watch open the Events header reads "Save replay" …" |
events: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Event panel life-safety line | js/views/explore.js:1511 |
EV-8 |
| Watch list feeds note: each scored observation adds one Watch update to the bell, nothing by e-mail (not in mapping.md) | js/views/explore.js:1404 |
SH-11, EV-7 |
First-draft rows a registry entry names: the Events tab list, filters and Create a watch (events-1, events-2, events-13), the event panel's four tiles and municipalities chart (events-8, events-11), the footprint replay (events-4, events-9), the event player (events-7), the post-event report on close (events-14).
First-draft rows v2 no longer draws: Events as a left dock tab (events-1 moves it to the Events mode).
adapt¶
20 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
adapt-1 |
Adapt is Explore’s fourth mode on a scope | #adapt |
ui#791: "adapt-1 (AD-1): With exposure, hazard and a future cell in the address …" · ui#790: "adapt-1 (AD-1, EX-12): /adapt renders the Explore workspace with the mode bar's …" |
adapt-2 |
Run settings in a compact head | #adapt |
ui#800: "adapt-2 (AD-6): With no cells in the address, Adapt picks the first …" · ui#794: "adapt-2 (AD-3, K20): after #790's chips the head shows the pills "Base …" · ui#790: "adapt-2 (AD-1): with an exposure chosen, the plan view's head starts with …" |
adapt-3 |
Money in the centre, map and plan in a dock | #adapt |
ui#796: "adapt-3 (AD-3): The card "Expected annual loss by hazard", sub line "each …" · ui#794: "adapt-3 (AD-3, SH-12): The mode renders four regions: the head (#790's chips …" |
adapt-4 |
A plan is one combined run, in order | #adapt |
ui#799: "adapt-4 (AD-13, K29): The money cards read the plan block (npv_benefit, npv_cost …" |
adapt-5 |
ECA cost curve and residual risk per hazard | #adapt |
ui#799: "adapt-5 (AD-13, AD-3): The first chart card of the centre, "Measures by …" |
adapt-6 |
Lifetimes cap the benefit years; payback = NPV series | #adapt |
ui#800: "adapt-6 (AD-12): Each library card shows "<basis> · <lifetime> yr" after its …" |
adapt-7 |
Protection standards are return periods | #adapt |
ui#797: "adapt-8, adapt-7 (AD-15, AD-2): "How it acts" (#795) gains "Raise the floor" …" |
adapt-8 |
Raise the floor by h | #adapt |
ui#797: "adapt-8, adapt-7 (AD-15, AD-2): "How it acts" (#795) gains "Raise the floor" …" |
adapt-9 |
Honest effect copy and the hazard-mismatch refusal | #adapt |
ui#797: "adapt-9 (AD-5): An intensity factor reads "Lowers the hazard by 20 % …" |
adapt-10 |
Measure editor: two columns, basis and applies-to | #adapt |
ui#802: "adapt-10 (AD-4): "Import" (ANALYST and above, beside "Custom measure" in the library's …" · ui#798: "adapt-10, adapt-11 (AD-11): The editor's cost row reads "Unit cost", "Unit", "Basis" …" · ui#795: "adapt-10 (AD-4): The editor, titled "Custom measure" for a new measure and …" |
adapt-11 |
Reference measures: cost not set, copy and price | #adapt |
ui#798: "adapt-10, adapt-11 (AD-11): The editor's cost row reads "Unit cost", "Unit", "Basis" …" |
adapt-12 |
Indicator hazards: a band delta, never a BCR | #adapt |
ui#801: "adapt-12 (AD-16): On an indicator hazard the six money cards give way …" |
adapt-13 |
Unadapted, adapted and avoided-loss maps | #adapt |
ui#803: "adapt-13 (AD-7, AD-1): The switch in the head of the card "Location" …" |
adapt-14 |
Superseded: Save plan and Add to report | #adapt |
superseded: adapt-18 |
adapt-15 |
Entry points carry their scope | #portfolios |
ui#821: "adapt-15 (AD-1, AD-9): each row of the Adaptation measures tab carries the …" · ui#792: "adapt-15 (AD-1): Adapt on a portfolio card, the portfolio detail header and …" |
adapt-16 |
A landing page when nothing is chosen | #adapt.start |
ui#874: "adapt-16 (AD-17, AD-1, K38): an address with no exposure, a bare /adapt …" |
adapt-17 |
Saved plans, listed and reopened | #adapt.start |
ui#834: "adapt-17 (AD-17, AD-8): the landing page's card "Saved plans" reads "<n> plans …" |
adapt-18 |
Save plan names the plan and keeps one hazard | #adapt.plan?exposure=portfolio:hpb&hazard=river_flood |
ui#834: "adapt-18 (AD-8): "Save plan" opens the dialog "Save plan" with the field …" |
adapt-19 |
Pin measures for the run form | #adapt.plan?exposure=portfolio:hpb&hazard=river_flood |
prototype-only (record § 4, the line of guardrail 10) |
adapt-20 |
The plan head holds together at 1366 px | #adapt.plan?exposure=portfolio:hpb&hazard=river_flood |
ui#834: "adapt-17, adapt-20 (AD-8, AD-17): Stack: save a plan on the seeded EUR …" · ui#794: "adapt-3, adapt-20 (AD-3, AD-17): Stack layout, measured on the view root inside …" |
adapt: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Measure library: collapse, search, hazard filter chips, Building and Regional groups | js/views/adapt.js:485 |
SH-12 |
| Custom measure and Import menu with the measure template | js/views/adapt.js:492 |
AD-4 |
Method modal "How these figures are worked out" (its button at js/views/adapt.js:815) |
js/views/adapt.js:750 |
AD-3 |
First-draft rows a registry entry names: head scope, scenario and horizon chips (adapt-2), the Unadapted and Adapted map switch (adapt-13), Save plan (adapt-18), the measure card's effect copy (adapt-7, adapt-8, adapt-9), the measure editor (adapt-10), six money cards with BCR and payback (adapt-3, adapt-6), the evolution chart (adapt-3), expected annual loss by hazard and the score-only list (adapt-3, adapt-5), the location map with legend and popups (adapt-3, adapt-13), selected measures in the plan (adapt-4), the scope-based adapted plan (adapt-1, adapt-4). Named elements that mapping.md lacks: the landing page (adapt-16), saved plans (adapt-17), the cost curve (adapt-5), the pin control (adapt-19, prototype only).
First-draft rows v2 no longer draws: Add to report in the Adapt head (adapt-18 replaced adapt-14 and keeps only Save plan, and js/views/adapt.js holds no "Add to report"), the illustrative-figures note (v2 draws none, only the file header at js/views/adapt.js:6 calls every figure illustrative).
assistant¶
6 registry entries.
| Id | Title | Hash (go) |
Owner |
|---|---|---|---|
assistant-1 |
Runs a scenario in eight visible steps | #home |
ui#852: "assistant-1 (AS-2, AS-4): with an Explore result in the address, "what is …" · ui#770: "assistant-1 (AS-2): tests/e2e/smoke/assistant-run.spec.ts intercepts only POST /v1/assistant/messages, through one helper scriptAssistant(page, turns) …" |
assistant-2 |
compute_cell asks Run or Skip and waits | #home |
ui#769: "assistant-2 (AS-2): a proposed compute_cell stops the trace with "Starts a compute …" |
assistant-3 |
Query steps drawn in the trace | #home |
ui#852: "assistant-3 (SH-5): every assistant entry in append whose call is answered by …" |
assistant-4 |
View context sent on every turn | #home |
ui#769: "assistant-4 (AS-2, SH-5): every request posts context as {view, exposure, clip, hazard …" |
assistant-5 |
Score-only books refused with the reason | #home |
ui#770: "assistant-5 (AS-2, K19): in the same spec, "Run river flood today for …" · ui#769: "assistant-5 (AS-2, K19): when the compute that compute_cell posts is refused (a …" |
assistant-6 |
The assistant runs a place | #home |
ui#770: "assistant-6 (AS-4, BC-4): in the same spec, "Run river flood today for …" · ui#769: "assistant-6 (AS-4): an empty conversation offers the suggestion chips "Run river flood …" |
assistant: elements no registry entry names¶
| Element | v2 source | Covered by |
|---|---|---|
| Ask panel: header, message list, composer with Send and Stop | js/assistant.js:33 |
SH-5 |
Mode pill and note: live through the artifact's sample capability, else a scripted demonstration |
js/assistant.js:66 |
out-of-scope: a prototype device, the product calls the organisation's configured model (AS-1) and plays no scripted replies |
| Scripted suggestions for top areas, Storm Daniel and today against 2080 (not in mapping.md) | js/assistant.js:48 |
out-of-scope: scripted demonstrations, the product's suggestions are the scenario and place runs of AS-2 and AS-4 |
First-draft rows a registry entry names: the visible trace with query steps (assistant-3), view context sent on every turn (assistant-4), Run or Skip on compute_cell (assistant-2), scenario and place suggestions (assistant-1, assistant-6), the score-only refusal (assistant-5).
First-draft rows v2 no longer draws: none.