From 79e373d7cb8991195ef31658a17ab5dd49408a93 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Sun, 27 Sep 2026 05:01:27 +0000 Subject: [PATCH] Kit landing 4c-4: the breadcrumb completes the facet-cascade group, and three dead shims go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit THE GROUP WAS SCHEDULED AS ONE LANDING AND DELIVERED AS TWO. Section 8 of the spec puts the facet rail, the chip bar and the BREADCRUMB in a single landing. The rail moved in 4c-3 and the chips in 4c-2; the breadcrumb was left behind, and nothing failed, because it is mounted by nobody. A leftover like that is invisible unless someone re-reads the spec against the tree, which is what this landing came out of. The breadcrumb gets exactly the inversion the chip bar got: no useTreeLegendLabels import, the resolver read from dashboardConfig.legend, and the SAME unconfigured default — identity, joining an array. Identical on purpose rather than by copy-paste: the breadcrumb and the chips render the same filterSet in the same band, so if their defaults differed a half-configured dashboard would show one value resolved and the other raw, side by side. Its dead `dataStore` / `searchSourceId` injects go too; they existed only to build the composable that is no longer imported. ★ AND THREE ONE-CYCLE SHIMS FROM LANDINGS 2 AND 3 WERE NEVER RETIRED. plugin-designs/research- dashboard/src/composables/ still held useDashboardLayout.js (11 lines), useSelectionCamera.js (11) and useCsvExport.js (14), each a pure re-export of the library module. MEASURED before deleting: ZERO importers. Every consumer — including DashboardMapPanel, DashboardDataTable, DashboardDetailDrawer, useDashboardShell, gospel-internet's board and research-dashboard.vue — already reads '@map/composables/…' directly, and a tree-wide grep for a relative import of any of the three returns nothing. So they were dead code that made the plugin look like it still owned three library modules. I wrote "a one-cycle shim that nobody retires is permanent" into the previous landing's gate comment while three older ones were sitting in the tree unnoticed. They were not found by a gate; they were found by listing what is still in plugin-designs and comparing it against the spec. check:legend-mirrors arm 5 now guards three moved names instead of two, so a re-export of the breadcrumb creeping back into the plugin barrel is caught the same way. Source only. research-dashboard and dashboard-plus-grid need a rebuild. --- documentation/reference-library-index.md | 2 ++ .../dashboards/DashboardBreadcrumb.vue | 21 +++++++++++++++++-- .../scripts/check-legend-mirrors.mjs | 2 +- .../src/components/dashboards/index.js | 5 ++--- .../src/composables/useCsvExport.js | 14 ------------- .../src/composables/useDashboardLayout.js | 11 ---------- .../src/composables/useSelectionCamera.js | 11 ---------- 7 files changed, 24 insertions(+), 42 deletions(-) rename {plugin-designs/research-dashboard/src => library}/components/dashboards/DashboardBreadcrumb.vue (59%) delete mode 100644 plugin-designs/research-dashboard/src/composables/useCsvExport.js delete mode 100644 plugin-designs/research-dashboard/src/composables/useDashboardLayout.js delete mode 100644 plugin-designs/research-dashboard/src/composables/useSelectionCamera.js diff --git a/documentation/reference-library-index.md b/documentation/reference-library-index.md index 5412d2214..3c5250e42 100644 --- a/documentation/reference-library-index.md +++ b/documentation/reference-library-index.md @@ -28,6 +28,8 @@ and a change here can break other maps. `import … from '@map/components/charts/BarChart.vue'` - **ProgressBar** — ProgressBar.vue — the DX-life progress bar: a single-value track, or a segmented one with a legend. `import … from '@map/components/charts/ProgressBar.vue'` +- **DashboardBreadcrumb** — ── KIT LANDING 4c-4: MOVED FROM plugin-designs/research-dashboard/ ─────────────────────────── + `import … from '@map/components/dashboards/DashboardBreadcrumb.vue'` - **DashboardFacetRail** — DashboardFacetRail (was Sidebar.vue) — RDASH redesign phase 2: the floating @map SemanticTreeLegend is DROPPED `import … from '@map/components/dashboards/DashboardFacetRail.vue'` - **DashboardFilterChips** — DashboardFilterChips — the live filterSet rendered as removable AND-stacked chips diff --git a/plugin-designs/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue b/library/components/dashboards/DashboardBreadcrumb.vue similarity index 59% rename from plugin-designs/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue rename to library/components/dashboards/DashboardBreadcrumb.vue index 2fe98107d..32f990f31 100644 --- a/plugin-designs/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue +++ b/library/components/dashboards/DashboardBreadcrumb.vue @@ -1,4 +1,14 @@