visgl / visgl/deck.gl

[Feat] Tile3D Layer extent

Open
#9,434 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
TypeScript
Stars
14.6k
Forks
2.3k
Avg merge
2d 9h
Merged PRs (30d)
42

Description

Target Use Case

Highlighting an individual building using 3D tile layer in combination with masking via a geojson bounds is very useful and powerful, but, as I understand it, the entire 3d tile set is fetched.

This has a significant network load when using something like Google 3D tiles as a data source.

Proposal

Now that the deck's mask extension works great with 3D Tile Layer (Thanks @felixpalmer , it's awesome and very useful), I was wondering if it would be possible to add a extent restriction to the 3d tile layer, to reduce unnecessary network requests, in the same way that 2D tile layer has an extent prop.

It could be especially useful for when the viewstate has a lot of pitch but there is only one small part of the 3d tileset that is needed to be visible to the user.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Tile3D Layer and compare how the 2D tile layer handles its extent prop. Determine how an extent could restrict 3D tile fetching while preserving masking and pitched views. Done means the layer avoids unnecessary requests outside the requested extent and the behavior is validated for the stated use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.