Re-derive country-posters.json region fields from live wagf_region

Each country's region is set to the live wagf_region its groups carry (file
label spelling); only the region field changes (stats, bbox, count, India row
untouched). The stale 'Other' bucket (18 countries) empties out and each moves
to its real region: USA and the non-Spanish Caribbean + the Guianas to North
America & Non-Spanish Caribbean; Andorra/Monaco/San Marino to Europe; Cocos,
Christmas, Niue, Norfolk, Tokelau, Wallis & Futuna to Oceania. Europe goes
27 -> 30, matching the live Regions dashboard.

check:poster-section drops 'other' from its covering scopes (the bucket is now
empty, so the /regions/other scope resolves to zero countries); the seven real
regions still cover all 175 countries exactly once.

Region-only diff (18 region lines); B25 India withheld unchanged
(check:country-sheet-one-path, poster-section, poster-browser-equiv,
poster-design-catalogue all PASS).
This commit is contained in:
Doxa Maps 2026-10-02 08:38:11 +00:00
parent 078378199a
commit f1b2cd34f4
2 changed files with 22 additions and 20 deletions

View file

@ -960,7 +960,7 @@
"iso3": "USA",
"label": "United States of America",
"count": 3,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-178.228,
13.246,
@ -1152,7 +1152,7 @@
"iso3": "CCK",
"label": "Cocos (Keeling) Islands",
"count": 2,
"region": "Other",
"region": "Oceania",
"bbox": [
96.831418,
-12.185468,
@ -1232,7 +1232,7 @@
"iso3": "GUF",
"label": "French Guiana",
"count": 2,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-54.601,
2.179,
@ -1344,7 +1344,7 @@
"iso3": "AND",
"label": "Andorra",
"count": 1,
"region": "Other",
"region": "Europe",
"bbox": [
1.412,
42.43,
@ -1424,7 +1424,7 @@
"iso3": "VIR",
"label": "Virgin Islands, U.S.",
"count": 1,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-64.904,
17.68,
@ -1536,7 +1536,7 @@
"iso3": "BMU",
"label": "Bermuda",
"count": 1,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-64.886,
32.248,
@ -1568,7 +1568,7 @@
"iso3": "VGB",
"label": "Virgin Islands, British",
"count": 1,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-64.716,
18.389,
@ -1648,7 +1648,7 @@
"iso3": "CXR",
"label": "Christmas Island",
"count": 1,
"region": "Other",
"region": "Oceania",
"bbox": [
105.672,
-10.426,
@ -1744,7 +1744,7 @@
"iso3": "DMA",
"label": "Dominica",
"count": 1,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-61.48,
15.21,
@ -1888,7 +1888,7 @@
"iso3": "GLP",
"label": "Guadeloupe",
"count": 1,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-61.809,
15.947,
@ -2192,7 +2192,7 @@
"iso3": "MCO",
"label": "Monaco",
"count": 1,
"region": "Other",
"region": "Europe",
"bbox": [
7.416,
43.733,
@ -2208,7 +2208,7 @@
"iso3": "MSR",
"label": "Montserrat",
"count": 1,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-62.232,
16.675,
@ -2240,7 +2240,7 @@
"iso3": "NIU",
"label": "Niue",
"count": 1,
"region": "Other",
"region": "Oceania",
"bbox": [
-169.949,
-19.155,
@ -2272,7 +2272,7 @@
"iso3": "NFK",
"label": "Norfolk Island",
"count": 1,
"region": "Other",
"region": "Oceania",
"bbox": [
167.9544,
-29.0338,
@ -2352,7 +2352,7 @@
"iso3": "BLM",
"label": "Saint Barthélemy",
"count": 1,
"region": "Other",
"region": "North America & Non-Spanish Caribbean",
"bbox": [
-62.868,
17.879,
@ -2400,7 +2400,7 @@
"iso3": "SMR",
"label": "San Marino",
"count": 1,
"region": "Other",
"region": "Europe",
"bbox": [
12.404,
43.896,
@ -2544,7 +2544,7 @@
"iso3": "TKL",
"label": "Tokelau",
"count": 1,
"region": "Other",
"region": "Oceania",
"bbox": [
-172.47,
-8.557,
@ -2608,7 +2608,7 @@
"iso3": "WLF",
"label": "Wallis and Futuna",
"count": 1,
"region": "Other",
"region": "Oceania",
"bbox": [
-176.251,
-13.352,

View file

@ -1,7 +1,7 @@
#!/usr/bin/env node
// check:poster-section — the reusable poster section (<dxm-poster-section>) and the lift behind it.
// A. the TYPE REGISTRY: 'country' is registered, an unknown type is null, a plugin can register its own.
// B. SCOPES: DX Life's /regions slugs (africa … oceania, other) each resolve; every spelling of a region (its
// B. SCOPES: DX Life's /regions slugs (africa … oceania) each resolve; every spelling of a region (its
// slug, its API value, its English name) resolves to the same countries; the scopes cover all countries once.
// C. a WITHHELD whole-country poster stays withheld through the type (the card's sentence; its rows rejected,
// no records fetched).
@ -14,7 +14,9 @@ import { readFileSync } from 'node:fs'
import { join, dirname } from 'node:path'
import { fileURLToPath } from 'node:url'
const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..', '..', '..')
const DXL = ['africa', 'asia', 'europe', 'latin-america-and-caribbean', 'middle-east', 'north-america-and-non-spanish-caribbean', 'oceania', 'other']
// 'other' dropped: the region re-derive from live wagf_region emptied the "Other" bucket (every country now carries a
// real region), so the /regions/other scope resolves to zero countries and is no longer one of the covering scopes.
const DXL = ['africa', 'asia', 'europe', 'latin-america-and-caribbean', 'middle-east', 'north-america-and-non-spanish-caribbean', 'oceania']
async function arms({ types, country, element, sectionSrc }) {
const fails = []