Gunnar

nordisk/facett

.nornir/facett-worklist.md

<!-- nornir:class: reasoning -->
# facett worklist — prompt-item triage (2026-07-13)

> Triage of Rickard's `workspace_nordisk/prompt` facett asks against the ACTUAL
> code. Headline: **most of it is already built** — the honest next work is
> polish + wiring verification, not new crates (Law #1: reuse, don't invent).

## Prompt ask → real status

| Prompt ask | Status | Evidence |
|---|---|---|
| "add collectors in korp (OSM Sweden roads from Trafikverket or OSM)" | ✅ **built** | `korp-collectors/src/{osm,trafikverket,osm_admin}.rs` (Arrow `Collector`s); korp `config.rs` has `map_trafikverket_parquet` = selectable OSM *or* Trafikverket street source |
| "one trait, data-to-draw selectable — goes for ALL maps" | ✅ **built** | `facett-map/src/layer.rs`: `MapLayer` trait + `WaysLayer`/`PointsLayer` sources + `MapFacet` (Vec<Box<dyn MapLayer>>) + rotatable/tiltable `MapView` + `MapTheme`. Filed: `.nornir/maptrait-design.md` |
| "OSM 3D — garmin navigator style" | ✅ **built** | `facett-map3d` (Filament PBR, IBL, SSAO, shadows, water); `osm3d_demo` |
| "OSM 3D flight" | ✅ **built** | `facett-map3d-flight`, `osm_fly_demo`, `flight_demo`; `.nornir/osm-fly-flow.md` |
| "korp meny tools demo som fyller på OSM Sverige med vägar" | ⚠️ **partial** | collectors + Map tab + config exist; verify the **Tools-menu demo entry** that triggers the OSM/Trafikverket Sweden-roads fill end-to-end (as a jera job) |
| "analysera all kod i facett, gui måste vara tipptopp" | 🔄 **ongoing** | 66-crate workspace; GUI-polish items below |

## Genuine remaining work (P-ranked) — NO duplication

- **P1 — collector→MapLayer bridge verified end-to-end.** korp reads `map_trafikverket_parquet` and references `facett_map::layer::MapLayer`; confirm the parquet→`WaysLayer` path actually renders both sources on the Map tab (via **skade's parquet-stream seam — do NOT re-parse**), and that toggling OSM/Trafikverket works. Wire the korp **Tools-menu "fill OSM Sweden roads" demo** as a jera job if absent. (Touches welded `korp/src/main.rs` — coordinate; korp is the biggest single-source offender per the infra audit.)
- **P2 — GUI tiptop.** graphics roadmap items already filed: `.nornir/graphics-sota-roadmap-reasoning.md` (CSM/VSM shadows, bloom mip-pyramid, GTAO, TAA — next tranche). Idle auto-rotate + click-to-Yggdrasil (see dwarves `funnel-live-graph.md`) apply to the 3D map/graph panes too.
- **P2 — stale doc.** `facett-demo-reasoning.md` was flagged stale (describes an old 19-facet/20×2×7 deck; deck is now 57+). Rewrite pass.
- **P3 — code analysis sweep.** a per-crate quality pass over the 66 crates (dead code, welded panes to factor into components per the `<guest>-embed` law).

## Law note
facett-map already unifies maps via ONE `MapLayer` trait + ONE renderer; OSM/Trafikverket are selectable layers. **Nothing here needs a new crate** — the trait, sources, collectors, and korp Map tab are built. Close gaps by wiring, not re-implementing.