Fix limb blistering on the home-page globe animation#315
Open
rdhyee wants to merge 2 commits into
Open
Conversation
Two complementary changes to tools/globe_capture.html, which drives the animated isamples_globe.webp on the home page: 1. Add `translucencyByDistance: NearFarScalar(20e6, 1.0, 24e6, 0.15)` to each PointPrimitive. At the fixed capture altitude (~22 Mm) nadir points are ~22 Mm from the camera and limb points are ~23 Mm away; this scalar fades limb dots to 15 % opacity while leaving center-globe dots fully opaque, visually dissolving the horizon protrusion. 2. Cap `pixelSize` at 10 px (was 14 px). Smaller screen-space circles extend less beyond the globe silhouette at the limb; the size difference is imperceptible at globe-overview zoom. The static WebP on the home page must be regenerated with `tools/capture_globe_rotation.py` after this change to update the image. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…r fix applied Rebuilt assets/isamples_globe.webp (120 frames, 15 s, 800×500, q40) from tools/globe_capture.html after the fix in the previous commit: - translucencyByDistance fades limb dots to 15 % opacity - pixelSize capped at 10 px (was 14 px) Old file: 2.2 MB. New file: 1.3 MB (smaller because large limb blobs are now faded/smaller and compress better). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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 was wrong
The animated globe on the home page had visible "blistering" — bright, oversized glow/dot artifacts along the horizon (limb) of the globe at certain rotation angles, where points near the edge of the visible disc appeared larger and more saturated than points near the center.
The fix
Two complementary changes in
tools/globe_capture.html(which drives the capture used to bake the static animation):translucencyByDistance: NearFarScalar(20e6, 1.0, 24e6, 0.15)to each point primitive. At the fixed capture altitude (~22 Mm), nadir (center-globe) points sit ~22 Mm from the camera while limb points sit ~23 Mm away — this scalar fades limb dots down to 15% opacity while leaving center-globe dots fully opaque, dissolving the horizon protrusion.pixelSizefrom 14px to 10px, so the screen-space circles extend less beyond the globe's silhouette at the limb (the size difference is imperceptible at globe-overview zoom).The home-page globe is a baked WebP, not a live Cesium render, so
assets/isamples_globe.webpwas regenerated viatools/capture_globe_rotation.pyafter the fix (120 frames, 15s, 800x500, q40 — new file is actually smaller: 1.3MB vs the old 2.2MB, since the faded/smaller limb blobs compress better).Note on tuning
The fade was set to 0.15 (limb points drop to 15% opacity). An earlier open question was whether to soften further to 0.3 minimum opacity; this PR ships the more conservative 0.15 as already committed. If review feedback wants the limb fade softened further, that's an easy follow-up — just adjust the
NearFarScalarvalue and re-run the capture script.Closes #280
🤖 Generated with Claude Code