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

ehtick / deck.gl / 36184241364
83%

Build:
DEFAULT BRANCH: master
Ran 25 Sep 2026 09:19PM UTC
Jobs 1
Files 419
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

25 Sep 2026 05:34PM UTC coverage: 82.531% (+0.05%) from 82.477%
36184241364

push

github

web-flow
feat: flat common-space helpers for non-flat projections + view-matrix render tests (#10657)

* feat(core): add project_common_position_to_flat to the project shader module

Texture- and bounds-based extensions (mask, clip, fill patterns, terrain)
index a FLAT common space: Web Mercator for geospatial views, cartesian for
OrthographicView. Under GlobeView geometry.position is sphere XYZ, so every
such extension currently needs its own PROJECTION_MODE_GLOBE branch (terrain
has one; mask needs one) or is simply broken (clip, fill-style, brushing).

Add two projection-generic functions next to project_globe_():

- project_globe_to_mercator_(vec3): the inverse of project_globe_ followed by
  project_mercator_, i.e. sphere XYZ -> absolute Mercator common space.
- project_common_position_to_flat(vec3|vec4): common space -> flat common
  space. Identity for flat projection modes (so offset-relative positions
  under WEB_MERCATOR_AUTO_OFFSET pass through unchanged); inverts the sphere
  under GLOBE. This is the single GPU switch point: a future non-flat
  projection mode is inverted here, next to the forward branch in
  project_position(), and no extension needs to change.

Document the new function in docs/api-reference/core/project.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyzWaF5TmQPmGjh3Zr3XL9

* feat(core): WGSL parity for project_globe_to_mercator_ / project_common_position_to_flat

project.glsl.ts and project.wgsl.ts are kept in lockstep everywhere else;
mirror the two new functions so WebGPU ports of the extensions have the same
entry point. No WGSL consumer yet (mask/clip/fill-style have no WGSL path).
WGSL has no overloading, so only the vec3 form is provided.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyzWaF5TmQPmGjh3Zr3XL9

* feat(extensions): flat common-space CPU helpers for non-flat viewports

CPU twins of project... (continued)

8811 of 11208 branches covered (78.61%)

Branch coverage included in aggregate %.

33 of 35 new or added lines in 1 file covered. (94.29%)

15217 of 17906 relevant lines covered (84.98%)

18441.37 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
87.12
0.66% modules/extensions/src/utils/projection-utils.ts
Jobs
ID Job ID Ran Files Coverage
1 36184241364.1 25 Sep 2026 09:19PM UTC 419
82.53
GitHub Action Run
Source Files on build 36184241364
  • Tree
  • List 419
  • Changed 5
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36184241364
  • ba162619 on github
  • Prev Build on master (#35778637823)
  • Next Build on master (#36477419949)
  • Delete
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