Give country-posters a real description so the SPA stops calling it "experimental bundle"
Some checks are pending
build-gate / build (push) Waiting to run

Both country-posters profiles had a prose header but no @description tag, and
the generator reads the TAG, not the prose. It emitted an empty description
into manifest.json, so the cap-5 SPA fell back to its generic label and the
Experimental rail showed a nameless tile — the only bundle in the app that
did. A Doxa inheritor browsing the SPA met "experimental bundle".

Added @description (and the @element tag both files were also missing, which
validates against the build's choke-point rule) to countries-map.vue and
country-poster-wall.vue, with text grounded in what each profile does.

Verified at the symptom, not the intermediate: the rendered rail now shows
the real description and the placeholder count is 0. Embed suite 40/40.
This commit is contained in:
doxa-maps 2026-09-22 02:45:07 +00:00
parent 40c4cc67d4
commit fc1159151f
7 changed files with 27 additions and 6 deletions

View file

@ -2,6 +2,18 @@
/**
* countries-map.vue — Application Profile: COUNTRIES MAP
*
* @element country-posters-map
* @description The researcher's workbench retargeted from people groups to COUNTRIES — region
* polygons, region colours, the shared legend and 3-tier tree, clustering, geocoder search and
* the detail panel, all inherited by cloning research-map.vue rather than re-implementing it.
* Pane 1 of the country-posters bundle; pane 2 is the collapsible poster wall.
*
* ★ WHY THIS TAG EXISTS (added 2026-09-22). Without an `@description` the generator emits an
* EMPTY description into manifest.json, and the cap-5 SPA then labels the tab with its generic
* fallback — "experimental bundle". country-posters was the only bundle in the rail showing that
* placeholder, so a Doxa inheritor browsing the app met a nameless tile. The prose header below
* was always here; the generator reads the TAG, not the prose.
*
* A CLONE of research-map.vue (the researcher's workbench), identical in every
* respect except THREE country-first parameters. This file is deliberately not a
* re-implementation: reusing the profile verbatim is what gives this map the

View file

@ -2,6 +2,15 @@
/**
* country-poster-wall.vue — the COUNTRY poster wall (pane 2 of country-posters).
*
* @element country-posters-map
* @description One printable card per country, grouped into COLLAPSIBLE regional sections so the
* wall stays navigable at real data volume (Asia alone is 28 countries / 1,309 groups). Rendering
* lives in the shared PosterWall component; this profile supplies only its data and taxonomy.
*
* See the note in countries-map.vue: the generator reads the `@description` TAG, not the prose
* below it, and an absent tag makes the cap-5 SPA fall back to labelling the tab "experimental
* bundle".
*
* One card per country, grouped into COLLAPSIBLE regional sections. All of the
* rendering lives in the shared @map/components/poster/PosterWall.vue — this
* profile supplies only its data and its taxonomy.

View file

@ -1 +1 @@
pid=409657 started=2026-09-22T02:19:10Z by=lk10x
pid=487799 started=2026-09-22T02:33:53Z by=lk10x

View file

@ -130,7 +130,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut)
<script>window.FORGE = {"mode":"built","scope":"bundle","manifestUrl":"../manifest.json","bundle":"country-posters","hrefBase":"../"};
/* file:// contract: manifest inlined at build — no fetch needed to render. */
window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-W7C5dqO9Otokvs5+g+2BO/FIY0e//dqfciPCAZUkDRhF2iGY1+HhccCUFkSeavUU","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-W7C5dqO9Otokvs5+g+2BO/FIY0e//dqfciPCAZUkDRhF2iGY1+HhccCUFkSeavUU\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-W7C5dqO9Otokvs5+g+2BO/FIY0e//dqfciPCAZUkDRhF2iGY1+HhccCUFkSeavUU\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]}]};</script>
window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-W7C5dqO9Otokvs5+g+2BO/FIY0e//dqfciPCAZUkDRhF2iGY1+HhccCUFkSeavUU","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-W7C5dqO9Otokvs5+g+2BO/FIY0e//dqfciPCAZUkDRhF2iGY1+HhccCUFkSeavUU\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-W7C5dqO9Otokvs5+g+2BO/FIY0e//dqfciPCAZUkDRhF2iGY1+HhccCUFkSeavUU\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]}]};</script>
<script>/**
* staging-forge.js — the ONE-PAGE semantic staging environment (root + bundle pages).
*

File diff suppressed because one or more lines are too long

View file

@ -158,7 +158,7 @@
{
"profile": "countries-map",
"file": "countries-map.vue",
"description": "",
"description": "The researcher's workbench retargeted from people groups to COUNTRIES — region",
"element": "country-posters-map",
"type": "single",
"isMap": true,
@ -172,7 +172,7 @@
{
"profile": "country-poster-wall",
"file": "country-poster-wall.vue",
"description": "",
"description": "One printable card per country, grouped into COLLAPSIBLE regional sections so the",
"element": "country-posters-map",
"type": "single",
"isMap": false,

File diff suppressed because one or more lines are too long