Comments state their findings instead of citing files outside the repo
Seven comments in the library and the app pointed at probes, checks, a report or research notes that live outside the repository, where a reader of the code cannot follow them. Each now states what was found and drops the path: the engine-predicate equivalence, the chooser's globe-fill measurement, the fit-at-construction probe, the worldview clause, the web-boundaries sizes (1,866 KB to 383 KB, every feature and part kept). The QA corner and the packet generator lose a dead pointer. The app's nav comment states the three sections and the third dashboard directly instead of quoting a transcript.
This commit is contained in:
parent
68ce355973
commit
9996bb6fde
6 changed files with 14 additions and 23 deletions
|
|
@ -32,8 +32,7 @@ import { useMapInstance } from '@map/composables/useMapInstance.js'
|
|||
// useMapProvider's isMapboxMap; exp-shepherd has landed engineFor(map), which is stricter than
|
||||
// what I had — it instance-tests BOTH engines instead of inferring the second from the first — so
|
||||
// the expression is gone too. Three implementations were compared before swapping (the deleted
|
||||
// copy, my interim expression, and this) and they decide identically in every engine combination:
|
||||
// _qa-cycle/02-builder-cycle/_chk-glfor-equivalence.mjs.
|
||||
// copy, my interim expression, and this) and they decide identically in every engine combination.
|
||||
import { engineFor, projectionOf, setProjectionOn } from '@map/composables/useMapProvider.js'
|
||||
import { resolveMapProvider } from '@map/composables/useMapProvider.js'
|
||||
import { resolveAssetsBase } from '@map/utils/embedBase.js'
|
||||
|
|
@ -459,9 +458,8 @@ function popupHtml(p) {
|
|||
* ★ THIS USED TO BE `log2(width / 512)` — mercator's world is 512*2^z wide, so that is the zoom
|
||||
* which fits one mercator world. But the chooser renders under the GLOBE projection, and the same
|
||||
* mistake that made the region pages frame too wide (a mercator answer applied to a sphere) made
|
||||
* this frame too SMALL. Found by LOOKING at _shot-chooser-map-desktop.png — a sphere adrift in
|
||||
* white space — not by any assertion, and then measured by
|
||||
* _qa-cycle/02-builder-cycle/_probe-chooser-globe-fill.mjs at 1200x780:
|
||||
* this frame too SMALL. Found by LOOKING at a screenshot of the chooser — a sphere adrift in
|
||||
* white space — not by any assertion, and then measured at 1200x780:
|
||||
*
|
||||
* zoom 1.229 (what the mercator formula returned) -> sphere diameter 390.61px = 50.1% of the
|
||||
* frame's short side. HALF THE FRAME WAS DEAD SPACE.
|
||||
|
|
@ -550,8 +548,8 @@ function chooserZoom(m) {
|
|||
/**
|
||||
* Frame `bounds` the way THEIR CONSTRUCTOR frames it, not the way a post-load fitBounds does.
|
||||
*
|
||||
* ★ MEASURED 2026-09-24, one page, one box, one engine (mapbox-gl 3.24.0 on both sides), by
|
||||
* _qa-cycle/02-builder-cycle/_probe-fit-at-construction-vs-after-load.mjs:
|
||||
* ★ MEASURED 2026-09-24, one page, one box, one engine (mapbox-gl 3.24.0 on both sides), framing the
|
||||
* same bounds both ways:
|
||||
*
|
||||
* new mapboxgl.Map({ bounds, fitBoundsOptions }) -> zoom 3.210, getProjection() 'mercator' at t=0
|
||||
* map.fitBounds(bounds, sameOptions) -> zoom 2.777, getProjection() 'globe'
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
/**
|
||||
* QaCorner.vue — the embeddable QA corner widget (bottom-right of any map).
|
||||
*
|
||||
* Visible shell of the QA-agent bridge (see _qa-cycle/01-ideation-research/
|
||||
* qa-loops/qa-embeddable-qa-agent-bridge.md). OIDC-gated onboarding — NEVER a key.
|
||||
* Visible shell of the QA-agent bridge. OIDC-gated onboarding — NEVER a key.
|
||||
*
|
||||
* AUTH: the widget detects the host's session via a same-origin GET /api/auth/me.
|
||||
* That only succeeds when the plugin iframe is SAME-ORIGIN (allow-same-origin). When
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ function countryFilter(code, isMaplibre) {
|
|||
// field, this cannot be bridged in the loader: there is no worldview to invent. It is a fact
|
||||
// about the Mapbox tileset's shape, so only the Mapbox path asks for it.
|
||||
// MEASURED: against the real 162 features, the clause admits 0 and the branch below admits its
|
||||
// country — _qa-cycle/02-builder-cycle/_chk-worldview-clause-guarded-per-engine.mjs.
|
||||
// country.
|
||||
if (isMaplibre) return byCode
|
||||
return [
|
||||
'all',
|
||||
|
|
|
|||
|
|
@ -21,8 +21,9 @@
|
|||
*
|
||||
* VALIDATED, the run FAILS otherwise: the same feature count, the same keys, the same polygon-part
|
||||
* count (no dropped island), and the same property names and values on every feature.
|
||||
* The measured report (size, parts, area error, point-in-polygon drift) is in
|
||||
* _qa-cycle/03-deployment-cycle/REPORT-WEB-BOUNDARIES.md.
|
||||
* MEASURED: the world file goes from 1,866 KB to 383 KB (134 KB gzipped) with all 162 features and all
|
||||
* 572 polygon parts; India's from 1,796 KB to 227 KB with all 36 and all 452. A second run writes
|
||||
* identical bytes.
|
||||
*/
|
||||
import { execFileSync } from 'node:child_process'
|
||||
import { readFileSync, statSync } from 'node:fs'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// packet.mjs — the UPG-100 PRAYER PACKET generator.
|
||||
//
|
||||
// One printable packet per zone. Structure is the Driver's, from the ideation
|
||||
// (_qa-cycle/01-ideation-research/prayer-points.md):
|
||||
// One printable packet per zone, page by page:
|
||||
//
|
||||
// page 1 the MAP — a lightweight vertical one-pager, NOT the poster format
|
||||
// pages 2..n the PEOPLE GROUPS — 20 per page, photo + name + brief detail
|
||||
|
|
|
|||
|
|
@ -224,13 +224,8 @@ function detectHostLocale() {
|
|||
// exist in this SPA are OMITTED (never paint a dead nav row — nav.js's own navForTarget prunes empty
|
||||
// groups the same way). `folder:true` (Experimental) renders collapsible, starting closed.
|
||||
const NAV_MODEL = [
|
||||
// ── THREE SECTIONS, PER THE SPEC (2026-09-22 audio, transcribed to
|
||||
// _qa-cycle/01-ideation-research/SPEC-the-six-map-product-and-its-tab-order.md — that file is
|
||||
// AUTHORITATIVE; this comment explains how the code satisfies it, not the ruling itself).
|
||||
//
|
||||
// Driver, verbatim: "in one of the earlier messages i mentioned i wanted 3 tab sections. one
|
||||
// called dashboards, one called prayer mobilization, one called gospel research. with two maps
|
||||
// inside of each of them."
|
||||
// ── THREE SECTIONS: Dashboards, Prayer Mobilization and Gospel Research, each holding its own maps.
|
||||
// This comment explains how the code keeps that shape, not why the shape was chosen.
|
||||
//
|
||||
// A PRIOR CUT REMOVED DASHBOARDS ENTIRELY (see git history / the spec's "duplicate-key trap"),
|
||||
// because Big Picture had been declared TWICE — once as a one-row Dashboards section and once as
|
||||
|
|
@ -253,8 +248,7 @@ const NAV_MODEL = [
|
|||
// map + People Groups grid composite — "the mobile dashboard" per the spec — and it stays
|
||||
// reachable on desktop too, as the second dashboard row.
|
||||
{ id: 'research-map-plus-grid', icon: 'map' },
|
||||
// 3. Regions — the THIRD dashboard the Driver named: "in the dashboard section I need to have
|
||||
// the Big Picture dashboard, the Simple Research dashboard and the Regions dashboard."
|
||||
// 3. Regions — the third dashboard, beside Big Picture and Simple Research.
|
||||
// Seven plugins across three sections was the ask; this row is the seventh.
|
||||
//
|
||||
// ★ WHAT SHIPS TODAY IS TAB 1 OF 2. regions-dashboard currently builds a single profile,
|
||||
|
|
|
|||
Loading…
Reference in a new issue