One worldmap.svg, at the path that carries its provenance
Some checks are pending
build-gate / build (push) Waiting to run

c43aa39 landed the same 311KB asset at public/assets/images/worldmap.svg --
DX-life's own path -- together with a PROVENANCE record: a full-file scan
for copyright, licence, attribution, author and the usual stock-library
names returns nothing, the ids are design-tool export names, and DX-life
keeps no licence file beside that folder either, so this is internal reuse
of first-party artwork rather than redistribution of a third-party asset.
The contrast it draws is the right one: the vendored typefaces ARE
third-party and do carry their OFL licence in the folder that serves them.

I had ported the same file to assets/brand/ earlier in this flight. MEASURED
identical -- md5 b7af01b31096c265e221a1d4e3f88c8d on both -- so the tree was
shipping 311KB twice, and, worse, keeping the provenance record in one
folder and a copy of the asset in another, where the two can drift apart
without anything noticing.

So the grid now points at the documented copy and the brand/ one is deleted.
Nothing about the rendering changes; only which of two identical files it
asks for.

VERIFIED on the built tree: /assets/brand/worldmap.svg now 404,
/assets/images/worldmap.svg 200, the #filters backdrop still computes
background-size 60% and position 50% 0% with 0 failed requests, check:sri 0,
gates:pre 0, gates:post 0.
This commit is contained in:
doxa-maps-88655c70 2026-09-24 09:37:45 +00:00
parent d8a3e5992f
commit f824329466
8 changed files with 14 additions and 410 deletions

View file

@ -226,7 +226,13 @@ const filtersBackdrop = computed(() => {
if (!useSearch.value && !useFilters.value) return null
const base = resolveAssetsBase(cfg.value)
return {
backgroundImage: `url(${base}/brand/worldmap.svg)`,
// ★ assets/images/, NOT a second copy under assets/brand/. I originally ported this file to
// brand/; a later audit landed the SAME 311KB bytes at assets/images/worldmap.svg — DX-life's
// own path — with a PROVENANCE record beside it explaining why no licence file accompanies it
// (first-party artwork, no embedded credits, contrast with the OFL fonts). Two byte-identical
// copies (md5 b7af01b3…) is 311KB of duplication and two places for the provenance to drift
// from the asset, so this now points at the documented one and the brand/ copy is deleted.
backgroundImage: `url(${base}/images/worldmap.svg)`,
backgroundSize: '60%',
backgroundPosition: 'top center',
backgroundRepeat: 'no-repeat',

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 304 KiB

File diff suppressed because one or more lines are too long

View file

@ -715,7 +715,7 @@
"bundle": "people-groups-grid",
"scriptUrl": "./people-groups-grid/people-groups-grid.js",
"output": "doxa-maps/people-groups-grid/people-groups-grid.js",
"integrity": "sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37",
"integrity": "sha384-8B2T2ckH+v8p2hEnkGruUg4Do5ZFsh31QSxYJYMj4/PN/ccHdgaIyK4dyW2GlUAR",
"elements": [
"people-groups-grid"
],
@ -731,7 +731,7 @@
"scriptUrl": "./people-groups-grid/people-groups-grid.js",
"embed": {
"iframe": "<iframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37\" crossorigin=\"anonymous\"></script>\n<people-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></people-groups-grid>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-8B2T2ckH+v8p2hEnkGruUg4Do5ZFsh31QSxYJYMj4/PN/ccHdgaIyK4dyW2GlUAR\" crossorigin=\"anonymous\"></script>\n<people-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></people-groups-grid>"
},
"instances": [
{

File diff suppressed because one or more lines are too long

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <people-groups-grid> custom element. -->
<script src="../../people-groups-grid.js" integrity="sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37" crossorigin="anonymous"></script>
<script src="../../people-groups-grid.js" integrity="sha384-8B2T2ckH+v8p2hEnkGruUg4Do5ZFsh31QSxYJYMj4/PN/ccHdgaIyK4dyW2GlUAR" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <people-groups-grid> custom element. -->
<script src="../people-groups-grid.js" integrity="sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37" crossorigin="anonymous"></script>
<script src="../people-groups-grid.js" integrity="sha384-8B2T2ckH+v8p2hEnkGruUg4Do5ZFsh31QSxYJYMj4/PN/ccHdgaIyK4dyW2GlUAR" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <people-groups-grid> custom element. -->
<script src="../../people-groups-grid.js" integrity="sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37" crossorigin="anonymous"></script>
<script src="../../people-groups-grid.js" integrity="sha384-8B2T2ckH+v8p2hEnkGruUg4Do5ZFsh31QSxYJYMj4/PN/ccHdgaIyK4dyW2GlUAR" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order: