From 053bdb41b12dd0b72f9104a79fa4a38e6ebf43ab Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Sun, 27 Sep 2026 02:20:56 +0000 Subject: [PATCH] Prayer map without a key: crisp rose borders and light mixed-case country names, as on the reference --- .../doxa-simple-map/doxa-simple-map.vue | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/plugin-designs/doxa-simple-map/doxa-simple-map.vue b/plugin-designs/doxa-simple-map/doxa-simple-map.vue index c1a48f804..93d108192 100644 --- a/plugin-designs/doxa-simple-map/doxa-simple-map.vue +++ b/plugin-designs/doxa-simple-map/doxa-simple-map.vue @@ -648,8 +648,17 @@ const KEYLESS_NIGHT_PAINT = [ { layer: 'building', prop: 'fill-color', value: 'hsla(215,30%,15%,0.65)' }, { layer: 'boundary_country_z0-4', prop: 'line-color', value: '#c95d74' }, { layer: 'boundary_country_z5-', prop: 'line-color', value: '#c95d74' }, - { layer: 'boundary_country_z0-4', prop: 'line-opacity', value: 0.75 }, - { layer: 'boundary_country_z5-', prop: 'line-opacity', value: 0.75 }, + // Crisp and opaque: at 0.75 over fiord's blur the rose read as a faint mauve (#5b4659 against + // the reference #934f66, rega's side-by-side). + { layer: 'boundary_country_z0-4', prop: 'line-opacity', value: 1 }, + { layer: 'boundary_country_z5-', prop: 'line-opacity', value: 1 }, + { layer: 'boundary_country_z0-4', prop: 'line-blur', value: 0 }, + { layer: 'boundary_country_z5-', prop: 'line-blur', value: 0 }, + // Country names light over a dark halo, as on the reference (fiord's are grey-blue). + ...['place_country_major', 'place_country_minor', 'place_country_other'].flatMap((layer) => [ + { layer, prop: 'text-color', value: '#dde1e7' }, + { layer, prop: 'text-halo-color', value: 'rgba(3,17,45,0.85)' }, + ]), { layer: 'boundary_state', prop: 'line-color', value: 'hsla(345,45%,60%,0.3)' }, ] // MapLibre only (it has no Standard config to set, the same test useMapTheme uses), and only on @@ -657,6 +666,11 @@ const KEYLESS_NIGHT_PAINT = [ function paintKeylessNight(m) { if (!m || typeof m.setConfigProperty === 'function' || !isDarkBasemap.value) return applyStylePaint(m, KEYLESS_NIGHT_PAINT) + // fiord writes country names in capitals; the reference is mixed case. Layout, not paint, so it + // is not in the list above; the same skip-if-absent rule applies. + for (const id of ['place_country_major', 'place_country_minor', 'place_country_other']) { + try { if (m.getLayer(id)) m.setLayoutProperty(id, 'text-transform', 'none') } catch (_) {} + } } // SEAMLESS theme: the basemap lightPreset follows uiStore.theme reactively. NO setStyle // reload → pins/glow never wiped, no flash, instant toggle.