feat(pipeline): compile static peat and KHG vector tiles and serve PMTiles (Issue 2) #10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/issue-2-pmtiles-pipeline"
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
Implements Issue 2: RustGIS-compiled static peat and KHG vector tile pipeline.
peat_soil.pmtilesandkhg.pmtiles) viatippecanoe.206 Partial Content) via/tiles/[file]route handler.pmtiles-protocol.tsto registerpmtiles://protocol in MapLibre GL.Closes #2
Review: Issue 2 - RustGIS-compiled static peat and KHG vector tile pipeline
Verdict: APPROVE
Five-Axis Review Summary
1. Correctness
peat_soil.pmtiles(2.4 MB) andkhg.pmtiles(811 KB), well under the 12 MB budget./tiles/[file]correctly implementsAccept-Ranges: bytes,Content-Range: bytes start-end/total, status206 Partial Content(for ranged requests), and200 OK(for full fetches).#fef08athrough#7c2d12), with KHG sky-400 dashed line layer (#38bdf8, line-dasharray[3, 2]).setLayoutProperty.2. Readability & Simplicity
peat-soil-layer.tsx,khg-layer.tsx), control UI (layer-toggles.tsx), and protocol registration (pmtiles-protocol.ts).3. Architecture
Protocolsingleton.4. Security & Hardening (Consideration)
src/app/tiles/[file]/route.ts:getSafeFilePathstrips non-alphanumeric characters, butstats.isFile()check is recommended to guard against directory requests (e.g.,/tiles/..throwingEISDIR). File extension constraint (.pmtiles) can also be enforced. (Non-blocking, suggested for next pass).5. Performance
Ponytail Audit
pmtilesadded, required for client-side raster/vector PMTiles decompression.Verification
vp check: All 78 files passed formatting and zero lint/type errors.next build: Static generation and dynamic route registration succeeded cleanly.pmtilesmagic header and byte-range slicing verified.Approved Issue 2 implementation