Conversation
### Changelog Breaking changes: * Package is ESM-only ### Docs None ### Description Split from #448 - Upgrade `@foxglove/tsconfig`, replace some TS-specific syntax features, add file extensions on all imports - Add `"type": "module"`, remove `tsconfig.cjs.json`
### Changelog None ### Docs None ### Description Just moving code into separate files. I am trying to make #448 a smaller diff.
|
I just started looking this over. Does this mean that our strategy for converting to webGPU is to refactor each component to be compatible with both webGL and webGPU and then when we've applied it to every component make the global switch to webGPU? |
There was a problem hiding this comment.
Aside from a couple of minor things i mentioned this looks good. I was able to run it in the app by linking the library and creating a 3d scene with a bunch of labels. Everything still looks the same in the 3d panel
Digging around and doing some testing with claude i did find one issue where certain labels (scale_invariant: true) couldn't be selected. This issue already exists in main and wasn't introduced by this PR. I'll create a new PR that contains a fix
|
Follow-up on the picking bug I mentioned: filed as FG-13915 with fix in #455 (draft, waiting for this PR to merge first). Test data MCAP to reproduce: open in a 3D panel, enable select mode, yellow (scale_invariant=true) labels are not pickable while green ones are. |
Changelog
Breaking changes:
import { LabelPool } from "@foxglove/three-text"for WebGLRenderer, or useimport { LabelPool } from "@foxglove/three-text/webgpu"to use with WebGPURenderer (including the WebGL fallback).Docs
Updated readme
Description
High-level changes in this PR:
LabelWebGL&LabelWebGPUconcrete subclassesLabelMaterialLabelNodeMaterialSee also https://discourse.threejs.org/t/how-to-publish-a-library-that-supports-both-webglrenderer-and-webgpurenderer/89668 for some architecture discussion.