feat(map): cut over to Protomaps vector basemap and decommission CARTO raster tiles #108
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/protomaps-dark-basemap"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Replace third-party CARTO raster tiles with sovereign Protomaps vector basemap styled with @protomaps/basemaps dark theme, consuming indonesia.pmtiles from Cloudflare R2 / local route. Executed playbook:
skill://poteto-mode/playbooks/feature.md.Closes #44, Closes #45
Principles applied
principle-model-the-domain: Structured basemap style and peatland color palette directly matching domain requirements.principle-subtract-before-you-add: Decommissioned third-party CARTO raster sources and tiles before adding the vector configuration.principle-boundary-discipline: Isolated tile archive URL resolution and PMTiles protocol mapping at the GIS constants boundary.principle-prove-it-works: Verified with unit test assertions, clean lint checks, and Next.js production build.principle-test-behavior-not-implementation: Tested source configuration, absence of legacy CARTO layers, and URL resolution directly against expected values.principle-laziness-protocol: Leveraged upstream @protomaps/basemaps layer generator rather than maintaining bespoke style trees.Impact
Anti-Overengineering Audit (ponytail-review)
Verification proof
pnpm exec vp check: Passed (0 errors, 0 warnings across 249 files).pnpm test: All 17 test files and 121 unit tests passed.pnpm build: Passed cleanly, standalone Next.js production application compiled.Code Review & Ponytail Audit Summary: Protomaps Vector Basemap Cutover
1. Mechanical Verification Gate (
scripts/verify-pr.mjs)2. Ponytail Audit (Zero Bespoke Bloat)
@protomaps/basemapsstandard styling engine.Lean already. Ship.3. Subsystem Boundary & Discipline
package.json,src/lib/constants/map.ts,src/lib/constants/__tests__/map.test.ts). Zero backend or pipeline leakage.4. Verification & Test Proofs
vp check: Passed 100% (249 files formatted, 0 warnings/lint errors in 90 files).pnpm test: All 121 tests passed across 17 test suites, including thorough verification of the Protomaps vector layer stack, customized dark peatland palette, and URL resolution.next build: Next.js Turbopack build succeeded.CI / Verify Quality & Build (pull_request)succeeded on Forgejo.5. Acceptance Criteria
Decision: APPROVED for squash merge into
main.