• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

visgl / deck.gl / 40271574470
85%

Build:
DEFAULT BRANCH: master
Ran 26 Oct 2026 05:05AM UTC
Jobs 1
Files 429
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Oct 2026 04:55AM UTC coverage: 84.16% (+0.001%) from 84.159%
40271574470

push

github

web-flow
fix(core): fit the shadow map to the visible frustum at high pitch (3/5) (#10893)

* fix(core): release shadow resources when LightingEffect turns shadows off

EffectManager reuses the existing LightingEffect and calls setProps when
a new one is passed. Turning the last `_shadow` light off kept the
shadow module registered as a default module, but getShaderModuleProps
stopped passing the dummy shadow map, so shadow_uShadowMap0/1 were
unbound and every layer skipped drawing. Call cleanup() from setProps
when no light casts shadows, so layers are rebuilt without the module.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(core): draw the shadow map without per-layer polygon offset

Layer._drawLayer applies `getPolygonOffset` (default [0, -layerIndex * 100])
in every pass. The shadow map stores gl_FragCoord.z, which includes the
offset, so the k-th layer drawn in the shadow pass stored a depth
k * 100 * 2^-16 closer to the light. From the third layer on, layers fell
partly or fully into their own shadow. ShadowPass now sets depthBias: 0
so the shadow map is drawn without the offset.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(core): fit the shadow map to the visible frustum at high pitch

getViewProjectionMatrices fitted the light frustum to the points where the
viewport corner rays hit the ground. With the default fov, the top corners
reach the horizon at pitch ~71.6. Just below it the hits are far beyond the
camera's far plane (light frustum 20 x 28 km at pitch 72, 63 m texels).
Above it they are behind the camera, so the shadow map no longer covers the
visible scene. Shadows disappear, and fragments past the light frustum's far
plane are always shadowed (black areas).

Fit the light frustum to the view frustum clipped to z >= 0 instead: the
frustum corners above the ground plus the points where frustum edges cross
the ground. When every corner ray hits the ground before the far plane, this
gives the same points as be... (continued)

9860 of 12223 branches covered (80.67%)

Branch coverage included in aggregate %.

15 of 15 new or added lines in 1 file covered. (100.0%)

16323 of 18888 relevant lines covered (86.42%)

28410.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 40271574470.1 26 Oct 2026 05:05AM UTC 429
84.16
GitHub Action Run
Source Files on build 40271574470
  • Tree
  • List 429
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #40271574470
  • d6102875 on github
  • Prev Build on master (#40270147639)
  • Next Build on master (#40310368812)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc