diff --git a/plugin-designs/wall-of-people-groups/scripts/check-wall-no-bg-photos.mjs b/plugin-designs/wall-of-people-groups/scripts/check-wall-no-bg-photos.mjs index d90e16f13..18c21c1c3 100644 --- a/plugin-designs/wall-of-people-groups/scripts/check-wall-no-bg-photos.mjs +++ b/plugin-designs/wall-of-people-groups/scripts/check-wall-no-bg-photos.mjs @@ -3,7 +3,7 @@ * check-wall-no-bg-photos — the Wall's store never downloads photos on its own. Headless. * * Until 2026-09-29 the store "tested" every photo after loading the list: 932 photos, 132 MB, on every - * visit, whether or not anyone zoomed in (rega measured 108–132 image requests in the first 60 s; 0 + * visit, whether or not anyone zoomed in (measured: 108–132 image requests in the first 60 s; 0 * after the fix). The canvas loads only the photos in view, so the store must load none. This runs the * REAL store (through Vite, so @map resolves) against a trimmed copy of the live list * (fixtures/pray-list-sample.json), with fetch stubbed to serve it and Image stubbed to COUNT every diff --git a/plugin-designs/wall-of-people-groups/src/blessPoster.js b/plugin-designs/wall-of-people-groups/src/blessPoster.js index ab52c2ccb..a8c28e41a 100644 --- a/plugin-designs/wall-of-people-groups/src/blessPoster.js +++ b/plugin-designs/wall-of-people-groups/src/blessPoster.js @@ -148,7 +148,7 @@ const ICONS = { * two cannot drift. Sizes in points, lengths in inches. * · the reference prints at the verse's size × 0.8, never below MIN_READABLE_PT (a reference that can't * be read is noise); verse and reference are only printed on sizes whose verses are readable; - * · a long name shrinks to fit its line (bold ≈ 0.72 em a character: measured wide on purpose, rega found + * · a long name shrinks to fit its line (bold ≈ 0.72 em a character: measured wide on purpose, since * 0.68 left "Kummara, Kumbara" 2 px over), down to MIN_READABLE_PT (or the preset's own name size if that * is smaller); still too long, it wraps, at the size that fits two lines, or more (up to four) at the floor. */ @@ -163,7 +163,7 @@ export function cardText(plan, name) { const words = String(name).split(/\s+/).filter(Boolean), longest = Math.max(1, ...words.map((w) => w.length)) const pt = wrap ? Math.max(floor, Math.min(nPt, (2 * inner) / (len * EM), inner / (longest * EM))) : Math.min(nPt, want) // Lines counted the way the browser breaks them: whole words, greedily (a word longer than a line is cut), with - // 15% slack on the character width (rega measured bold names wider than the plain sum). Up to 4 lines: a long + // 15% slack on the character width (bold names measured wider than the plain sum). Up to 4 lines: a long // name at the floor size ("Northern Conchucos Ancash Quechua") needs 4, and the photo gives up the height. const lines = wrap ? Math.min(4, wrapLines(words, inner / (EM * pt * 1.15))) : 1 return { diff --git a/plugin-designs/wall-of-people-groups/src/wall.css b/plugin-designs/wall-of-people-groups/src/wall.css index 91cca30ec..300514335 100644 --- a/plugin-designs/wall-of-people-groups/src/wall.css +++ b/plugin-designs/wall-of-people-groups/src/wall.css @@ -122,7 +122,7 @@ body { font-weight: 500; } -/* PHONE (rega, 390×844): the header was one row, so the title wrapped to five lines and the poster-size +/* PHONE (390×844): the header was one row, so the title wrapped to five lines and the poster-size select and the Bless/Social toggle ran off the right edge, unreachable. On a phone the title takes one short line and the controls wrap onto as many rows as they need, every one on screen. */ @media (max-width: 640px) { diff --git a/plugin-designs/wall-of-people-groups/src/wallCanvas.js b/plugin-designs/wall-of-people-groups/src/wallCanvas.js index 3903a1e60..1d84c9b76 100644 --- a/plugin-designs/wall-of-people-groups/src/wallCanvas.js +++ b/plugin-designs/wall-of-people-groups/src/wallCanvas.js @@ -1,7 +1,7 @@ /** * wallCanvas.js — the Wall of People Groups drawn on ONE instead of an SVG of ~36,000 nodes. * - * Measured before (rega, main 16ff7e719, all 2,107 cards): 36,247 DOM nodes (36,214 SVG), a 0.5-1.6 s + * Measured before (main 16ff7e719, all 2,107 cards): 36,247 DOM nodes (36,214 SVG), a 0.5-1.6 s * long task on EVERY wheel tick, 41.7 s to zoom out to the whole wall, p95 350 ms frames when panning * it. The JS heap was only 8.3 MB: the cost was the SVG DOM being re-laid-out and re-painted per tick. * Here each frame draws only the cards in view, in world coordinates, with level of detail: