Picking + colorize can break when 3DTilesInspector overlay is in the way
- Dominant language
- JavaScript
- Stars
- 15.7k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
Sandcastle example: Any sandcastle with 3D tiles picking + 3D Tiles Inspector. For example, [https://sandcastle.cesium.com/?src=3D%20Tiles%20Formats.html](this built-in-one)
Browser: Google Chrome
Operating System: Kubuntu 18.04
Steps to reproduce:
1. Zoom in on one of the buildings so that it's partially under the inspector
2. pick the building, but then move the cursor off the building onto the inspector. Like this:

3. now while never letting the mouse leave the inspector, turn on colorize
4. now move the mouse back onto the picked building. It loses its color (in the second screenshot, the building should be colorized purple but here it stays the default orange)

I presume there's some mouse handler that isn't firing because the inspector is in the way, and this leads to an incorrect order of object creation/destruction.
Also in some rare cases the renderer can crash with an error about using an object that has been `destroy()`ed. Though I can't consistently reproduce this part.
I'm wondering if this applies to other debug settings like wireframes or bounding volumes. I'll check this now.
Contributor guide
Research direction
Reproduce the issue in the Sandcastle 3D Tiles Formats example with the 3D Tiles Inspector overlay, following the listed picking and colorize steps. Start by tracing the mouse interaction between the picked building and inspector, then verify that returning to the building applies colorize correctly without using a destroyed object. Check whether wireframes or bounding volumes show the same behavior if the relevant debug settings are available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100