feat: /examples section (World globe + Flat Map) + landing lighting + render perf#6
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds an /examples section to the website and folds in the landing-globe lighting work and a couple of render-path improvements that came out of building it.
/examplessection/examples→ redirects to/examples/world./examples/world— the ASCII Earth globe (former local/map), drag to orbit, scroll to zoom./examples/flatmap— the iso pan/zoom Web-Mercator terrain map (former local/flatmap) with the control dock + country labels.Exampleslink added to the top nav.Landing
realSunLighton the hero (the real-time terminator left the visible face mostly on the night side → dark/"weirdly contrasted").lightoverride prop onGlyphDemo({ direction, intensity, ambient }) so the hero gets a bright, even fixed key without changing the global default for docs demos.Render (
@glyphcss/corerasterizer / scene)Data weight
The example pages fetch pre-baked tile JSON at runtime. The full pyramids were 276 MB, so they're capped to what these demos actually need:
LOD selection + max-zoom are capped in code so the pages never request a dropped level (verified: aggressive zoom → zero
/data/404s). Deeper levels remain regenerable frometopo/gadmvia the bake scripts.CI / build notes
pnpm test(294) andpnpm buildboth pass;/examples/*routes generate.etopo/gadm— those are local-only bake inputs, not build inputs.gdal-asyncis intentionally not apackage.jsondependency (only the manualbake-labels.mjsuses it); the transient-install command is documented in the script header.Notes
lightprop is on the website'sGlyphDemo, not the published packages).