You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After PR #180 added 1.5px white halos to point primitives in the Interactive Explorer, dots over hilly/mountainous terrain render with partial halos (crescents) at moderate zoom, and disappear entirely at close zoom over higher terrain.
So whatever's causing the crescents, it's not the standard Cesium terrain depth-test.
Hypotheses worth checking
Alpha-blended fill becoming invisible: withAlpha(0.8) / 0.85 / 0.9 on the fill (color) means at small pixel sizes the fill blends into bright satellite imagery, leaving only the opaque white outline → reads as an empty ring or crescent.
Cesium PointPrimitive shader artifact at certain pixelSize / outlineWidth ratios under scaleByDistance (NearFarScalar).
Atmosphere or translucent ocean layer occluding from one direction at low altitudes.
GPU / DPR-specific: I cannot reproduce locally at canvas ~919×689 / DPR=1; the user's repro screenshot is at much higher resolution. Possibly a high-DPR-only artifact.
Reproduce on prod with devtools — toggle the fill alpha to 1.0, toggle outlineWidth to 0, toggle halo entirely. Whichever toggle resolves the crescents identifies the cause.
Capture viewport/DPR/GPU info at repro time so future investigators can match conditions.
Symptom
After PR #180 added 1.5px white halos to point primitives in the Interactive Explorer, dots over hilly/mountainous terrain render with partial halos (crescents) at moderate zoom, and disappear entirely at close zoom over higher terrain.
Reproducer: https://isamples.org/explorer.html#v=1&lat=33.2706&lng=-86.2375&alt=311435&heading=360.0 — Birmingham, AL hill country.
Visible in the deployed prod site (current HEAD
9d9291c, post-revert).What we've ruled out
Two fix attempts so far, both reverted/closed:
d681758, reverted via Revert "explorer: fix halo cutoff over terrain (disableDepthTestDistance)" (#181) #183): addeddisableDepthTestDistance: Number.POSITIVE_INFINITYto all threePointPrimitive.add()sites. Caused worse regressions (Codex review): back-side-of-globe primitive bleed-through and broken hover/click pickability. Cesium docs confirmPOSITIVE_INFINITYdisables depth-test against the globe ellipsoid, not just terrain.scene.globe.depthTestAgainstTerrain = falseat viewer init. Codex caught this — it's already the Cesium 1.127 default. The artifact occurs despite depthTestAgainstTerrain being false.So whatever's causing the crescents, it's not the standard Cesium terrain depth-test.
Hypotheses worth checking
withAlpha(0.8)/0.85/0.9on the fill (color) means at small pixel sizes the fill blends into bright satellite imagery, leaving only the opaque white outline → reads as an empty ring or crescent.pixelSize / outlineWidthratios underscaleByDistance(NearFarScalar).What was attempted
disableDepthTestDistance: Infinityon all primitivesglobe.depthTestAgainstTerrain = falseSuggested next steps
outlineWidthto 0, toggle halo entirely. Whichever toggle resolves the crescents identifies the cause.Refs
Filed because we're parking this to return to URL-state observability work; tracking so we can pick it up with full context later.