Skip to content

feat(deck): extract reusable luSpatial geographic query effect - #2926

Open
ibgreen-openai wants to merge 6 commits into
masterfrom
codex/luspatial-geographic-query-effect
Open

feat(deck): extract reusable luSpatial geographic query effect#2926
ibgreen-openai wants to merge 6 commits into
masterfrom
codex/luspatial-geographic-query-effect

Conversation

@ibgreen-openai

@ibgreen-openai ibgreen-openai commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Goals

  • Make the projection, grid, viewport, and radius-query integration reusable by deck.gl applications outside the Taxi Atlas example.
  • Keep the render-only @deck.gl-community/luspatial root entry isolated from optional query and graph dependencies.

Changes

  • Adds the opt-in @deck.gl-community/luspatial/query entry with LuSpatialGeographicPointQueryEffect, typed layer outputs, stable graph/counter IDs, and query statistics.
  • Projects the interactive selection on the GPU, applies conservative viewport padding, guards asynchronous diagnostics against stale query generations, and makes diagnostics opt-in.
  • Gives the effect explicit GPU resource ownership and idempotent destruction.
  • Migrates the Taxi Atlas to the reusable effect and removes its example-local query implementation.
  • Adds package-boundary, lifecycle, resource-cleanup, and browser WebGPU coverage plus the website source alias.

Verification

  • nvm use — Node 22.22.1.
  • Targeted Biome formatting/check — passed.
  • Focused Node Vitest — 4 tests passed.
  • Browser WebGPU smoke on a hardware adapter — 1 test passed.
  • Standalone Taxi Atlas Vite production build — passed (904 modules transformed).
  • git diff --check — passed.
  • Source-only TypeScript check reported no diagnostics in the changed query source; the repository still reports a pre-existing unused @ts-expect-error in modules/core/src/adapter/luma.ts with this shared install.
  • Full yarn lint fix, yarn build, yarn test, yarn website:build, and (cd website && yarn build) could not start in the isolated worktree because the current dependency install is unavailable; yarn install is blocked locally by registry 403 responses. Clean GitHub CI is the authoritative full gate.
  • The complete radius-query smoke follows the geospatial suite's established software-adapter exclusion because integer-fp64 radius kernels are prohibitively slow under SwiftShader; full assertions still run on hardware WebGPU.

Stack

Risks

  • This is an experimental/private deck.gl-community package surface.
  • The effect owns its command graphs and buffers; callers must call destroy() when they remove it outside deck.gl's effect lifecycle.

@ibgreen-openai
ibgreen-openai marked this pull request as ready for review August 4, 2026 08:50

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0b019f89a5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread examples/deck/luspatial-taxi/app.ts
Comment thread modules/deck-luspatial/src/query/luspatial-geographic-point-query-effect.ts Outdated
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 2bd6fe4 to 7f47087 Compare August 4, 2026 14:15
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from 450a0d9 to 62a3981 Compare August 4, 2026 14:20
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 7f47087 to 038ef75 Compare August 4, 2026 18:00
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from edcba63 to 95fc53f Compare August 4, 2026 18:00
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 038ef75 to 63c7fb5 Compare August 4, 2026 21:38
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from 95fc53f to f793ee2 Compare August 4, 2026 21:39
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 63c7fb5 to c1d2044 Compare August 4, 2026 22:59
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch 2 times, most recently from 2757534 to f6856ed Compare August 5, 2026 00:01
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch 2 times, most recently from 3240604 to 697adb0 Compare August 5, 2026 00:39
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from f6856ed to 01d05bc Compare August 5, 2026 00:39
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 697adb0 to 88c6c95 Compare August 5, 2026 13:52
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from 01d05bc to a5eb749 Compare August 5, 2026 13:52
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 88c6c95 to 30f513c Compare August 5, 2026 14:07
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from a5eb749 to e7ff7d0 Compare August 5, 2026 14:07
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 30f513c to 844a282 Compare August 5, 2026 15:00
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from be10c71 to d5ca2f9 Compare August 5, 2026 15:00
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 844a282 to 25c20bb Compare August 5, 2026 15:10
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch 2 times, most recently from 0539afc to b66628c Compare August 5, 2026 15:24
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch 2 times, most recently from 1c769d3 to 35e3c3a Compare August 5, 2026 17:28
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from b66628c to 56f1b1d Compare August 5, 2026 17:28
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 35e3c3a to 8937bd7 Compare August 5, 2026 19:30
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch 2 times, most recently from 32e3e45 to 74910f2 Compare August 5, 2026 20:31
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from 8937bd7 to 37fd510 Compare August 5, 2026 20:31
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from 74910f2 to ca48638 Compare August 5, 2026 21:32
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch 2 times, most recently from a9ad93d to beee1be Compare August 5, 2026 21:48
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from ca48638 to 1cdcdda Compare August 5, 2026 21:48
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-direct-source-ids branch from beee1be to 1222740 Compare August 5, 2026 22:48
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from 1cdcdda to 4be424a Compare August 5, 2026 22:48
Base automatically changed from codex/luspatial-direct-source-ids to master August 5, 2026 22:57
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch 3 times, most recently from 79d2165 to 75ba6ac Compare August 6, 2026 00:27
@ibgreen-openai
ibgreen-openai force-pushed the codex/luspatial-geographic-query-effect branch from 75ba6ac to 6f44ce8 Compare August 6, 2026 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants