v2 console feature map
Generated 2026-05-11T21:34:52.522Z by scripts/tour-v2/gen-feature-map.ts. Do not edit by hand: regen after every npm run tour:v2:explore.
This is the human-readable hand-off for what we know about app.placepoint.no. Each row is one panel/button/tab/tool from scripts/tour-v2/inventory.ts. The inventory is source-derived: selectors come from placepoint-no/placepoint/apps/frontends/v2-console/src/. Status comes from markdown-v2/v2-inventory-status.json, which the explorer rewrites on every run.
Coverage: 60/97 captured, 37 stale, 0 broken, 0 todo. Adaptive click-everything captured an additional 1410 panel-internal interactions.
Stale = the screenshot was taken but a click/hover precondition for it failed against the current app, so the PNG shows the page-default state instead of the targeted panel. Selectors in scripts/tour-v2/inventory.ts need a refresh against current v2 source. Run npm --prefix scripts run tour:v2:probe-selectors to dump the current DOM.
For the long-form rules of how this works see ../scripts/tour-v2/PROCESS.md.
Top-level routes
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
home | Hjem (oversikt) | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/kartgrensesnittet/oversikt.md |
map-empty | Kart (tom) | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/kartgrensesnittet/index.md |
map-bjorvika | Kart (Bjørvika 2D) | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | - |
login | Innloggingsside | 🟢 captured | 2026-05-11 | shot | - |
oversikt | Oversikt (etter login) | 🟢 captured | 2026-05-11 | shot | - |
Sidebar items
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
sidebar-kartlag | Kartlag | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/ |
sidebar-tagger | Tagger | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/sok-tags/tagger.md |
sidebar-datasett | Datasett | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/datasett.md (n/a - new in v2) |
sidebar-matching | Matching | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/sok-tags/matching.md |
sidebar-modeller | 3D-Designer / Modeller | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/prosjektfunksjoner/3d-designer.md |
sidebar-overvaking | Overvåking | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/prosjektfunksjoner/overvaking.md |
sidebar-innstillinger | Innstillinger | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/innstillinger/ |
sidebar-hjelp | Hjelp | 🟢 captured | 2026-05-11 | shot | markdown/om-placepoint.md |
Toolbar buttons
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
toolbar-mode-2d | Modus: 2D | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-mode-3d | Modus: 3D | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-focus | Fokus / Sentrer kart | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-basemap-tooltip | Bakgrunnskart (tooltip) | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-active-layers | Aktive lag | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-bookmark | Bokmerker | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-print | Skriv ut | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-screenshot | Skjermbilde | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-compass | Kompass / nullstill nord | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-fullscreen | Fullskjerm | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-sceneview | 3D-innstillinger (kun i 3D) | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-zoom-in | Zoom inn | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-zoom-out | Zoom ut | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-sidebar-toggle | Vis/skjul sidemeny | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | - |
Toolbar popovers (open state)
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
toolbar-basemap-open | Bakgrunnskart (åpnet) | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
toolbar-bookmark-open | Bokmerker (åpnet) | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
Analyze tools
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
analyze-menu-open | Analyze-meny (åpnet) | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-malinger | Målinger | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-dagslys | Dagslys | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-skygge | Skygge | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-hoydeprofil | Høydeprofil | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-siktlinje | Siktlinje | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-siktfelt | Siktfelt | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-etasjer | Etasjer (bygg) | ⚠️ stale (selector failed, PNG shows fallback) | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-bra-bygg | BRA m² (bygg) | ⚠️ stale (selector failed, PNG shows fallback) | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-bra-tomt | BRA% (tomt) | ⚠️ stale (selector failed, PNG shows fallback) | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-bya-tomt | BYA% (tomt) | ⚠️ stale (selector failed, PNG shows fallback) | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-demografi | Demografi (område) | ⚠️ stale (selector failed, PNG shows fallback) | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-legacy | Analyse: Legacy | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-new-build-project | Analyse: Nybyggprosjekt | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-market-activity | Analyse: Markedsaktivitet | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-plot-transactions | Analyse: Tomteomsetning | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-plot-ads | Analyse: Tomteannonser | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-rental-activity | Analyse: Leieaktivitet | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-commercial-transaction | Analyse: Næringssalg | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-plot-valuation | Analyse: Tomtevurdering | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-commercial-leasing | Analyse: Næringslokaler | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-time-on-market | Analyse: Liggetid | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
analyze-panel-area-score | Analyse: Områdescore | 🟢 captured | 2026-05-11 | shot | markdown/analyser-rapporter/ |
Layer categories (kartlag)
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
layer-cat-bygninger | Kartlag - Bygninger | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/bygninger.md |
layer-cat-demografi | Kartlag - Demografi | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/demografi.md |
layer-cat-eiendom | Kartlag - Eiendom | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/eiendom.md |
layer-cat-energi | Kartlag - Energi | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/energi.md |
layer-cat-forurensning | Kartlag - Forurensning | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/forurensning.md |
layer-cat-geologi | Kartlag - Geologi | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/geologi.md |
layer-cat-infrastruktur | Kartlag - Infrastruktur | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/infrastruktur.md |
layer-cat-kyst-og-fiskeri | Kartlag - Kyst og fiskeri | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/kyst-og-fiskeri.md |
layer-cat-landbruk | Kartlag - Landbruk | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/landbruk.md |
layer-cat-naeringsliv | Kartlag - Næringsliv | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/naeringsliv.md |
layer-cat-natur | Kartlag - Natur | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/natur.md |
layer-cat-prising | Kartlag - Prising | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/prising.md |
layer-cat-reguleringer | Kartlag - Reguleringer | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/reguleringer.md |
layer-cat-risiko | Kartlag - Risiko | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/risiko.md |
layer-cat-samferdsel | Kartlag - Samferdsel | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/samferdsel.md |
layer-cat-støy | Kartlag - Støy | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/støy.md |
layer-cat-ukategorisert | Kartlag - Ukategorisert | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/ukategorisert.md |
layer-cat-utdanning | Kartlag - Utdanning | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/utdanning.md |
layer-cat-vann | Kartlag - Vann | 🟢 captured | 2026-05-11 | shot | markdown/kartgrensesnittet/kartlag/vann.md |
Object panels
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
cadastre-panel-2d | Eiendomspanel (2D) | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/eiendomspanel.md |
cadastre-panel-3d | Eiendomspanel (3D) | 🟢 captured (+30 adaptive) | 2026-05-11 | shot | - |
Object panel tabs
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
cadastre-tab-overblikk | Eiendomspanel: Overblikk | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-tomt | Eiendomspanel: Tomt | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-bygg | Eiendomspanel: Bygg | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-enheter | Eiendomspanel: Enheter | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-leietagere | Eiendomspanel: Leietagere | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-annonse | Eiendomspanel: Annonse | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-verdivurdering | Eiendomspanel: Verdivurdering | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-tomtevurdering | Eiendomspanel: Tomtevurdering | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-leieverdi | Eiendomspanel: Leieverdi | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-dokumenter | Eiendomspanel: Dokumenter | ⚠️ stale (selector failed, PNG shows fallback) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-regulering | Eiendomspanel: Regulering | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-eiere | Eiendomspanel: Eiere | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-transaksjoner | Eiendomspanel: Transaksjoner | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-saksinnsyn | Eiendomspanel: Saksinnsyn | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-risiko | Eiendomspanel: Risiko | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-esg | Eiendomspanel: ESG | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
cadastre-tab-offentlig-journal | Eiendomspanel: Offentlig journal | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | markdown/eiendom/ |
Menus, search, dropdowns
| ID | Label | Status | Last run | Shot | v1 equivalent |
|---|---|---|---|---|---|
search-empty-focused | Søk (fokus, tom) | 🟢 captured | 2026-05-11 | shot | markdown/sok-tags/sok.md |
search-typing-address | Søk: adresse | 🟢 captured | 2026-05-11 | shot | markdown/sok-tags/sok.md |
search-typing-company | Søk: virksomhet | 🟢 captured | 2026-05-11 | shot | markdown/sok-tags/sok.md |
search-typing-person | Søk: person | 🟢 captured | 2026-05-11 | shot | markdown/sok-tags/sok.md |
search-typing-cadastre | Søk: matrikkel | 🟢 captured | 2026-05-11 | shot | markdown/sok-tags/sok.md |
user-menu-open | Brukermeny (åpnet) | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
workspace-selector-open | Arbeidsområde (åpnet) | ⚠️ stale (selector failed, PNG shows fallback) (+30 adaptive) | 2026-05-11 | shot | - |
Discoveries from adaptive sweep
Distilled from scripts/tour-v2/discover-output/prod/adaptive/*.json - regenerated each run, committed so future sessions can build on what was clicked.
Most frequent selectorHints
Selector hints (CSS) that the adaptive enumerator returned 5+ times. Candidates for stable widget classes to promote into inventory.ts entries.
| Selector | Count |
|---|---|
button.inline-flex.items-center | 598 |
button.ui-sidebar-menu-button | 463 |
button[aria-label="Toggle Sidebar"] | 50 |
button.ui-sidebar-menu-button.flex-1 | 47 |
button[aria-label="Veksle sidefelt"] | 47 |
button.ui-switch.peer | 44 |
button.ui-radio-group-item.peer | 42 |
button[aria-label="Default cursor"] | 23 |
button[aria-label="Rectangle selection tool"] | 23 |
button[aria-label="Lasso selection tool"] | 23 |
button[aria-label="Lasso-hybrid tool"] | 23 |
button.flex | 19 |
Routes in v2 source not yet in inventory
Generated from scripts/tour-v2/routes-catalog.json (parsed from apps/frontends/v2-console/src/router/router.constants.ts by gen-sitemap.ts). Each row is a route the v2 router knows about but no InventoryEntry in inventory.ts navigates to. Strong candidates for new entries.
| Route key | Category | Template | Resolved URL |
|---|---|---|---|
COMPANY_PANEL_REDIRECT_ID | Company | /map/companies/:companyId | /map/companies/1 |
COMPANY_PANEL_REDIRECT_ORGNUMBER | Company | /map/companiesOrgNr/:orgNr | /map/companiesOrgNr/988969656 |
DATASET_PANEL | Dataset | /map/dataset/:datasetId | /map/dataset/1 |
DATASET_PENDING_PANEL | Dataset | /map/datasetpending/:datasetId | /map/datasetpending/1 |
DATASET_STYLE_PANEL | Dataset | /map/styledataset/:datasetId | /map/styledataset/1 |
ADDRESS_PANEL | Location | /map/address/:addressId | /map/address/1 |
PERSON_PANEL_REDIRECT_ID | Person | /map/persons/:personId | /map/persons/1 |
CADASTRE_BUILDING_PANEL_REDIRECT_ID | Property | /map/buildings/:buildingId | /map/buildings/1 |
CADASTRE_HOUSING_UNIT_PANEL_REDIRECT_ID | Property | /map/units/:unitId | /map/units/1 |
CADASTRE_PANEL_REDIRECT_ID | Property | /map/cadastres/:cadastreId | /map/cadastres/100320688 |
CADASTRE_PANEL_REDIRECT_NB | Property | /map/cadastres/:knr/:gnr/:bnr/:fnr/:snr | /map/cadastres/0301/209/369/0/0 |
How to use this file
- Pick up where the last session left off: scan for 🔴 (broken), ⚠️ (stale - PNG taken but click failed, selector needs refresh), and 🟡 (todo). Each row points at
scripts/tour-v2/inventory.ts(idcolumn) where the entry lives. Fix the selector, rerunnpm run tour:v2:explore --only=<id>, regen this map. - Add a new feature: find the source-of-truth selector in
apps/frontends/v2-console/src/. Append an entry toINVENTORYin inventory.ts. Runtour:v2:explore. Regen this map. - Promote adaptive findings into inventory: see the "Discoveries" section above. Routes with multiple hits are the strongest "you should have an inventory entry for this" signals; common selectorHints belong in entries'
selectorsfield. - Plug gaps from the v2 router: see the "Routes in v2 source not yet in inventory" section. Each row is a route the app exposes but we haven't captured. Regen
routes-catalog.jsonfirst if v2 added routes:npm run tour:v2:gen-sitemap. - Per-panel adaptive log:
scripts/tour-v2/discover-output/prod/adaptive/<id>.json(committed). Each entry is one click: text, selectorHint, post-click URL, screenshot path, error if any.markdown-v2/img/prod/adaptive/<id>/has the screenshots.