Follow up to #13653
1. Core imports from Scene
Core/VectorProvider.js imports three modules from Scene:
BufferPolygonCollection
BufferPolylineCollection
HeightReference
The collection imports are runtime values, not types: collectionPackers is a Map keyed by constructor, and both VectorProvider.isSupported and the bake path look up collection.constructor in it. So this can't be reduced to a @import type-only reference. The registry needs to be inverted, with each collection registering its packer, or the packers need to move out of Core.
2. The collections are not headless
BufferPolygonCollection and BufferPolylineCollection are the only way to describe vector geometry for draping, and they also draw themselves. There is no way to hand the provider geometry without also getting a renderable primitive.
Splitting the data model from the rendering primitive would fix both items: the provider would consume a plain data type from Core, and the Scene classes would become one consumer of that type rather than the definition of it.
Follow up to #13653
1.
Coreimports fromSceneCore/VectorProvider.jsimports three modules fromScene:BufferPolygonCollectionBufferPolylineCollectionHeightReferenceThe collection imports are runtime values, not types:
collectionPackersis aMapkeyed by constructor, and bothVectorProvider.isSupportedand the bake path look upcollection.constructorin it. So this can't be reduced to a@importtype-only reference. The registry needs to be inverted, with each collection registering its packer, or the packers need to move out ofCore.2. The collections are not headless
BufferPolygonCollectionandBufferPolylineCollectionare the only way to describe vector geometry for draping, and they also draw themselves. There is no way to hand the provider geometry without also getting a renderable primitive.Splitting the data model from the rendering primitive would fix both items: the provider would consume a plain data type from
Core, and theSceneclasses would become one consumer of that type rather than the definition of it.