Build and deploy the worldwide custom Planetiler + PMTiles basemap - #23
Conversation
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (7)
📒 Files selected for processing (69)
📝 WalkthroughWalkthroughThis PR adds a custom Planetiler vector schema, regional and worldwide PMTiles build pipelines, MapLibre PMTiles routing, HTTP range-capable serving, local glyph handling, and automated integration, release, server, and visual validation. ChangesPlanetiler schema and regional archive build
Worldwide shard planning and publication
Runtime PMTiles activation and regional routing
PMTiles serving and runtime validation
Fresno build and visual evidence
Estimated code review effort: 5 (Critical) | ~120 minutes Sequence Diagram(s)sequenceDiagram
participant MapLibre
participant OccumedMap
participant WorldRouter
participant Server
participant Release
MapLibre->>OccumedMap: Create map and load style
OccumedMap->>WorldRouter: Install manifest-based routing
WorldRouter->>Server: Fetch world manifest
Server->>Release: Proxy manifest or PMTiles range
Release-->>Server: Return manifest or partial archive
Server-->>MapLibre: Return routed PMTiles response
WorldRouter-->>MapLibre: Switch regional source URL
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cfabe7deba
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@planetiler/build-region.sh`:
- Line 7: Update the OCCUMED_PLANETILER_IMAGE default in the build script to use
an immutable Planetiler version or image digest instead of :latest, while
preserving the existing environment-variable override behavior.
In `@planetiler/occumed-basemap.yml`:
- Around line 214-215: Update the admin_level attribute mapping to coerce
tag_value to an integer before emission, ensuring numeric boundary filters such
as 4 match correctly while preserving the existing admin_level key.
- Around line 124-127: Update the derived attribute mappings in the affected
sections, including the brunnel and ramp entries, to use Planetiler’s value: '${
... }' inline expression syntax instead of expression:. Translate tag lookups to
feature.tags[...] within each expression, preserving the existing computed
values across all referenced mappings.
- Line 8: Define the `args.area` configuration with `california` as its default,
then update the OSM source URL in `occumed-basemap.yml` to interpolate that
argument instead of hard-coding `california`, preserving support for `--area`
values such as `us/wisconsin`.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 3261e840-2d94-48d7-9779-804f4e55d3b3
📒 Files selected for processing (7)
package.jsonplanetiler/README.mdplanetiler/build-region.shplanetiler/occumed-basemap.ymlscripts/check-pmtiles-integration.mjsscripts/use-custom-pmtiles-source.mjssrc/occumed-map.js
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
The first real Fresno archive build reached the Planetiler generation step after successfully downloading California OSM data and extracting the Fresno/central-Sierra region. I am fixing the exact Planetiler schema/build error now; the normal MapLibre application build remains green. This PR is not ready to merge yet. |
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
The custom Fresno PMTiles archive now builds successfully, the production server serves it with verified HTTP byte ranges, and the browser workflow captured the real Fresno regional, city, street, and Sierra views at device scale factor 2. I am inspecting the captured outputs before calling this PR ready; it remains unmerged. |
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
planetiler/occumed-basemap.yml (1)
104-113: 🚀 Performance & Scalability | 🔵 Trivial | 💤 Low value
leisure=park/nature_reserveare emitted twice (landuse + park).Same geometries at the same min zoom in two layers inflate tile size. Consider excluding them from
landuseifparkis the canonical layer for the style.Also applies to: 127-136
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@planetiler/occumed-basemap.yml` around lines 104 - 113, Update the OSM polygon source configurations for the landuse and park layers so leisure=park and leisure=nature_reserve are emitted only by the canonical park layer at the affected zoom. Remove those values from the landuse leisure filter while preserving the other landuse classes and the park layer’s existing attributes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/build-fresno-pmtiles.yml:
- Around line 126-145: Update the “Write archive manifest” step to regenerate
the SHA-256 checksum from within artifacts/ using the archive basename,
replacing the existing artifacts/occumed-fresno.pmtiles.sha256 before the
manifest is written and uploaded. Keep the manifest and upload paths unchanged
so the published checksum is portable and works with sha256sum -c after
download.
In `@planetiler/occumed-basemap.yml`:
- Around line 715-799: Add the existing name:latin coalesce expression using
name:en then name to the place feature definitions for region, town, village,
and suburb/neighbourhood/hamlet, alongside their current name attributes. Keep
the expression consistent with the city and other place features.
- Around line 496-532: Update the transportation_name class attribute
configuration to use the same highway-to-class normalization match expression as
the transportation layer, mapping unclassified, residential, and living_street
to minor while preserving other class mappings.
- Around line 11-13: Update the osm_source_path default to flatten
slash-containing args.area values into a single filename before appending
“.osm.pbf”, while preserving the existing behavior for simple area names.
In `@scripts/capture-pmtiles-preview.mjs`:
- Around line 58-80: Update the capture validation around the page.evaluate
result and the per-view capture flow to assert that the occumed-open source uses
the expected pmtiles:// URL, map.loaded() and map.areTilesLoaded() are true, and
no unexpected resource failures occurred. Capture resource failures during the
page lifecycle, reject them unless they match a narrowly documented allowlist,
and make every view fail rather than producing a report when any health check
fails.
---
Nitpick comments:
In `@planetiler/occumed-basemap.yml`:
- Around line 104-113: Update the OSM polygon source configurations for the
landuse and park layers so leisure=park and leisure=nature_reserve are emitted
only by the canonical park layer at the affected zoom. Remove those values from
the landuse leisure filter while preserving the other landuse classes and the
park layer’s existing attributes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 36d23c3f-5419-415c-9c92-c4ab237c56a4
⛔ Files ignored due to path filters (4)
visual-validation/fresno-pmtiles/fresno-city-z11.pngis excluded by!**/*.pngvisual-validation/fresno-pmtiles/fresno-regional-z8.pngis excluded by!**/*.pngvisual-validation/fresno-pmtiles/fresno-street-z14.pngis excluded by!**/*.pngvisual-validation/fresno-pmtiles/sierra-terrain-z10.pngis excluded by!**/*.png
📒 Files selected for processing (11)
.github/workflows/build-fresno-pmtiles.ymlplanetiler/build-region.shplanetiler/occumed-basemap.ymlscripts/capture-pmtiles-preview.mjsscripts/check-server-health.mjsserver.mjssrc/main.jsvisual-validation/fresno-pmtiles/README.mdvisual-validation/fresno-pmtiles/occumed-fresno.manifest.txtvisual-validation/fresno-pmtiles/pmtiles-range.headers.txtvisual-validation/fresno-pmtiles/preview-report.json
🚧 Files skipped from review as they are similar to previous changes (1)
- planetiler/build-region.sh
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Occumed79 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
This PR completes the worldwide Occu-Med-owned Planetiler + PMTiles basemap pipeline and runtime routing.
Final worldwide release state
The pinned final release audit passed with:
The authoritative audit result is stored at
diagnostics/world-release-audit/final-verification.json.Worldwide publication architecture
world-manifest.jsononly when the pinned plan reports zero missing regions.Runtime
/world-manifest.json;/world-tiles/occumed-<region>.pmtiles;occumedworldsourcechangefor diagnostics;Validation decision
The project owner explicitly removed Fresno browser rendering from the completion gate on 2026-07-27. The Fresno workflow is now a manual-only skipped stub and does not block release finalization.
The passed pinned worldwide release audit is the final completion authority for this PR.
Summary by CodeRabbit