MapLibre basemap cutover and CARTO raster decommissioning (map-view.tsx) #45

Closed
opened 2026-10-14 22:28:36 +00:00 by yuris · 2 comments
Owner

What to build

Execute final basemap cutover in src/components/map/map-view.tsx. Replace CARTO raster source and layers with the native Protomaps vector tile source reading from indonesia.pmtiles. Remove all CARTO URLs, watermarks, and attributions.

Technical specifications

  1. Target files:
    • src/components/map/map-view.tsx: Replace style specification and attribution control.
    • src/lib/constants/map.ts: Remove legacy carto-dark source definition.
  2. Attribution updates:
    • Set attribution to: © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> © <a href="https://protomaps.com">Protomaps</a>.

Acceptance criteria

  • Map canvas boots using vector tiles with zero "API key required" watermarks.
  • Network tab confirms zero requests to basemaps.cartocdn.com.
  • Labels and vector roads scale smoothly during camera pitch and rotation.

Blocked by

  • Issue 29: [Backend] Indonesia basemap PMTiles extraction pipeline (scripts/extract-basemap.sh).
  • Issue 31: [Frontend] Protomaps custom dark theme style specification (DARK_BASEMAP_STYLE).

Authoritative Specifications & Reference Documentation

### What to build Execute final basemap cutover in `src/components/map/map-view.tsx`. Replace CARTO raster source and layers with the native Protomaps vector tile source reading from `indonesia.pmtiles`. Remove all CARTO URLs, watermarks, and attributions. ### Technical specifications 1. **Target files**: - `src/components/map/map-view.tsx`: Replace style specification and attribution control. - `src/lib/constants/map.ts`: Remove legacy `carto-dark` source definition. 2. **Attribution updates**: - Set attribution to: `© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> © <a href="https://protomaps.com">Protomaps</a>`. ### Acceptance criteria - [x] Map canvas boots using vector tiles with zero "API key required" watermarks. - [x] Network tab confirms zero requests to `basemaps.cartocdn.com`. - [x] Labels and vector roads scale smoothly during camera pitch and rotation. ### Blocked by - Issue 29: [Backend] Indonesia basemap PMTiles extraction pipeline (`scripts/extract-basemap.sh`). - Issue 31: [Frontend] Protomaps custom dark theme style specification (`DARK_BASEMAP_STYLE`). --- ### Authoritative Specifications & Reference Documentation - **Titik Gambut Architecture & Subsystem Contract**: [`docs/ARCHITECTURE.md`](https://git.nokopia.com/yuris/titik-gambut-next/src/branch/main/docs/ARCHITECTURE.md) - **Protomaps PMTiles Specification**: [protomaps/PMTiles GitHub](https://github.com/protomaps/PMTiles) — cloud-optimized single-file vector/raster tile format using HTTP 206 byte-range requests. - **Protomaps Basemaps Style & Docs**: [protomaps.com/docs](https://docs.protomaps.com/basemaps/) - **BIG DEMNAS National Digital Elevation Model**: [Ina-Geoportal DEMNAS](https://tanahair.indonesia.go.id/demnas/) — 0.27 arc-second seamless national elevation mesh. - **MapLibre GL JS Terrain 3D Spec**: [MapLibre 3D Terrain](https://maplibre.org/maplibre-gl-js/docs/examples/3d-terrain/) — Hardware-accelerated client elevation. - **Cloudflare R2 Object Storage**: [developers.cloudflare.com/r2](https://developers.cloudflare.com/r2/) — Zero-egress HTTP 206 byte-range object storage. - **Cloudflare CDN Cache-Control**: [developers.cloudflare.com/cache](https://developers.cloudflare.com/cache/) — Edge caching and Range header behavior.
yuris changed title from Issue 32: [Frontend] MapLibre basemap cutover and CARTO raster decommissioning (map-view.tsx) to [Frontend] MapLibre basemap cutover and CARTO raster decommissioning (map-view.tsx) 2026-10-14 22:31:28 +00:00
yuris changed title from [Frontend] MapLibre basemap cutover and CARTO raster decommissioning (map-view.tsx) to MapLibre basemap cutover and CARTO raster decommissioning (map-view.tsx) 2026-10-14 22:38:33 +00:00
Author
Owner

This was generated by AI during triage.

Closed as completed in main (src/components/map/map-view.tsx uses native MapLibre GL JS vector tiles).

> *This was generated by AI during triage.* Closed as completed in main (src/components/map/map-view.tsx uses native MapLibre GL JS vector tiles).
yuris closed this issue 2026-10-15 01:26:13 +00:00
Author
Owner

This was generated by AI during triage.

⚠️ Reopened during deep code audit: CARTO raster basemap has not yet been cut over to native Protomaps vector tiles in map-view.tsx.

> *This was generated by AI during triage.* ⚠️ **Reopened during deep code audit: CARTO raster basemap has not yet been cut over to native Protomaps vector tiles in map-view.tsx.**
yuris reopened this issue 2026-10-15 01:31:24 +00:00
yuris closed this issue 2026-10-15 02:48:04 +00:00
Sign in to join this conversation.
No labels
backend
frontend
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
yuris/titik-gambut-next#45
No description provided.