@itwin/core-frontend 4.8.0-dev.4 → 4.8.0-dev.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1086) hide show
  1. package/CHANGELOG.md +62 -1
  2. package/README.md +9 -1
  3. package/ThirdPartyNotices.md +3 -3
  4. package/lib/cjs/AccuDraw.d.ts +6 -1
  5. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  6. package/lib/cjs/AccuDraw.js +18 -6
  7. package/lib/cjs/AccuDraw.js.map +1 -1
  8. package/lib/cjs/AccuSnap.d.ts +9 -0
  9. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  10. package/lib/cjs/AccuSnap.js +15 -3
  11. package/lib/cjs/AccuSnap.js.map +1 -1
  12. package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
  13. package/lib/cjs/AuxCoordSys.js +2 -2
  14. package/lib/cjs/AuxCoordSys.js.map +1 -1
  15. package/lib/cjs/DecorationsCache.d.ts +1 -1
  16. package/lib/cjs/DecorationsCache.d.ts.map +1 -1
  17. package/lib/cjs/DecorationsCache.js.map +1 -1
  18. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -1
  19. package/lib/cjs/EnvironmentDecorations.js +2 -2
  20. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  21. package/lib/cjs/HitDetail.d.ts.map +1 -1
  22. package/lib/cjs/HitDetail.js +3 -3
  23. package/lib/cjs/HitDetail.js.map +1 -1
  24. package/lib/cjs/IModelApp.d.ts +2 -3
  25. package/lib/cjs/IModelApp.d.ts.map +1 -1
  26. package/lib/cjs/IModelApp.js +2 -2
  27. package/lib/cjs/IModelApp.js.map +1 -1
  28. package/lib/cjs/IModelConnection.d.ts +16 -6
  29. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  30. package/lib/cjs/IModelConnection.js +21 -7
  31. package/lib/cjs/IModelConnection.js.map +1 -1
  32. package/lib/cjs/IpcApp.d.ts +5 -1
  33. package/lib/cjs/IpcApp.d.ts.map +1 -1
  34. package/lib/cjs/IpcApp.js +11 -5
  35. package/lib/cjs/IpcApp.js.map +1 -1
  36. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  37. package/lib/cjs/LocalhostIpcApp.js +2 -1
  38. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  39. package/lib/cjs/NativeApp.d.ts.map +1 -1
  40. package/lib/cjs/NativeApp.js +2 -1
  41. package/lib/cjs/NativeApp.js.map +1 -1
  42. package/lib/cjs/NoRenderApp.d.ts +2 -0
  43. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  44. package/lib/cjs/NoRenderApp.js +7 -0
  45. package/lib/cjs/NoRenderApp.js.map +1 -1
  46. package/lib/cjs/PlanarClipMaskState.d.ts +8 -3
  47. package/lib/cjs/PlanarClipMaskState.d.ts.map +1 -1
  48. package/lib/cjs/PlanarClipMaskState.js +47 -17
  49. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  50. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +3 -0
  51. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -1
  52. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +15 -4
  53. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  54. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  55. package/lib/cjs/SheetViewState.js +3 -3
  56. package/lib/cjs/SheetViewState.js.map +1 -1
  57. package/lib/cjs/SpatialViewState.d.ts +14 -1
  58. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  59. package/lib/cjs/SpatialViewState.js +17 -0
  60. package/lib/cjs/SpatialViewState.js.map +1 -1
  61. package/lib/cjs/SubCategoriesCache.d.ts +3 -1
  62. package/lib/cjs/SubCategoriesCache.d.ts.map +1 -1
  63. package/lib/cjs/SubCategoriesCache.js +19 -5
  64. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  65. package/lib/cjs/ViewContext.d.ts +2 -1
  66. package/lib/cjs/ViewContext.d.ts.map +1 -1
  67. package/lib/cjs/ViewContext.js +8 -8
  68. package/lib/cjs/ViewContext.js.map +1 -1
  69. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  70. package/lib/cjs/ViewCreator3d.js +1 -0
  71. package/lib/cjs/ViewCreator3d.js.map +1 -1
  72. package/lib/cjs/ViewManager.d.ts +4 -7
  73. package/lib/cjs/ViewManager.d.ts.map +1 -1
  74. package/lib/cjs/ViewManager.js +4 -7
  75. package/lib/cjs/ViewManager.js.map +1 -1
  76. package/lib/cjs/ViewingSpace.d.ts +3 -1
  77. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  78. package/lib/cjs/ViewingSpace.js +11 -2
  79. package/lib/cjs/ViewingSpace.js.map +1 -1
  80. package/lib/cjs/Viewport.d.ts +1 -3
  81. package/lib/cjs/Viewport.d.ts.map +1 -1
  82. package/lib/cjs/Viewport.js +3 -5
  83. package/lib/cjs/Viewport.js.map +1 -1
  84. package/lib/cjs/common/WorkerProxy.d.ts +7 -25
  85. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -1
  86. package/lib/cjs/common/WorkerProxy.js +2 -1
  87. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  88. package/lib/cjs/common/gltf/GltfSchema.d.ts +15 -1
  89. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -1
  90. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  91. package/lib/cjs/common/imdl/CompactEdges.d.ts +1 -1
  92. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -1
  93. package/lib/cjs/common/imdl/CompactEdges.js +2 -2
  94. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  95. package/lib/cjs/common/imdl/ImdlModel.d.ts +5 -3
  96. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -1
  97. package/lib/cjs/common/imdl/ImdlModel.js +49 -42
  98. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  99. package/lib/cjs/common/imdl/ImdlSchema.d.ts +4 -4
  100. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -1
  101. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  102. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts +4 -2
  103. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -1
  104. package/lib/cjs/common/imdl/ParseImdlDocument.js +10 -8
  105. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  106. package/lib/cjs/common/internal/Symbols.d.ts +10 -0
  107. package/lib/cjs/common/internal/Symbols.d.ts.map +1 -0
  108. package/lib/cjs/common/internal/Symbols.js +20 -0
  109. package/lib/cjs/common/internal/Symbols.js.map +1 -0
  110. package/lib/cjs/common/internal/render/AnimationNodeId.d.ts.map +1 -0
  111. package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -0
  112. package/lib/cjs/common/internal/render/AuxChannelTable.d.ts.map +1 -0
  113. package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -0
  114. package/lib/cjs/common/internal/render/ColorMap.d.ts.map +1 -0
  115. package/lib/cjs/common/internal/render/ColorMap.js.map +1 -0
  116. package/lib/cjs/common/internal/render/DisplayParams.d.ts.map +1 -0
  117. package/lib/cjs/common/{render/primitives → internal/render}/DisplayParams.js +3 -6
  118. package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -0
  119. package/lib/cjs/common/{render/primitives → internal/render}/EdgeParams.d.ts +7 -0
  120. package/lib/cjs/common/internal/render/EdgeParams.d.ts.map +1 -0
  121. package/lib/cjs/{render/primitives → common/internal/render}/EdgeParams.js +50 -16
  122. package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -0
  123. package/lib/cjs/{render/primitives/geometry → common/internal/render}/GeometryAccumulator.d.ts +4 -18
  124. package/lib/cjs/common/internal/render/GeometryAccumulator.d.ts.map +1 -0
  125. package/lib/cjs/{render/primitives/geometry → common/internal/render}/GeometryAccumulator.js +2 -70
  126. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -0
  127. package/lib/cjs/common/internal/render/GeometryList.d.ts.map +1 -0
  128. package/lib/cjs/common/internal/render/GeometryList.js.map +1 -0
  129. package/lib/{esm/render/primitives/geometry → cjs/common/internal/render}/GeometryPrimitives.d.ts +3 -3
  130. package/lib/cjs/common/internal/render/GeometryPrimitives.d.ts.map +1 -0
  131. package/lib/cjs/{render/primitives/geometry → common/internal/render}/GeometryPrimitives.js +3 -3
  132. package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -0
  133. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.d.ts +46 -0
  134. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.d.ts.map +1 -0
  135. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js +252 -0
  136. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -0
  137. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.d.ts +104 -0
  138. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.d.ts.map +1 -0
  139. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js +146 -0
  140. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -0
  141. package/lib/cjs/{render/primitives/mesh → common/internal/render}/MeshBuilder.d.ts +4 -4
  142. package/lib/{esm/render/primitives/mesh → cjs/common/internal/render}/MeshBuilder.d.ts.map +1 -1
  143. package/lib/cjs/{render/primitives/mesh → common/internal/render}/MeshBuilder.js +2 -2
  144. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -0
  145. package/lib/{esm/render/primitives/mesh → cjs/common/internal/render}/MeshBuilderMap.d.ts +7 -8
  146. package/lib/cjs/common/internal/render/MeshBuilderMap.d.ts.map +1 -0
  147. package/lib/cjs/{render/primitives/mesh → common/internal/render}/MeshBuilderMap.js +4 -6
  148. package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -0
  149. package/lib/cjs/common/internal/render/MeshParams.d.ts.map +1 -0
  150. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -0
  151. package/lib/cjs/common/internal/render/MeshPrimitive.d.ts.map +1 -0
  152. package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -0
  153. package/lib/cjs/common/internal/render/MeshPrimitives.d.ts +82 -0
  154. package/lib/cjs/common/internal/render/MeshPrimitives.d.ts.map +1 -0
  155. package/lib/cjs/{render/primitives/mesh → common/internal/render}/MeshPrimitives.js +82 -104
  156. package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -0
  157. package/lib/cjs/common/internal/render/PointCloudPrimitive.d.ts.map +1 -0
  158. package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -0
  159. package/lib/{esm/common/render/primitives → cjs/common/internal/render}/PointStringParams.d.ts +3 -0
  160. package/lib/cjs/common/internal/render/PointStringParams.d.ts.map +1 -0
  161. package/lib/cjs/{render/primitives → common/internal/render}/PointStringParams.js +3 -4
  162. package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -0
  163. package/lib/{esm/render/primitives → cjs/common/internal/render}/Polyface.d.ts +1 -1
  164. package/lib/cjs/common/internal/render/Polyface.d.ts.map +1 -0
  165. package/lib/cjs/common/internal/render/Polyface.js.map +1 -0
  166. package/lib/cjs/common/{render/primitives → internal/render}/PolylineParams.d.ts +11 -1
  167. package/lib/cjs/common/internal/render/PolylineParams.d.ts.map +1 -0
  168. package/lib/cjs/{render/primitives → common/internal/render}/PolylineParams.js +5 -6
  169. package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -0
  170. package/lib/{esm/render/primitives → cjs/common/internal/render}/Primitives.d.ts +3 -34
  171. package/lib/cjs/common/internal/render/Primitives.d.ts.map +1 -0
  172. package/lib/cjs/{render/primitives → common/internal/render}/Primitives.js +1 -44
  173. package/lib/cjs/common/internal/render/Primitives.js.map +1 -0
  174. package/lib/{esm/render/primitives → cjs/common/internal/render}/Strokes.d.ts +1 -1
  175. package/lib/cjs/common/internal/render/Strokes.d.ts.map +1 -0
  176. package/lib/cjs/common/internal/render/Strokes.js.map +1 -0
  177. package/lib/cjs/common/internal/render/SurfaceParams.d.ts.map +1 -0
  178. package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -0
  179. package/lib/cjs/common/internal/render/VertexIndices.d.ts.map +1 -0
  180. package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -0
  181. package/lib/cjs/common/internal/render/VertexKey.d.ts.map +1 -0
  182. package/lib/cjs/common/internal/render/VertexKey.js.map +1 -0
  183. package/lib/cjs/common/internal/render/VertexTable.d.ts.map +1 -0
  184. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -0
  185. package/lib/{esm/render/primitives → cjs/common/internal/render}/VertexTableBuilder.d.ts +5 -4
  186. package/lib/cjs/common/internal/render/VertexTableBuilder.d.ts.map +1 -0
  187. package/lib/cjs/{render/primitives → common/internal/render}/VertexTableBuilder.js +6 -6
  188. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -0
  189. package/lib/cjs/common/{render/primitives → internal/render}/VertexTableSplitter.d.ts +1 -1
  190. package/lib/cjs/common/internal/render/VertexTableSplitter.d.ts.map +1 -0
  191. package/lib/cjs/common/{render/primitives → internal/render}/VertexTableSplitter.js +17 -4
  192. package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -0
  193. package/lib/cjs/common/render/BatchOptions.d.ts +46 -0
  194. package/lib/cjs/common/render/BatchOptions.d.ts.map +1 -0
  195. package/lib/cjs/common/render/{primitives/PolylineParams.js → BatchOptions.js} +1 -1
  196. package/lib/cjs/common/render/BatchOptions.js.map +1 -0
  197. package/lib/cjs/common/render/GraphicAssembler.d.ts +197 -0
  198. package/lib/cjs/common/render/GraphicAssembler.d.ts.map +1 -0
  199. package/lib/cjs/common/render/GraphicAssembler.js +386 -0
  200. package/lib/cjs/common/render/GraphicAssembler.js.map +1 -0
  201. package/lib/cjs/common/render/GraphicDescriptionBuilder.d.ts +89 -0
  202. package/lib/cjs/common/render/GraphicDescriptionBuilder.d.ts.map +1 -0
  203. package/lib/cjs/common/render/GraphicDescriptionBuilder.js +34 -0
  204. package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -0
  205. package/lib/cjs/common/render/GraphicDescriptionContext.d.ts +85 -0
  206. package/lib/cjs/common/render/GraphicDescriptionContext.d.ts.map +1 -0
  207. package/lib/cjs/common/render/GraphicDescriptionContext.js +22 -0
  208. package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -0
  209. package/lib/cjs/common/render/GraphicPrimitive.d.ts.map +1 -0
  210. package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -0
  211. package/lib/cjs/common/render/GraphicType.d.ts +62 -0
  212. package/lib/cjs/common/render/GraphicType.d.ts.map +1 -0
  213. package/lib/cjs/common/render/GraphicType.js +70 -0
  214. package/lib/cjs/common/render/GraphicType.js.map +1 -0
  215. package/lib/cjs/common/render/InstancedGraphicParams.d.ts.map +1 -0
  216. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -0
  217. package/lib/cjs/common.d.ts +14 -0
  218. package/lib/cjs/common.d.ts.map +1 -0
  219. package/lib/cjs/common.js +35 -0
  220. package/lib/cjs/common.js.map +1 -0
  221. package/lib/cjs/core-frontend.d.ts +5 -43
  222. package/lib/cjs/core-frontend.d.ts.map +1 -1
  223. package/lib/cjs/core-frontend.js +5 -43
  224. package/lib/cjs/core-frontend.js.map +1 -1
  225. package/lib/cjs/extension/ExtensionRuntime.js +1 -0
  226. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  227. package/lib/cjs/internal/cross-package.d.ts +7 -0
  228. package/lib/cjs/internal/cross-package.d.ts.map +1 -0
  229. package/lib/cjs/internal/cross-package.js +17 -0
  230. package/lib/cjs/internal/cross-package.js.map +1 -0
  231. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts +33 -0
  232. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts.map +1 -0
  233. package/lib/cjs/internal/render/PrimitiveBuilder.js +140 -0
  234. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -0
  235. package/lib/cjs/render/FeatureSymbology.js +3 -3
  236. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  237. package/lib/cjs/render/GraphicBranch.d.ts +1 -1
  238. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  239. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  240. package/lib/cjs/render/GraphicBuilder.d.ts +7 -254
  241. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  242. package/lib/cjs/render/GraphicBuilder.js +18 -235
  243. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  244. package/lib/cjs/render/MeshArgs.d.ts +56 -0
  245. package/lib/cjs/render/MeshArgs.d.ts.map +1 -0
  246. package/lib/cjs/{common/render/primitives/PointStringParams.js → render/MeshArgs.js} +1 -1
  247. package/lib/cjs/render/MeshArgs.js.map +1 -0
  248. package/lib/cjs/render/MockRender.d.ts +7 -5
  249. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  250. package/lib/cjs/render/MockRender.js +6 -2
  251. package/lib/cjs/render/MockRender.js.map +1 -1
  252. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  253. package/lib/cjs/render/ParticleCollectionBuilder.js +4 -3
  254. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  255. package/lib/cjs/render/PolylineArgs.d.ts +31 -0
  256. package/lib/cjs/render/PolylineArgs.d.ts.map +1 -0
  257. package/lib/cjs/render/PolylineArgs.js +10 -0
  258. package/lib/cjs/render/PolylineArgs.js.map +1 -0
  259. package/lib/cjs/render/RealityMeshParams.js +1 -1
  260. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  261. package/lib/cjs/render/RenderSystem.d.ts +36 -7
  262. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  263. package/lib/cjs/render/RenderSystem.js +94 -6
  264. package/lib/cjs/render/RenderSystem.js.map +1 -1
  265. package/lib/cjs/render/RenderTarget.d.ts +49 -5
  266. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  267. package/lib/cjs/render/RenderTarget.js +33 -5
  268. package/lib/cjs/render/RenderTarget.js.map +1 -1
  269. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  270. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  271. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  272. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  273. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  274. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  275. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  276. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  277. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  278. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  279. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  280. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +1 -1
  281. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  282. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  283. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  284. package/lib/cjs/render/webgl/Graphic.d.ts +1 -1
  285. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  286. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  287. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  288. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  289. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  290. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +1 -1
  291. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  292. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  293. package/lib/cjs/render/webgl/Material.d.ts +5 -1
  294. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  295. package/lib/cjs/render/webgl/Material.js +5 -0
  296. package/lib/cjs/render/webgl/Material.js.map +1 -1
  297. package/lib/cjs/render/webgl/Mesh.d.ts +6 -3
  298. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  299. package/lib/cjs/render/webgl/Mesh.js +3 -1
  300. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  301. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  302. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  303. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  304. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  305. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  306. package/lib/cjs/render/webgl/PlanarClassifier.d.ts +2 -0
  307. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  308. package/lib/cjs/render/webgl/PlanarClassifier.js +38 -11
  309. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  310. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts +3 -3
  311. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  312. package/lib/cjs/render/webgl/PlanarTextureProjection.js +53 -19
  313. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  314. package/lib/cjs/render/webgl/PointCloud.d.ts +1 -1
  315. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  316. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  317. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  318. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  319. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  320. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  321. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  322. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  323. package/lib/cjs/render/webgl/Primitive.d.ts +1 -1
  324. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  325. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  326. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  327. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  328. package/lib/cjs/render/webgl/SolarShadowMap.js +2 -2
  329. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  330. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  331. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  332. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  333. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  334. package/lib/cjs/render/webgl/System.d.ts +7 -6
  335. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  336. package/lib/cjs/render/webgl/System.js +2 -2
  337. package/lib/cjs/render/webgl/System.js.map +1 -1
  338. package/lib/cjs/render/webgl/Target.d.ts +3 -0
  339. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  340. package/lib/cjs/render/webgl/Target.js +6 -1
  341. package/lib/cjs/render/webgl/Target.js.map +1 -1
  342. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  343. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  345. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  346. package/lib/cjs/render/webgl/glsl/Animation.d.ts.map +1 -1
  347. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  348. package/lib/cjs/tile/B3dmReader.d.ts +1 -2
  349. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  350. package/lib/cjs/tile/B3dmReader.js +1 -2
  351. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  352. package/lib/cjs/tile/DynamicIModelTile.js +1 -0
  353. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  354. package/lib/cjs/tile/GltfReader.d.ts +30 -6
  355. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  356. package/lib/cjs/tile/GltfReader.js +245 -9
  357. package/lib/cjs/tile/GltfReader.js.map +1 -1
  358. package/lib/cjs/tile/GraphicsCollector.d.ts.map +1 -1
  359. package/lib/cjs/tile/GraphicsCollector.js +5 -2
  360. package/lib/cjs/tile/GraphicsCollector.js.map +1 -1
  361. package/lib/cjs/tile/I3dmReader.d.ts +1 -2
  362. package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
  363. package/lib/cjs/tile/I3dmReader.js +1 -2
  364. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  365. package/lib/cjs/tile/ImdlDecoder.d.ts +1 -1
  366. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -1
  367. package/lib/cjs/tile/ImdlDecoder.js.map +1 -1
  368. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts +4 -0
  369. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  370. package/lib/cjs/tile/ImdlGraphicsCreator.js +88 -5
  371. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -1
  372. package/lib/cjs/tile/ImdlReader.d.ts +1 -1
  373. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  374. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  375. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -1
  376. package/lib/cjs/tile/OPCFormatInterpreter.js +7 -2
  377. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  378. package/lib/cjs/tile/OrbitGtTileTree.js +1 -1
  379. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  380. package/lib/cjs/tile/PntsReader.js +1 -1
  381. package/lib/cjs/tile/PntsReader.js.map +1 -1
  382. package/lib/cjs/tile/PrimaryTileTree.d.ts +6 -2
  383. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  384. package/lib/cjs/tile/PrimaryTileTree.js +26 -1
  385. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  386. package/lib/cjs/tile/RealityModelTileTree.js +1 -1
  387. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  388. package/lib/cjs/tile/RealityTile.d.ts +2 -3
  389. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  390. package/lib/cjs/tile/RealityTile.js +0 -1
  391. package/lib/cjs/tile/RealityTile.js.map +1 -1
  392. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  393. package/lib/cjs/tile/RealityTileLoader.js +1 -0
  394. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  395. package/lib/cjs/tile/TileGeometryCollector.d.ts +4 -4
  396. package/lib/cjs/tile/TileGeometryCollector.js +1 -1
  397. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  398. package/lib/cjs/tile/TileTreeReference.d.ts +0 -4
  399. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  400. package/lib/cjs/tile/TileTreeReference.js +0 -3
  401. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  402. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +1 -0
  403. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  404. package/lib/cjs/tile/map/ArcGisUtilities.js +7 -5
  405. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  406. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  407. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +9 -4
  408. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  409. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  410. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
  411. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  412. package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts +1 -1
  413. package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts.map +1 -1
  414. package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  415. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +1 -1
  416. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -1
  417. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  418. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  419. package/lib/cjs/tile/map/MapTileTree.js +5 -5
  420. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  421. package/lib/cjs/tools/AccuDrawTool.d.ts +21 -0
  422. package/lib/cjs/tools/AccuDrawTool.d.ts.map +1 -1
  423. package/lib/cjs/tools/AccuDrawTool.js +93 -1
  424. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  425. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  426. package/lib/cjs/tools/ClipViewTool.js +16 -16
  427. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  428. package/lib/cjs/tools/ElementSetTool.d.ts +9 -5
  429. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  430. package/lib/cjs/tools/ElementSetTool.js +9 -5
  431. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  432. package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
  433. package/lib/cjs/tools/MeasureTool.js +9 -9
  434. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  435. package/lib/cjs/tools/ToolAdmin.d.ts +2 -0
  436. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  437. package/lib/cjs/tools/ToolAdmin.js +6 -1
  438. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  439. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  440. package/lib/cjs/tools/ViewTool.js +8 -8
  441. package/lib/cjs/tools/ViewTool.js.map +1 -1
  442. package/lib/cjs/workers/RegisterWorker.d.ts +2 -1
  443. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -1
  444. package/lib/cjs/workers/RegisterWorker.js +2 -1
  445. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  446. package/lib/esm/AccuDraw.d.ts +6 -1
  447. package/lib/esm/AccuDraw.d.ts.map +1 -1
  448. package/lib/esm/AccuDraw.js +15 -3
  449. package/lib/esm/AccuDraw.js.map +1 -1
  450. package/lib/esm/AccuSnap.d.ts +9 -0
  451. package/lib/esm/AccuSnap.d.ts.map +1 -1
  452. package/lib/esm/AccuSnap.js +15 -3
  453. package/lib/esm/AccuSnap.js.map +1 -1
  454. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  455. package/lib/esm/AuxCoordSys.js +1 -1
  456. package/lib/esm/AuxCoordSys.js.map +1 -1
  457. package/lib/esm/DecorationsCache.d.ts +1 -1
  458. package/lib/esm/DecorationsCache.d.ts.map +1 -1
  459. package/lib/esm/DecorationsCache.js.map +1 -1
  460. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -1
  461. package/lib/esm/EnvironmentDecorations.js +1 -1
  462. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  463. package/lib/esm/HitDetail.d.ts.map +1 -1
  464. package/lib/esm/HitDetail.js +1 -1
  465. package/lib/esm/HitDetail.js.map +1 -1
  466. package/lib/esm/IModelApp.d.ts +2 -3
  467. package/lib/esm/IModelApp.d.ts.map +1 -1
  468. package/lib/esm/IModelApp.js +2 -2
  469. package/lib/esm/IModelApp.js.map +1 -1
  470. package/lib/esm/IModelConnection.d.ts +16 -6
  471. package/lib/esm/IModelConnection.d.ts.map +1 -1
  472. package/lib/esm/IModelConnection.js +21 -7
  473. package/lib/esm/IModelConnection.js.map +1 -1
  474. package/lib/esm/IpcApp.d.ts +5 -1
  475. package/lib/esm/IpcApp.d.ts.map +1 -1
  476. package/lib/esm/IpcApp.js +11 -5
  477. package/lib/esm/IpcApp.js.map +1 -1
  478. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  479. package/lib/esm/LocalhostIpcApp.js +2 -1
  480. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  481. package/lib/esm/NativeApp.d.ts.map +1 -1
  482. package/lib/esm/NativeApp.js +2 -1
  483. package/lib/esm/NativeApp.js.map +1 -1
  484. package/lib/esm/NoRenderApp.d.ts +2 -0
  485. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  486. package/lib/esm/NoRenderApp.js +7 -0
  487. package/lib/esm/NoRenderApp.js.map +1 -1
  488. package/lib/esm/PlanarClipMaskState.d.ts +8 -3
  489. package/lib/esm/PlanarClipMaskState.d.ts.map +1 -1
  490. package/lib/esm/PlanarClipMaskState.js +48 -18
  491. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  492. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +3 -0
  493. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -1
  494. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +15 -4
  495. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  496. package/lib/esm/SheetViewState.d.ts.map +1 -1
  497. package/lib/esm/SheetViewState.js +1 -1
  498. package/lib/esm/SheetViewState.js.map +1 -1
  499. package/lib/esm/SpatialViewState.d.ts +14 -1
  500. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  501. package/lib/esm/SpatialViewState.js +17 -0
  502. package/lib/esm/SpatialViewState.js.map +1 -1
  503. package/lib/esm/SubCategoriesCache.d.ts +3 -1
  504. package/lib/esm/SubCategoriesCache.d.ts.map +1 -1
  505. package/lib/esm/SubCategoriesCache.js +19 -5
  506. package/lib/esm/SubCategoriesCache.js.map +1 -1
  507. package/lib/esm/ViewContext.d.ts +2 -1
  508. package/lib/esm/ViewContext.d.ts.map +1 -1
  509. package/lib/esm/ViewContext.js +1 -1
  510. package/lib/esm/ViewContext.js.map +1 -1
  511. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  512. package/lib/esm/ViewCreator3d.js +1 -0
  513. package/lib/esm/ViewCreator3d.js.map +1 -1
  514. package/lib/esm/ViewManager.d.ts +4 -7
  515. package/lib/esm/ViewManager.d.ts.map +1 -1
  516. package/lib/esm/ViewManager.js +4 -7
  517. package/lib/esm/ViewManager.js.map +1 -1
  518. package/lib/esm/ViewingSpace.d.ts +3 -1
  519. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  520. package/lib/esm/ViewingSpace.js +11 -2
  521. package/lib/esm/ViewingSpace.js.map +1 -1
  522. package/lib/esm/Viewport.d.ts +1 -3
  523. package/lib/esm/Viewport.d.ts.map +1 -1
  524. package/lib/esm/Viewport.js +2 -4
  525. package/lib/esm/Viewport.js.map +1 -1
  526. package/lib/esm/common/WorkerProxy.d.ts +7 -25
  527. package/lib/esm/common/WorkerProxy.d.ts.map +1 -1
  528. package/lib/esm/common/WorkerProxy.js +2 -1
  529. package/lib/esm/common/WorkerProxy.js.map +1 -1
  530. package/lib/esm/common/gltf/GltfSchema.d.ts +15 -1
  531. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -1
  532. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  533. package/lib/esm/common/imdl/CompactEdges.d.ts +1 -1
  534. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -1
  535. package/lib/esm/common/imdl/CompactEdges.js +2 -2
  536. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  537. package/lib/esm/common/imdl/ImdlModel.d.ts +5 -3
  538. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -1
  539. package/lib/esm/common/imdl/ImdlModel.js +47 -41
  540. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  541. package/lib/esm/common/imdl/ImdlSchema.d.ts +4 -4
  542. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -1
  543. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  544. package/lib/esm/common/imdl/ParseImdlDocument.d.ts +4 -2
  545. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -1
  546. package/lib/esm/common/imdl/ParseImdlDocument.js +9 -8
  547. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  548. package/lib/esm/common/internal/Symbols.d.ts +10 -0
  549. package/lib/esm/common/internal/Symbols.d.ts.map +1 -0
  550. package/lib/esm/common/internal/Symbols.js +17 -0
  551. package/lib/esm/common/internal/Symbols.js.map +1 -0
  552. package/lib/esm/common/internal/render/AnimationNodeId.d.ts.map +1 -0
  553. package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -0
  554. package/lib/esm/common/internal/render/AuxChannelTable.d.ts.map +1 -0
  555. package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -0
  556. package/lib/esm/common/internal/render/ColorMap.d.ts.map +1 -0
  557. package/lib/esm/common/internal/render/ColorMap.js.map +1 -0
  558. package/lib/esm/common/internal/render/DisplayParams.d.ts.map +1 -0
  559. package/lib/esm/common/{render/primitives → internal/render}/DisplayParams.js +4 -7
  560. package/lib/esm/common/internal/render/DisplayParams.js.map +1 -0
  561. package/lib/esm/common/{render/primitives → internal/render}/EdgeParams.d.ts +7 -0
  562. package/lib/esm/common/internal/render/EdgeParams.d.ts.map +1 -0
  563. package/lib/esm/{render/primitives → common/internal/render}/EdgeParams.js +47 -14
  564. package/lib/esm/common/internal/render/EdgeParams.js.map +1 -0
  565. package/lib/esm/{render/primitives/geometry → common/internal/render}/GeometryAccumulator.d.ts +4 -18
  566. package/lib/esm/common/internal/render/GeometryAccumulator.d.ts.map +1 -0
  567. package/lib/esm/{render/primitives/geometry → common/internal/render}/GeometryAccumulator.js +2 -70
  568. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -0
  569. package/lib/esm/common/internal/render/GeometryList.d.ts.map +1 -0
  570. package/lib/esm/common/internal/render/GeometryList.js.map +1 -0
  571. package/lib/{cjs/render/primitives/geometry → esm/common/internal/render}/GeometryPrimitives.d.ts +3 -3
  572. package/lib/esm/common/internal/render/GeometryPrimitives.d.ts.map +1 -0
  573. package/lib/esm/{render/primitives/geometry → common/internal/render}/GeometryPrimitives.js +3 -3
  574. package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -0
  575. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.d.ts +46 -0
  576. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.d.ts.map +1 -0
  577. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js +246 -0
  578. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -0
  579. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.d.ts +104 -0
  580. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.d.ts.map +1 -0
  581. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js +140 -0
  582. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -0
  583. package/lib/esm/{render/primitives/mesh → common/internal/render}/MeshBuilder.d.ts +4 -4
  584. package/lib/{cjs/render/primitives/mesh → esm/common/internal/render}/MeshBuilder.d.ts.map +1 -1
  585. package/lib/esm/{render/primitives/mesh → common/internal/render}/MeshBuilder.js +2 -2
  586. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -0
  587. package/lib/{cjs/render/primitives/mesh → esm/common/internal/render}/MeshBuilderMap.d.ts +7 -8
  588. package/lib/esm/common/internal/render/MeshBuilderMap.d.ts.map +1 -0
  589. package/lib/esm/{render/primitives/mesh → common/internal/render}/MeshBuilderMap.js +4 -6
  590. package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -0
  591. package/lib/esm/common/internal/render/MeshParams.d.ts.map +1 -0
  592. package/lib/esm/common/internal/render/MeshParams.js.map +1 -0
  593. package/lib/esm/common/internal/render/MeshPrimitive.d.ts.map +1 -0
  594. package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -0
  595. package/lib/esm/common/internal/render/MeshPrimitives.d.ts +82 -0
  596. package/lib/esm/common/internal/render/MeshPrimitives.d.ts.map +1 -0
  597. package/lib/esm/{render/primitives/mesh → common/internal/render}/MeshPrimitives.js +79 -103
  598. package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -0
  599. package/lib/esm/common/internal/render/PointCloudPrimitive.d.ts.map +1 -0
  600. package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -0
  601. package/lib/{cjs/common/render/primitives → esm/common/internal/render}/PointStringParams.d.ts +3 -0
  602. package/lib/esm/common/internal/render/PointStringParams.d.ts.map +1 -0
  603. package/lib/esm/{render/primitives → common/internal/render}/PointStringParams.js +3 -4
  604. package/lib/esm/common/internal/render/PointStringParams.js.map +1 -0
  605. package/lib/{cjs/render/primitives → esm/common/internal/render}/Polyface.d.ts +1 -1
  606. package/lib/esm/common/internal/render/Polyface.d.ts.map +1 -0
  607. package/lib/esm/common/internal/render/Polyface.js.map +1 -0
  608. package/lib/esm/common/{render/primitives → internal/render}/PolylineParams.d.ts +11 -1
  609. package/lib/esm/common/internal/render/PolylineParams.d.ts.map +1 -0
  610. package/lib/esm/{render/primitives → common/internal/render}/PolylineParams.js +5 -6
  611. package/lib/esm/common/internal/render/PolylineParams.js.map +1 -0
  612. package/lib/{cjs/render/primitives → esm/common/internal/render}/Primitives.d.ts +3 -34
  613. package/lib/esm/common/internal/render/Primitives.d.ts.map +1 -0
  614. package/lib/esm/{render/primitives → common/internal/render}/Primitives.js +0 -42
  615. package/lib/esm/common/internal/render/Primitives.js.map +1 -0
  616. package/lib/{cjs/render/primitives → esm/common/internal/render}/Strokes.d.ts +1 -1
  617. package/lib/esm/common/internal/render/Strokes.d.ts.map +1 -0
  618. package/lib/esm/common/internal/render/Strokes.js.map +1 -0
  619. package/lib/esm/common/internal/render/SurfaceParams.d.ts.map +1 -0
  620. package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -0
  621. package/lib/esm/common/internal/render/VertexIndices.d.ts.map +1 -0
  622. package/lib/esm/common/internal/render/VertexIndices.js.map +1 -0
  623. package/lib/esm/common/internal/render/VertexKey.d.ts.map +1 -0
  624. package/lib/esm/common/internal/render/VertexKey.js.map +1 -0
  625. package/lib/esm/common/internal/render/VertexTable.d.ts.map +1 -0
  626. package/lib/esm/common/internal/render/VertexTable.js.map +1 -0
  627. package/lib/{cjs/render/primitives → esm/common/internal/render}/VertexTableBuilder.d.ts +5 -4
  628. package/lib/esm/common/internal/render/VertexTableBuilder.d.ts.map +1 -0
  629. package/lib/esm/{render/primitives → common/internal/render}/VertexTableBuilder.js +6 -6
  630. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -0
  631. package/lib/esm/common/{render/primitives → internal/render}/VertexTableSplitter.d.ts +1 -1
  632. package/lib/esm/common/internal/render/VertexTableSplitter.d.ts.map +1 -0
  633. package/lib/esm/common/{render/primitives → internal/render}/VertexTableSplitter.js +17 -4
  634. package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -0
  635. package/lib/esm/common/render/BatchOptions.d.ts +46 -0
  636. package/lib/esm/common/render/BatchOptions.d.ts.map +1 -0
  637. package/lib/esm/common/render/{primitives/PolylineParams.js → BatchOptions.js} +1 -1
  638. package/lib/esm/common/render/BatchOptions.js.map +1 -0
  639. package/lib/esm/common/render/GraphicAssembler.d.ts +197 -0
  640. package/lib/esm/common/render/GraphicAssembler.d.ts.map +1 -0
  641. package/lib/esm/common/render/GraphicAssembler.js +382 -0
  642. package/lib/esm/common/render/GraphicAssembler.js.map +1 -0
  643. package/lib/esm/common/render/GraphicDescriptionBuilder.d.ts +89 -0
  644. package/lib/esm/common/render/GraphicDescriptionBuilder.d.ts.map +1 -0
  645. package/lib/esm/common/render/GraphicDescriptionBuilder.js +31 -0
  646. package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -0
  647. package/lib/esm/common/render/GraphicDescriptionContext.d.ts +85 -0
  648. package/lib/esm/common/render/GraphicDescriptionContext.d.ts.map +1 -0
  649. package/lib/esm/common/render/GraphicDescriptionContext.js +19 -0
  650. package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -0
  651. package/lib/esm/common/render/GraphicPrimitive.d.ts.map +1 -0
  652. package/lib/esm/common/render/GraphicPrimitive.js.map +1 -0
  653. package/lib/esm/common/render/GraphicType.d.ts +62 -0
  654. package/lib/esm/common/render/GraphicType.d.ts.map +1 -0
  655. package/lib/esm/common/render/GraphicType.js +67 -0
  656. package/lib/esm/common/render/GraphicType.js.map +1 -0
  657. package/lib/esm/common/render/InstancedGraphicParams.d.ts.map +1 -0
  658. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -0
  659. package/lib/esm/common.d.ts +14 -0
  660. package/lib/esm/common.d.ts.map +1 -0
  661. package/lib/esm/common.js +19 -0
  662. package/lib/esm/common.js.map +1 -0
  663. package/lib/esm/core-frontend.d.ts +5 -43
  664. package/lib/esm/core-frontend.d.ts.map +1 -1
  665. package/lib/esm/core-frontend.js +5 -43
  666. package/lib/esm/core-frontend.js.map +1 -1
  667. package/lib/esm/extension/ExtensionRuntime.js +2 -1
  668. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  669. package/lib/esm/internal/cross-package.d.ts +7 -0
  670. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  671. package/lib/esm/internal/cross-package.js +11 -0
  672. package/lib/esm/internal/cross-package.js.map +1 -0
  673. package/lib/esm/internal/render/PrimitiveBuilder.d.ts +33 -0
  674. package/lib/esm/internal/render/PrimitiveBuilder.d.ts.map +1 -0
  675. package/lib/esm/internal/render/PrimitiveBuilder.js +136 -0
  676. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -0
  677. package/lib/esm/render/FeatureSymbology.js +3 -3
  678. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  679. package/lib/esm/render/GraphicBranch.d.ts +1 -1
  680. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  681. package/lib/esm/render/GraphicBranch.js.map +1 -1
  682. package/lib/esm/render/GraphicBuilder.d.ts +7 -254
  683. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  684. package/lib/esm/render/GraphicBuilder.js +18 -235
  685. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  686. package/lib/esm/render/MeshArgs.d.ts +56 -0
  687. package/lib/esm/render/MeshArgs.d.ts.map +1 -0
  688. package/lib/esm/{common/render/primitives/PointStringParams.js → render/MeshArgs.js} +1 -1
  689. package/lib/esm/render/MeshArgs.js.map +1 -0
  690. package/lib/esm/render/MockRender.d.ts +7 -5
  691. package/lib/esm/render/MockRender.d.ts.map +1 -1
  692. package/lib/esm/render/MockRender.js +5 -1
  693. package/lib/esm/render/MockRender.js.map +1 -1
  694. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  695. package/lib/esm/render/ParticleCollectionBuilder.js +4 -3
  696. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  697. package/lib/esm/render/PolylineArgs.d.ts +31 -0
  698. package/lib/esm/render/PolylineArgs.d.ts.map +1 -0
  699. package/lib/esm/render/PolylineArgs.js +9 -0
  700. package/lib/esm/render/PolylineArgs.js.map +1 -0
  701. package/lib/esm/render/RealityMeshParams.js +1 -1
  702. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  703. package/lib/esm/render/RenderSystem.d.ts +36 -7
  704. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  705. package/lib/esm/render/RenderSystem.js +96 -8
  706. package/lib/esm/render/RenderSystem.js.map +1 -1
  707. package/lib/esm/render/RenderTarget.d.ts +49 -5
  708. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  709. package/lib/esm/render/RenderTarget.js +33 -5
  710. package/lib/esm/render/RenderTarget.js.map +1 -1
  711. package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
  712. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  713. package/lib/esm/render/webgl/CachedGeometry.d.ts +1 -1
  714. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  715. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  716. package/lib/esm/render/webgl/ColorInfo.d.ts +1 -1
  717. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  718. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  719. package/lib/esm/render/webgl/EdgeGeometry.d.ts +2 -2
  720. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -1
  721. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  722. package/lib/esm/render/webgl/FeatureOverrides.d.ts +1 -1
  723. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  724. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  725. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  726. package/lib/esm/render/webgl/Graphic.d.ts +1 -1
  727. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  728. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  729. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  730. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  731. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  732. package/lib/esm/render/webgl/InstancedGeometry.d.ts +1 -1
  733. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  734. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  735. package/lib/esm/render/webgl/Material.d.ts +5 -1
  736. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  737. package/lib/esm/render/webgl/Material.js +5 -0
  738. package/lib/esm/render/webgl/Material.js.map +1 -1
  739. package/lib/esm/render/webgl/Mesh.d.ts +6 -3
  740. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  741. package/lib/esm/render/webgl/Mesh.js +3 -1
  742. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  743. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  744. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  745. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  746. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  747. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  748. package/lib/esm/render/webgl/PlanarClassifier.d.ts +2 -0
  749. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  750. package/lib/esm/render/webgl/PlanarClassifier.js +40 -13
  751. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  752. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts +3 -3
  753. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  754. package/lib/esm/render/webgl/PlanarTextureProjection.js +54 -20
  755. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  756. package/lib/esm/render/webgl/PointCloud.d.ts +1 -1
  757. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  758. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  759. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  760. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  761. package/lib/esm/render/webgl/PointString.js.map +1 -1
  762. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  763. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  764. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  765. package/lib/esm/render/webgl/Primitive.d.ts +1 -1
  766. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  767. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  768. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  769. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  770. package/lib/esm/render/webgl/SolarShadowMap.js +2 -2
  771. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  772. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  773. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  774. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  775. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  776. package/lib/esm/render/webgl/System.d.ts +7 -6
  777. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  778. package/lib/esm/render/webgl/System.js +1 -1
  779. package/lib/esm/render/webgl/System.js.map +1 -1
  780. package/lib/esm/render/webgl/Target.d.ts +3 -0
  781. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  782. package/lib/esm/render/webgl/Target.js +6 -1
  783. package/lib/esm/render/webgl/Target.js.map +1 -1
  784. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  785. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  786. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  787. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  788. package/lib/esm/render/webgl/glsl/Animation.d.ts.map +1 -1
  789. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  790. package/lib/esm/tile/B3dmReader.d.ts +1 -2
  791. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  792. package/lib/esm/tile/B3dmReader.js +1 -2
  793. package/lib/esm/tile/B3dmReader.js.map +1 -1
  794. package/lib/esm/tile/DynamicIModelTile.js +1 -0
  795. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  796. package/lib/esm/tile/GltfReader.d.ts +30 -6
  797. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  798. package/lib/esm/tile/GltfReader.js +245 -9
  799. package/lib/esm/tile/GltfReader.js.map +1 -1
  800. package/lib/esm/tile/GraphicsCollector.d.ts.map +1 -1
  801. package/lib/esm/tile/GraphicsCollector.js +5 -2
  802. package/lib/esm/tile/GraphicsCollector.js.map +1 -1
  803. package/lib/esm/tile/I3dmReader.d.ts +1 -2
  804. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  805. package/lib/esm/tile/I3dmReader.js +1 -2
  806. package/lib/esm/tile/I3dmReader.js.map +1 -1
  807. package/lib/esm/tile/ImdlDecoder.d.ts +1 -1
  808. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -1
  809. package/lib/esm/tile/ImdlDecoder.js.map +1 -1
  810. package/lib/esm/tile/ImdlGraphicsCreator.d.ts +4 -0
  811. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  812. package/lib/esm/tile/ImdlGraphicsCreator.js +88 -6
  813. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -1
  814. package/lib/esm/tile/ImdlReader.d.ts +1 -1
  815. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  816. package/lib/esm/tile/ImdlReader.js.map +1 -1
  817. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -1
  818. package/lib/esm/tile/OPCFormatInterpreter.js +7 -2
  819. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  820. package/lib/esm/tile/OrbitGtTileTree.js +1 -1
  821. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  822. package/lib/esm/tile/PntsReader.js +1 -1
  823. package/lib/esm/tile/PntsReader.js.map +1 -1
  824. package/lib/esm/tile/PrimaryTileTree.d.ts +6 -2
  825. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  826. package/lib/esm/tile/PrimaryTileTree.js +26 -1
  827. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  828. package/lib/esm/tile/RealityModelTileTree.js +1 -1
  829. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  830. package/lib/esm/tile/RealityTile.d.ts +2 -3
  831. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  832. package/lib/esm/tile/RealityTile.js +0 -1
  833. package/lib/esm/tile/RealityTile.js.map +1 -1
  834. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  835. package/lib/esm/tile/RealityTileLoader.js +1 -0
  836. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  837. package/lib/esm/tile/TileGeometryCollector.d.ts +4 -4
  838. package/lib/esm/tile/TileGeometryCollector.js +1 -1
  839. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  840. package/lib/esm/tile/TileTreeReference.d.ts +0 -4
  841. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  842. package/lib/esm/tile/TileTreeReference.js +0 -3
  843. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  844. package/lib/esm/tile/map/ArcGisUtilities.d.ts +1 -0
  845. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  846. package/lib/esm/tile/map/ArcGisUtilities.js +7 -5
  847. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  848. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  849. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +9 -4
  850. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  851. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  852. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
  853. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  854. package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts +1 -1
  855. package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts.map +1 -1
  856. package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  857. package/lib/esm/tile/map/MapFeatureInfo.d.ts +1 -1
  858. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -1
  859. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  860. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  861. package/lib/esm/tile/map/MapTileTree.js +5 -5
  862. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  863. package/lib/esm/tools/AccuDrawTool.d.ts +21 -0
  864. package/lib/esm/tools/AccuDrawTool.d.ts.map +1 -1
  865. package/lib/esm/tools/AccuDrawTool.js +89 -0
  866. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  867. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  868. package/lib/esm/tools/ClipViewTool.js +1 -1
  869. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  870. package/lib/esm/tools/ElementSetTool.d.ts +9 -5
  871. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  872. package/lib/esm/tools/ElementSetTool.js +9 -5
  873. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  874. package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
  875. package/lib/esm/tools/MeasureTool.js +1 -1
  876. package/lib/esm/tools/MeasureTool.js.map +1 -1
  877. package/lib/esm/tools/ToolAdmin.d.ts +2 -0
  878. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  879. package/lib/esm/tools/ToolAdmin.js +6 -1
  880. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  881. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  882. package/lib/esm/tools/ViewTool.js +1 -1
  883. package/lib/esm/tools/ViewTool.js.map +1 -1
  884. package/lib/esm/workers/RegisterWorker.d.ts +2 -1
  885. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -1
  886. package/lib/esm/workers/RegisterWorker.js +2 -1
  887. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  888. package/lib/public/locales/en/CoreTools.json +15 -0
  889. package/lib/public/locales/en/iModelJs.json +5 -0
  890. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  891. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  892. package/package.json +18 -18
  893. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +0 -1
  894. package/lib/cjs/common/render/AnimationNodeId.js.map +0 -1
  895. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +0 -1
  896. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +0 -1
  897. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +0 -1
  898. package/lib/cjs/common/render/primitives/DisplayParams.js.map +0 -1
  899. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +0 -1
  900. package/lib/cjs/common/render/primitives/EdgeParams.js +0 -46
  901. package/lib/cjs/common/render/primitives/EdgeParams.js.map +0 -1
  902. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +0 -1
  903. package/lib/cjs/common/render/primitives/MeshParams.js.map +0 -1
  904. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +0 -1
  905. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +0 -1
  906. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +0 -1
  907. package/lib/cjs/common/render/primitives/PointStringParams.js.map +0 -1
  908. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +0 -1
  909. package/lib/cjs/common/render/primitives/PolylineParams.js.map +0 -1
  910. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +0 -1
  911. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +0 -1
  912. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +0 -1
  913. package/lib/cjs/common/render/primitives/VertexIndices.js.map +0 -1
  914. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +0 -1
  915. package/lib/cjs/common/render/primitives/VertexTable.js.map +0 -1
  916. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  917. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +0 -1
  918. package/lib/cjs/render/GraphicPrimitive.d.ts.map +0 -1
  919. package/lib/cjs/render/GraphicPrimitive.js.map +0 -1
  920. package/lib/cjs/render/InstancedGraphicParams.d.ts.map +0 -1
  921. package/lib/cjs/render/InstancedGraphicParams.js.map +0 -1
  922. package/lib/cjs/render/primitives/ColorMap.d.ts.map +0 -1
  923. package/lib/cjs/render/primitives/ColorMap.js.map +0 -1
  924. package/lib/cjs/render/primitives/EdgeParams.d.ts +0 -8
  925. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +0 -1
  926. package/lib/cjs/render/primitives/EdgeParams.js.map +0 -1
  927. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +0 -1
  928. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +0 -1
  929. package/lib/cjs/render/primitives/PointStringParams.d.ts +0 -8
  930. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +0 -1
  931. package/lib/cjs/render/primitives/PointStringParams.js.map +0 -1
  932. package/lib/cjs/render/primitives/Polyface.d.ts.map +0 -1
  933. package/lib/cjs/render/primitives/Polyface.js.map +0 -1
  934. package/lib/cjs/render/primitives/PolylineParams.d.ts +0 -15
  935. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +0 -1
  936. package/lib/cjs/render/primitives/PolylineParams.js.map +0 -1
  937. package/lib/cjs/render/primitives/Primitives.d.ts.map +0 -1
  938. package/lib/cjs/render/primitives/Primitives.js.map +0 -1
  939. package/lib/cjs/render/primitives/Strokes.d.ts.map +0 -1
  940. package/lib/cjs/render/primitives/Strokes.js.map +0 -1
  941. package/lib/cjs/render/primitives/VertexKey.d.ts.map +0 -1
  942. package/lib/cjs/render/primitives/VertexKey.js.map +0 -1
  943. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +0 -1
  944. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +0 -1
  945. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +0 -1
  946. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +0 -1
  947. package/lib/cjs/render/primitives/geometry/GeometryList.d.ts.map +0 -1
  948. package/lib/cjs/render/primitives/geometry/GeometryList.js.map +0 -1
  949. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +0 -50
  950. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +0 -1
  951. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +0 -176
  952. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +0 -1
  953. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +0 -1
  954. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +0 -1
  955. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +0 -1
  956. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +0 -1
  957. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +0 -1
  958. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +0 -171
  959. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +0 -1
  960. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +0 -1
  961. package/lib/esm/common/render/AnimationNodeId.d.ts.map +0 -1
  962. package/lib/esm/common/render/AnimationNodeId.js.map +0 -1
  963. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +0 -1
  964. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +0 -1
  965. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +0 -1
  966. package/lib/esm/common/render/primitives/DisplayParams.js.map +0 -1
  967. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +0 -1
  968. package/lib/esm/common/render/primitives/EdgeParams.js +0 -42
  969. package/lib/esm/common/render/primitives/EdgeParams.js.map +0 -1
  970. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +0 -1
  971. package/lib/esm/common/render/primitives/MeshParams.js.map +0 -1
  972. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +0 -1
  973. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +0 -1
  974. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +0 -1
  975. package/lib/esm/common/render/primitives/PointStringParams.js.map +0 -1
  976. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +0 -1
  977. package/lib/esm/common/render/primitives/PolylineParams.js.map +0 -1
  978. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +0 -1
  979. package/lib/esm/common/render/primitives/SurfaceParams.js.map +0 -1
  980. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +0 -1
  981. package/lib/esm/common/render/primitives/VertexIndices.js.map +0 -1
  982. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +0 -1
  983. package/lib/esm/common/render/primitives/VertexTable.js.map +0 -1
  984. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  985. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +0 -1
  986. package/lib/esm/render/GraphicPrimitive.d.ts.map +0 -1
  987. package/lib/esm/render/GraphicPrimitive.js.map +0 -1
  988. package/lib/esm/render/InstancedGraphicParams.d.ts.map +0 -1
  989. package/lib/esm/render/InstancedGraphicParams.js.map +0 -1
  990. package/lib/esm/render/primitives/ColorMap.d.ts.map +0 -1
  991. package/lib/esm/render/primitives/ColorMap.js.map +0 -1
  992. package/lib/esm/render/primitives/EdgeParams.d.ts +0 -8
  993. package/lib/esm/render/primitives/EdgeParams.d.ts.map +0 -1
  994. package/lib/esm/render/primitives/EdgeParams.js.map +0 -1
  995. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts.map +0 -1
  996. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +0 -1
  997. package/lib/esm/render/primitives/PointStringParams.d.ts +0 -8
  998. package/lib/esm/render/primitives/PointStringParams.d.ts.map +0 -1
  999. package/lib/esm/render/primitives/PointStringParams.js.map +0 -1
  1000. package/lib/esm/render/primitives/Polyface.d.ts.map +0 -1
  1001. package/lib/esm/render/primitives/Polyface.js.map +0 -1
  1002. package/lib/esm/render/primitives/PolylineParams.d.ts +0 -15
  1003. package/lib/esm/render/primitives/PolylineParams.d.ts.map +0 -1
  1004. package/lib/esm/render/primitives/PolylineParams.js.map +0 -1
  1005. package/lib/esm/render/primitives/Primitives.d.ts.map +0 -1
  1006. package/lib/esm/render/primitives/Primitives.js.map +0 -1
  1007. package/lib/esm/render/primitives/Strokes.d.ts.map +0 -1
  1008. package/lib/esm/render/primitives/Strokes.js.map +0 -1
  1009. package/lib/esm/render/primitives/VertexKey.d.ts.map +0 -1
  1010. package/lib/esm/render/primitives/VertexKey.js.map +0 -1
  1011. package/lib/esm/render/primitives/VertexTableBuilder.d.ts.map +0 -1
  1012. package/lib/esm/render/primitives/VertexTableBuilder.js.map +0 -1
  1013. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +0 -1
  1014. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +0 -1
  1015. package/lib/esm/render/primitives/geometry/GeometryList.d.ts.map +0 -1
  1016. package/lib/esm/render/primitives/geometry/GeometryList.js.map +0 -1
  1017. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +0 -50
  1018. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +0 -1
  1019. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +0 -171
  1020. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +0 -1
  1021. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +0 -1
  1022. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +0 -1
  1023. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +0 -1
  1024. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +0 -1
  1025. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +0 -1
  1026. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +0 -171
  1027. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +0 -1
  1028. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +0 -1
  1029. /package/lib/cjs/common/{render → internal/render}/AnimationNodeId.d.ts +0 -0
  1030. /package/lib/cjs/common/{render → internal/render}/AnimationNodeId.js +0 -0
  1031. /package/lib/cjs/common/{render/primitives → internal/render}/AuxChannelTable.d.ts +0 -0
  1032. /package/lib/cjs/common/{render/primitives → internal/render}/AuxChannelTable.js +0 -0
  1033. /package/lib/cjs/{render/primitives → common/internal/render}/ColorMap.d.ts +0 -0
  1034. /package/lib/cjs/{render/primitives → common/internal/render}/ColorMap.js +0 -0
  1035. /package/lib/cjs/common/{render/primitives → internal/render}/DisplayParams.d.ts +0 -0
  1036. /package/lib/cjs/{render/primitives/geometry → common/internal/render}/GeometryList.d.ts +0 -0
  1037. /package/lib/cjs/{render/primitives/geometry → common/internal/render}/GeometryList.js +0 -0
  1038. /package/lib/cjs/common/{render/primitives → internal/render}/MeshParams.d.ts +0 -0
  1039. /package/lib/cjs/common/{render/primitives → internal/render}/MeshParams.js +0 -0
  1040. /package/lib/cjs/common/{render/primitives → internal/render}/MeshPrimitive.d.ts +0 -0
  1041. /package/lib/cjs/common/{render/primitives → internal/render}/MeshPrimitive.js +0 -0
  1042. /package/lib/cjs/{render/primitives → common/internal/render}/PointCloudPrimitive.d.ts +0 -0
  1043. /package/lib/cjs/{render/primitives → common/internal/render}/PointCloudPrimitive.js +0 -0
  1044. /package/lib/cjs/{render/primitives → common/internal/render}/Polyface.js +0 -0
  1045. /package/lib/cjs/{render/primitives → common/internal/render}/Strokes.js +0 -0
  1046. /package/lib/cjs/common/{render/primitives → internal/render}/SurfaceParams.d.ts +0 -0
  1047. /package/lib/cjs/common/{render/primitives → internal/render}/SurfaceParams.js +0 -0
  1048. /package/lib/cjs/common/{render/primitives → internal/render}/VertexIndices.d.ts +0 -0
  1049. /package/lib/cjs/common/{render/primitives → internal/render}/VertexIndices.js +0 -0
  1050. /package/lib/cjs/{render/primitives → common/internal/render}/VertexKey.d.ts +0 -0
  1051. /package/lib/cjs/{render/primitives → common/internal/render}/VertexKey.js +0 -0
  1052. /package/lib/cjs/common/{render/primitives → internal/render}/VertexTable.d.ts +0 -0
  1053. /package/lib/cjs/common/{render/primitives → internal/render}/VertexTable.js +0 -0
  1054. /package/lib/cjs/{render → common/render}/GraphicPrimitive.d.ts +0 -0
  1055. /package/lib/cjs/{render → common/render}/GraphicPrimitive.js +0 -0
  1056. /package/lib/cjs/{render → common/render}/InstancedGraphicParams.d.ts +0 -0
  1057. /package/lib/cjs/{render → common/render}/InstancedGraphicParams.js +0 -0
  1058. /package/lib/esm/common/{render → internal/render}/AnimationNodeId.d.ts +0 -0
  1059. /package/lib/esm/common/{render → internal/render}/AnimationNodeId.js +0 -0
  1060. /package/lib/esm/common/{render/primitives → internal/render}/AuxChannelTable.d.ts +0 -0
  1061. /package/lib/esm/common/{render/primitives → internal/render}/AuxChannelTable.js +0 -0
  1062. /package/lib/esm/{render/primitives → common/internal/render}/ColorMap.d.ts +0 -0
  1063. /package/lib/esm/{render/primitives → common/internal/render}/ColorMap.js +0 -0
  1064. /package/lib/esm/common/{render/primitives → internal/render}/DisplayParams.d.ts +0 -0
  1065. /package/lib/esm/{render/primitives/geometry → common/internal/render}/GeometryList.d.ts +0 -0
  1066. /package/lib/esm/{render/primitives/geometry → common/internal/render}/GeometryList.js +0 -0
  1067. /package/lib/esm/common/{render/primitives → internal/render}/MeshParams.d.ts +0 -0
  1068. /package/lib/esm/common/{render/primitives → internal/render}/MeshParams.js +0 -0
  1069. /package/lib/esm/common/{render/primitives → internal/render}/MeshPrimitive.d.ts +0 -0
  1070. /package/lib/esm/common/{render/primitives → internal/render}/MeshPrimitive.js +0 -0
  1071. /package/lib/esm/{render/primitives → common/internal/render}/PointCloudPrimitive.d.ts +0 -0
  1072. /package/lib/esm/{render/primitives → common/internal/render}/PointCloudPrimitive.js +0 -0
  1073. /package/lib/esm/{render/primitives → common/internal/render}/Polyface.js +0 -0
  1074. /package/lib/esm/{render/primitives → common/internal/render}/Strokes.js +0 -0
  1075. /package/lib/esm/common/{render/primitives → internal/render}/SurfaceParams.d.ts +0 -0
  1076. /package/lib/esm/common/{render/primitives → internal/render}/SurfaceParams.js +0 -0
  1077. /package/lib/esm/common/{render/primitives → internal/render}/VertexIndices.d.ts +0 -0
  1078. /package/lib/esm/common/{render/primitives → internal/render}/VertexIndices.js +0 -0
  1079. /package/lib/esm/{render/primitives → common/internal/render}/VertexKey.d.ts +0 -0
  1080. /package/lib/esm/{render/primitives → common/internal/render}/VertexKey.js +0 -0
  1081. /package/lib/esm/common/{render/primitives → internal/render}/VertexTable.d.ts +0 -0
  1082. /package/lib/esm/common/{render/primitives → internal/render}/VertexTable.js +0 -0
  1083. /package/lib/esm/{render → common/render}/GraphicPrimitive.d.ts +0 -0
  1084. /package/lib/esm/{render → common/render}/GraphicPrimitive.js +0 -0
  1085. /package/lib/esm/{render → common/render}/InstancedGraphicParams.d.ts +0 -0
  1086. /package/lib/esm/{render → common/render}/InstancedGraphicParams.js +0 -0
@@ -1,23 +1,3 @@
1
- /** The successful result of a worker operation, correlated with the id of the caller to resolve with the result.
2
- * @internal
3
- */
4
- export interface WorkerResult {
5
- msgId: number;
6
- result: any;
7
- error?: never;
8
- }
9
- /** An error resulting from a worker operation, correlated with the id of the caller to reject with the error.
10
- * @internal
11
- */
12
- export interface WorkerError {
13
- msgId: number;
14
- error: Error;
15
- result?: never;
16
- }
17
- /** Response to `postMessage` produced by a worker operation.
18
- * @internal
19
- */
20
- export type WorkerResponse = WorkerResult | WorkerError;
21
1
  /** Given an interface T that defines the operations provided by a worker, produce an interface that can be used to asynchronously invoke those operations
22
2
  * from the main thread, optionally passing an array of values to be transferred from the main thread to the worker.
23
3
  * - Every return type is converted to a `Promise` (i.e., every function becomes `async`)>.
@@ -26,7 +6,7 @@ export type WorkerResponse = WorkerResult | WorkerError;
26
6
  * - `multiArgFunc(arg1: U, arg2: V): R` becomes `async multiArgFunc(args: [U, V], transfer?: Transferable[]): Promise<R>`.
27
7
  * @note All parameters of all methods of `T` must support [structured cloning](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) -
28
8
  * attempts to pass functions, instances of classes, DOM nodes, WebGL resources, and other non-cloneable types will compile but fail at run-time.
29
- * @internal
9
+ * @beta
30
10
  */
31
11
  export type WorkerInterface<T> = {
32
12
  [P in keyof T]: T[P] extends () => any ? () => Promise<ReturnType<T[P]>> : (T[P] extends (arg: any) => any ? (arg: Parameters<T[P]>[0], transfer?: Transferable[]) => Promise<ReturnType<T[P]>> : (T[P] extends (...args: any) => any ? (args: Parameters<T[P]>, transfer?: Transferable[]) => Promise<ReturnType<T[P]>> : never));
@@ -34,7 +14,7 @@ export type WorkerInterface<T> = {
34
14
  /** Augments each method of `T` with the ability to specify values to be transferred from the worker thread to the main thread.
35
15
  * Each return type `R` is replaced with `R | { result: R; transfer: Transferable[]; }`.
36
16
  * @see [[WorkerImplementation]].
37
- * @internal
17
+ * @beta
38
18
  */
39
19
  export type WorkerReturnType<T extends (...args: any) => any> = ReturnType<T> | {
40
20
  result: ReturnType<T>;
@@ -49,7 +29,7 @@ export type WorkerReturnType<T extends (...args: any) => any> = ReturnType<T> |
49
29
  * - `multiArgFunc(arg1: U, arg2: V): R` becomes `multiArgFunc([U, V]): R | { result: R; transfer: Transferable[]; }`.
50
30
  * @note All parameters of all methods of `T` must support [structured cloning](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) -
51
31
  * attempts to pass functions, instances of classes, DOM nodes, WebGL resources, and other non-cloneable types will compile but fail at run-time.
52
- * @internal
32
+ * @beta
53
33
  */
54
34
  export type WorkerImplementation<T> = {
55
35
  [P in keyof T]: T[P] extends () => any ? () => WorkerReturnType<T[P]> : (T[P] extends (arg: any) => any ? (arg: Parameters<T[P]>[0]) => WorkerReturnType<T[P]> : (T[P] extends (...args: any) => any ? (args: Parameters<T[P]>) => WorkerReturnType<T[P]> : never));
@@ -58,7 +38,8 @@ export type WorkerImplementation<T> = {
58
38
  * the methods of `T`.
59
39
  * To use a worker proxy, define a worker script that provides [[registerWorker]] with an implementation of `T`, and obtain a proxy
60
40
  * via [[createWorkerProxy]] on the main thread. The proxy can then be used to asynchronously invoke methods of `T` on the worker.
61
- * @internal
41
+ * See [this article]($docs/learning/frontend/WorkerProxy.md) for more details and examples.
42
+ * @beta
62
43
  */
63
44
  export type WorkerProxy<T> = WorkerInterface<T> & {
64
45
  /** Terminate the worker. */
@@ -67,7 +48,8 @@ export type WorkerProxy<T> = WorkerInterface<T> & {
67
48
  readonly isTerminated: boolean;
68
49
  };
69
50
  /** Create a [[WorkerProxy]] implementing the methods of `T` using the specified worker script.
70
- * @internal
51
+ * See [this article]($docs/learning/frontend/WorkerProxy.md) for more details and examples.
52
+ * @beta
71
53
  */
72
54
  export declare function createWorkerProxy<T>(workerJsPath: string): WorkerProxy<T>;
73
55
  //# sourceMappingURL=WorkerProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerProxy.d.ts","sourceRoot":"","sources":["../../../src/common/WorkerProxy.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClH,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAChI;CACJ,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;AAEpI;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;KACnC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACnE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpF,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAClG;CACJ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IAChD,4BAA4B;IAC5B,SAAS,IAAI,IAAI,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CA+CzE"}
1
+ {"version":3,"file":"WorkerProxy.d.ts","sourceRoot":"","sources":["../../../src/common/WorkerProxy.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClH,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAChI;CACJ,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;AAEpI;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;KACnC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACnE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpF,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAClG;CACJ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IAChD,4BAA4B;IAC5B,SAAS,IAAI,IAAI,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CA+CzE"}
@@ -7,7 +7,8 @@
7
7
  */
8
8
  import { assert } from "@itwin/core-bentley";
9
9
  /** Create a [[WorkerProxy]] implementing the methods of `T` using the specified worker script.
10
- * @internal
10
+ * See [this article]($docs/learning/frontend/WorkerProxy.md) for more details and examples.
11
+ * @beta
11
12
  */
12
13
  export function createWorkerProxy(workerJsPath) {
13
14
  const tasks = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerProxy.js","sourceRoot":"","sources":["../../../src/common/WorkerProxy.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAsF7C;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAI,YAAoB;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACtC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,MAAc,CAAC;IACnB,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC;IAC7F,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,kBAAkB,YAAY,KAAK,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAsB,CAAC;QAC1C,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,QAAQ,CAAC,KAAK;gBAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;gBAE5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,EAAoB,EAAE;QACrC,GAAG,CAAC,OAAO,EAAE,SAAiB;YAC5B,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC9B,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC;gBAClB,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;gBACxC,OAAO,UAAU,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/D,MAAM,KAAK,GAAG,EAAE,QAAQ,CAAC;oBACzB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5E,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utils\r\n */\r\nimport { assert } from \"@itwin/core-bentley\";\r\n\r\n/** Holds callbacks for a Promise produced for a particular call to postMessage. */\r\ninterface Task {\r\n reject: (result: any) => void;\r\n resolve: (error: Error) => void;\r\n}\r\n\r\n/** The successful result of a worker operation, correlated with the id of the caller to resolve with the result.\r\n * @internal\r\n */\r\nexport interface WorkerResult {\r\n msgId: number;\r\n result: any;\r\n error?: never;\r\n}\r\n\r\n/** An error resulting from a worker operation, correlated with the id of the caller to reject with the error.\r\n * @internal\r\n */\r\nexport interface WorkerError {\r\n msgId: number;\r\n error: Error;\r\n result?: never;\r\n}\r\n\r\n/** Response to `postMessage` produced by a worker operation.\r\n * @internal\r\n */\r\nexport type WorkerResponse = WorkerResult | WorkerError;\r\n\r\n/** Given an interface T that defines the operations provided by a worker, produce an interface that can be used to asynchronously invoke those operations\r\n * from the main thread, optionally passing an array of values to be transferred from the main thread to the worker.\r\n * - Every return type is converted to a `Promise` (i.e., every function becomes `async`)>.\r\n * - `zeroArgFunc(): R` becomes `async zeroArgFunc(): Promise<R>`.\r\n * - `oneArgFunc(arg: U): R` becomes `async oneArgFunc(arg: U, transfer?: Transferable[]): Promise<R>`.\r\n * - `multiArgFunc(arg1: U, arg2: V): R` becomes `async multiArgFunc(args: [U, V], transfer?: Transferable[]): Promise<R>`.\r\n * @note All parameters of all methods of `T` must support [structured cloning](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) -\r\n * attempts to pass functions, instances of classes, DOM nodes, WebGL resources, and other non-cloneable types will compile but fail at run-time.\r\n * @internal\r\n */\r\nexport type WorkerInterface<T> = {\r\n [P in keyof T]: T[P] extends () => any ? () => Promise<ReturnType<T[P]>> :\r\n (T[P] extends (arg: any) => any ? (arg: Parameters<T[P]>[0], transfer?: Transferable[]) => Promise<ReturnType<T[P]>> :\r\n (T[P] extends (...args: any) => any ? (args: Parameters<T[P]>, transfer?: Transferable[]) => Promise<ReturnType<T[P]>> : never)\r\n )\r\n};\r\n\r\n/** Augments each method of `T` with the ability to specify values to be transferred from the worker thread to the main thread.\r\n * Each return type `R` is replaced with `R | { result: R; transfer: Transferable[]; }`.\r\n * @see [[WorkerImplementation]].\r\n * @internal\r\n */\r\nexport type WorkerReturnType<T extends (...args: any) => any> = ReturnType<T> | { result: ReturnType<T>, transfer: Transferable[] };\r\n\r\n/** Given an interface T that defines the operations provided by a worker, produce an interface to which the implementation of those operations must conform.\r\n * The return type of each function is enhanced to permit supplying a list of values to be transferred from the worker to the main thread.\r\n * Multi-argument functions are converted to functions accepting a single tuple of arguments.\r\n * - Every return type `R` is converted to `WorkerReturnType<R>`.\r\n * - `zeroArgFunc(): R` becomes `zeroArgFunc(): R | { result: R; transfer: Transferable[]; }`.\r\n * - `oneArgFunc(arg: U): R` becomes `oneArgFunc(arg: U): R | { result: R; transfer: Transferable[]; }`.\r\n * - `multiArgFunc(arg1: U, arg2: V): R` becomes `multiArgFunc([U, V]): R | { result: R; transfer: Transferable[]; }`.\r\n * @note All parameters of all methods of `T` must support [structured cloning](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) -\r\n * attempts to pass functions, instances of classes, DOM nodes, WebGL resources, and other non-cloneable types will compile but fail at run-time.\r\n * @internal\r\n */\r\nexport type WorkerImplementation<T> = {\r\n [P in keyof T]: T[P] extends () => any ? () => WorkerReturnType<T[P]> :\r\n (T[P] extends (arg: any) => any ? (arg: Parameters<T[P]>[0]) => WorkerReturnType<T[P]> :\r\n (T[P] extends (...args: any) => any ? (args: Parameters<T[P]>) => WorkerReturnType<T[P]> : never)\r\n )\r\n};\r\n\r\n/** A proxy for a [web worker](https://developer.mozilla.org/en-US/docs/Web/API/Worker) that provides the operations specified by\r\n * the methods of `T`.\r\n * To use a worker proxy, define a worker script that provides [[registerWorker]] with an implementation of `T`, and obtain a proxy\r\n * via [[createWorkerProxy]] on the main thread. The proxy can then be used to asynchronously invoke methods of `T` on the worker.\r\n * @internal\r\n */\r\nexport type WorkerProxy<T> = WorkerInterface<T> & {\r\n /** Terminate the worker. */\r\n terminate(): void;\r\n /** Returns true if [[terminate]] has been called. */\r\n readonly isTerminated: boolean;\r\n};\r\n\r\n/** Create a [[WorkerProxy]] implementing the methods of `T` using the specified worker script.\r\n * @internal\r\n */\r\nexport function createWorkerProxy<T>(workerJsPath: string): WorkerProxy<T> {\r\n const tasks = new Map<number, Task>();\r\n let curMsgId = 0;\r\n let terminated = false;\r\n\r\n let worker: Worker;\r\n const sameOrigin = workerJsPath.substring(0, globalThis.origin.length) === globalThis.origin;\r\n if (sameOrigin || !workerJsPath.startsWith(\"http\")) {\r\n worker = new Worker(workerJsPath);\r\n } else {\r\n const workerBlob = new Blob([`importScripts(\"${workerJsPath}\");`]);\r\n const workerBlobUrl = URL.createObjectURL(workerBlob);\r\n worker = new Worker(workerBlobUrl);\r\n }\r\n\r\n worker.onmessage = (e: MessageEvent) => {\r\n const response = e.data as WorkerResponse;\r\n assert(typeof response === \"object\");\r\n assert(\"result\" in response || \"error\" in response);\r\n\r\n const task = tasks.get(response.msgId);\r\n if (task) {\r\n tasks.delete(response.msgId);\r\n if (response.error)\r\n task.reject(response.error);\r\n else\r\n task.resolve(response.result);\r\n }\r\n };\r\n\r\n return new Proxy({} as WorkerProxy<T>, {\r\n get(_target, operation: string) {\r\n if (operation === \"terminate\") {\r\n assert(!terminated);\r\n terminated = true;\r\n return () => worker.terminate();\r\n } else if (operation === \"isTerminated\") {\r\n return terminated;\r\n } else {\r\n return async (...args: any[]) => new Promise((resolve, reject) => {\r\n const msgId = ++curMsgId;\r\n tasks.set(msgId, { resolve, reject });\r\n worker.postMessage({ operation, payload: args[0], msgId }, args[1] ?? []);\r\n });\r\n }\r\n },\r\n });\r\n}\r\n"]}
1
+ {"version":3,"file":"WorkerProxy.js","sourceRoot":"","sources":["../../../src/common/WorkerProxy.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiF7C;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAI,YAAoB;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACtC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,MAAc,CAAC;IACnB,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC;IAC7F,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,kBAAkB,YAAY,KAAK,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAsB,CAAC;QAC1C,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,QAAQ,CAAC,KAAK;gBAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;gBAE5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,EAAoB,EAAE;QACrC,GAAG,CAAC,OAAO,EAAE,SAAiB;YAC5B,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC9B,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC;gBAClB,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;gBACxC,OAAO,UAAU,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/D,MAAM,KAAK,GAAG,EAAE,QAAQ,CAAC;oBACzB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5E,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utils\r\n */\r\nimport { assert } from \"@itwin/core-bentley\";\r\n\r\n/** Holds callbacks for a Promise produced for a particular call to postMessage. */\r\ninterface Task {\r\n reject: (result: any) => void;\r\n resolve: (error: Error) => void;\r\n}\r\n\r\n/** The successful result of a worker operation, correlated with the id of the caller to resolve with the result. */\r\ninterface WorkerResult {\r\n msgId: number;\r\n result: any;\r\n error?: never;\r\n}\r\n\r\n/** An error resulting from a worker operation, correlated with the id of the caller to reject with the error. */\r\ninterface WorkerError {\r\n msgId: number;\r\n error: Error;\r\n result?: never;\r\n}\r\n\r\n/** Response to `postMessage` produced by a worker operation. */\r\ntype WorkerResponse = WorkerResult | WorkerError;\r\n\r\n/** Given an interface T that defines the operations provided by a worker, produce an interface that can be used to asynchronously invoke those operations\r\n * from the main thread, optionally passing an array of values to be transferred from the main thread to the worker.\r\n * - Every return type is converted to a `Promise` (i.e., every function becomes `async`)>.\r\n * - `zeroArgFunc(): R` becomes `async zeroArgFunc(): Promise<R>`.\r\n * - `oneArgFunc(arg: U): R` becomes `async oneArgFunc(arg: U, transfer?: Transferable[]): Promise<R>`.\r\n * - `multiArgFunc(arg1: U, arg2: V): R` becomes `async multiArgFunc(args: [U, V], transfer?: Transferable[]): Promise<R>`.\r\n * @note All parameters of all methods of `T` must support [structured cloning](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) -\r\n * attempts to pass functions, instances of classes, DOM nodes, WebGL resources, and other non-cloneable types will compile but fail at run-time.\r\n * @beta\r\n */\r\nexport type WorkerInterface<T> = {\r\n [P in keyof T]: T[P] extends () => any ? () => Promise<ReturnType<T[P]>> :\r\n (T[P] extends (arg: any) => any ? (arg: Parameters<T[P]>[0], transfer?: Transferable[]) => Promise<ReturnType<T[P]>> :\r\n (T[P] extends (...args: any) => any ? (args: Parameters<T[P]>, transfer?: Transferable[]) => Promise<ReturnType<T[P]>> : never)\r\n )\r\n};\r\n\r\n/** Augments each method of `T` with the ability to specify values to be transferred from the worker thread to the main thread.\r\n * Each return type `R` is replaced with `R | { result: R; transfer: Transferable[]; }`.\r\n * @see [[WorkerImplementation]].\r\n * @beta\r\n */\r\nexport type WorkerReturnType<T extends (...args: any) => any> = ReturnType<T> | { result: ReturnType<T>, transfer: Transferable[] };\r\n\r\n/** Given an interface T that defines the operations provided by a worker, produce an interface to which the implementation of those operations must conform.\r\n * The return type of each function is enhanced to permit supplying a list of values to be transferred from the worker to the main thread.\r\n * Multi-argument functions are converted to functions accepting a single tuple of arguments.\r\n * - Every return type `R` is converted to `WorkerReturnType<R>`.\r\n * - `zeroArgFunc(): R` becomes `zeroArgFunc(): R | { result: R; transfer: Transferable[]; }`.\r\n * - `oneArgFunc(arg: U): R` becomes `oneArgFunc(arg: U): R | { result: R; transfer: Transferable[]; }`.\r\n * - `multiArgFunc(arg1: U, arg2: V): R` becomes `multiArgFunc([U, V]): R | { result: R; transfer: Transferable[]; }`.\r\n * @note All parameters of all methods of `T` must support [structured cloning](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) -\r\n * attempts to pass functions, instances of classes, DOM nodes, WebGL resources, and other non-cloneable types will compile but fail at run-time.\r\n * @beta\r\n */\r\nexport type WorkerImplementation<T> = {\r\n [P in keyof T]: T[P] extends () => any ? () => WorkerReturnType<T[P]> :\r\n (T[P] extends (arg: any) => any ? (arg: Parameters<T[P]>[0]) => WorkerReturnType<T[P]> :\r\n (T[P] extends (...args: any) => any ? (args: Parameters<T[P]>) => WorkerReturnType<T[P]> : never)\r\n )\r\n};\r\n\r\n/** A proxy for a [web worker](https://developer.mozilla.org/en-US/docs/Web/API/Worker) that provides the operations specified by\r\n * the methods of `T`.\r\n * To use a worker proxy, define a worker script that provides [[registerWorker]] with an implementation of `T`, and obtain a proxy\r\n * via [[createWorkerProxy]] on the main thread. The proxy can then be used to asynchronously invoke methods of `T` on the worker.\r\n * See [this article]($docs/learning/frontend/WorkerProxy.md) for more details and examples.\r\n * @beta\r\n */\r\nexport type WorkerProxy<T> = WorkerInterface<T> & {\r\n /** Terminate the worker. */\r\n terminate(): void;\r\n /** Returns true if [[terminate]] has been called. */\r\n readonly isTerminated: boolean;\r\n};\r\n\r\n/** Create a [[WorkerProxy]] implementing the methods of `T` using the specified worker script.\r\n * See [this article]($docs/learning/frontend/WorkerProxy.md) for more details and examples.\r\n * @beta\r\n */\r\nexport function createWorkerProxy<T>(workerJsPath: string): WorkerProxy<T> {\r\n const tasks = new Map<number, Task>();\r\n let curMsgId = 0;\r\n let terminated = false;\r\n\r\n let worker: Worker;\r\n const sameOrigin = workerJsPath.substring(0, globalThis.origin.length) === globalThis.origin;\r\n if (sameOrigin || !workerJsPath.startsWith(\"http\")) {\r\n worker = new Worker(workerJsPath);\r\n } else {\r\n const workerBlob = new Blob([`importScripts(\"${workerJsPath}\");`]);\r\n const workerBlobUrl = URL.createObjectURL(workerBlob);\r\n worker = new Worker(workerBlobUrl);\r\n }\r\n\r\n worker.onmessage = (e: MessageEvent) => {\r\n const response = e.data as WorkerResponse;\r\n assert(typeof response === \"object\");\r\n assert(\"result\" in response || \"error\" in response);\r\n\r\n const task = tasks.get(response.msgId);\r\n if (task) {\r\n tasks.delete(response.msgId);\r\n if (response.error)\r\n task.reject(response.error);\r\n else\r\n task.resolve(response.result);\r\n }\r\n };\r\n\r\n return new Proxy({} as WorkerProxy<T>, {\r\n get(_target, operation: string) {\r\n if (operation === \"terminate\") {\r\n assert(!terminated);\r\n terminated = true;\r\n return () => worker.terminate();\r\n } else if (operation === \"isTerminated\") {\r\n return terminated;\r\n } else {\r\n return async (...args: any[]) => new Promise((resolve, reject) => {\r\n const msgId = ++curMsgId;\r\n tasks.set(msgId, { resolve, reject });\r\n worker.postMessage({ operation, payload: args[0], msgId }, args[1] ?? []);\r\n });\r\n }\r\n },\r\n });\r\n}\r\n"]}
@@ -219,6 +219,18 @@ export interface Gltf2Node extends GltfChildOfRootProperty, GltfNodeBaseProps {
219
219
  SCALE?: GltfId;
220
220
  };
221
221
  };
222
+ /** The [EXT_instance_features](https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_instance_features/README.md)
223
+ * extension permits assigning identifiers to individual instances of a mesh, which can be used to look up per-instance data in a property table.
224
+ */
225
+ EXT_instance_features?: {
226
+ featureIds: {
227
+ attribute?: number;
228
+ featureCount: number;
229
+ label?: string;
230
+ nullFeatureId?: number;
231
+ propertyTable: number;
232
+ }[];
233
+ };
222
234
  };
223
235
  }
224
236
  /** Describes a node in a [[GltfScene]]. Each node may be associated with zero, one (glTF 2.0), or any number of (glTF 1.0) [[GltfMesh]]es.
@@ -503,7 +515,9 @@ export declare namespace GltfStructuralMetadata {
503
515
  name?: string;
504
516
  description?: string;
505
517
  version?: string;
506
- classes?: Class[];
518
+ classes?: {
519
+ [classId: string]: Class | undefined;
520
+ };
507
521
  enums?: Enum[];
508
522
  }
509
523
  interface PropertyTableProperty extends GltfProperty {
@@ -1 +1 @@
1
- {"version":3,"file":"GltfSchema.d.ts","sourceRoot":"","sources":["../../../../src/common/gltf/GltfSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GltfSchema.d.ts","sourceRoot":"","sources":["../../../../src/common/gltf/GltfSchema.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,oBAAY,YAAY;IACtB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,SAAS,IAAI;IACb,SAAS,IAAI;IACb,+BAA+B;IAC/B,aAAa,IAAI;IACjB,+BAA+B;IAC/B,WAAW,IAAI;CAChB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,UAAU,OAAS;IACnB,YAAY,OAAS;IACrB,WAAW,OAAO;IAClB,aAAa,OAAO;IACpB,MAAM,OAAO;IACb,KAAK,OAAO;IACZ,GAAG,OAAO;IACV,IAAI,OAAO;IACX,OAAO,QAAS;IAChB,OAAO,QAAS;IAChB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;CAClB;AAED,gBAAgB;AAChB,oBAAY,aAAa;IACvB,OAAO,OAAO;IACd,MAAM,OAAO;CACd;AAED,gBAAgB;AAChB,oBAAY,aAAa;IACvB,OAAO,OAAwB;IAC/B,MAAM,OAAuB;IAC7B,oBAAoB,OAAO;IAC3B,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,kBAAkB,OAAO;CAC1B;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,WAAW,QAAQ;IACnB,cAAc,QAAQ;IACtB,MAAM,QAAQ;CACf;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,WAAW,QAAQ;IACnB,kBAAkB,QAAQ;CAC3B;AAED,4FAA4F;AAC5F,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,4FAA4F;AAC5F,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,wEAAwE;AACxE,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvC;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,uBAAuB;IAC/D,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CAC9B;AAED,gBAAgB;AAChB,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAkB,sBAAsB,CAAC,CAAC,SAAS,uBAAuB,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAWhH;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,gBAAgB;AAChB,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACnC;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED,gEAAgE;AAChE,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,sHAAsH;IACtH,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;WAEG;QAEH,wBAAwB,CAAC,EAAE;YACzB;;;eAGG;YACH,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF;;WAEG;QAEH,0BAA0B,CAAC,EAAE,oBAAoB,CAAC;QAElD,iBAAiB,CAAC,EAAE,YAAY,CAAC;KAClC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,uBAAuB;IACvD,mDAAmD;IACnD,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sHAAsH;IACtH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gCAAgC;IAChC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,uBAAuB,EAAE,iBAAiB;IAC3E;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,uBAAuB,EAAE,iBAAiB;IAC3E,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;;;WAIG;QAEH,uBAAuB,CAAC,EAAE;YACxB,UAAU,CAAC,EAAE;gBACX,kBAAkB;gBAElB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,qEAAqE;gBAErE,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,kBAAkB;gBAElB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;QACF;;WAEG;QAEH,qBAAqB,CAAC,EAAE;YACtB,UAAU,EAAE;gBACV,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,YAAY,EAAE,MAAM,CAAC;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,aAAa,CAAC,EAAE,MAAM,CAAC;gBACvB,aAAa,EAAE,MAAM,CAAC;aACvB,EAAE,CAAC;SACL,CAAC;KACH,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAO3D;AAED,gBAAgB;AAChB,wBAAkB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAetI;AAED;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,uBAAuB;IACxD,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gHAAgH;IAChH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,uBAAuB;IACxD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,QAAQ,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACtC,wGAAwG;IACxG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;;WAGG;QAEH,eAAe,CAAC,EAAE;YAChB,iFAAiF;YACjF,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,8CAA8C;YAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;CACH;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,uBAAuB;IAC1D;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAS,uBAAuB;IAC3D,4BAA4B;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,8BAA8B;IAC9B,KAAK,OAAO;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,uBAAuB;IAC5D,uDAAuD;IACvD,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;KAC/B,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,WAAW,aAAc,SAAQ,uBAAuB;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,WAAW,gCAAiC,SAAQ,YAAY;IAEpE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAEnC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,eAAe,CAAC;CAC5C;AAED,gBAAgB;AAChB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExD,gBAAgB;AAChB,MAAM,WAAW,aAAc,SAAQ,uBAAuB;IAC5D,oBAAoB,CAAC,EAAE,gCAAgC,CAAC;IACxD,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;WAEG;QAEH,mBAAmB,CAAC,EAAE,EAAG,CAAC;QAC1B;;;WAGG;QAEH,oBAAoB,CAAC,EAAE;YACrB,SAAS,CAAC,EAAE,MAAM,CAAC;YAGnB,MAAM,CAAC,EAAE;gBAEP,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;gBAErB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAGnB,SAAS,CAAC,EAAE;oBAAE,KAAK,EAAE,MAAM,CAAC;oBAAC,QAAQ,EAAE,MAAM,CAAA;iBAAE,CAAC;gBAChD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;aACtB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAEzD,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,IAAI,aAAa,CAGjF;AAED,gBAAgB;AAChB,MAAM,WAAW,UAAW,SAAQ,uBAAuB;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,GAAG;QAE5B,uBAAuB,CAAC,EAAE;YACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAE/E,gBAAgB;AAChB,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,CAAC;AAE/E;;EAEE;AACF,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,CAAC,EAAE,2BAA2B,CAAC;CACtC;AAED,gBAAgB;AAChB,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B,uBAAuB,CAAC,EAAE,yCAAyC,CAAC;KACrE,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAa,SAAQ,uBAAuB;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IACvK,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B,8EAA8E;QAE9E,0BAA0B,CAAC,EAAE;YAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;YACrB,UAAU,EAAE,MAAM,EAAE,CAAC;YACrB,yBAAyB;YACzB,YAAY,EAAE,MAAM,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;CACH;AAED,gBAAgB;AAChB,yBAAiB,sBAAsB,CAAC;IAEtC,KAAY,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAExI,KAAY,0BAA0B,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAG1J,UAAiB,aAAc,SAAQ,YAAY;QACjD,IAAI,EAAE,iBAAiB,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAED,UAAiB,SAAU,SAAQ,YAAY;QAC7C,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAED,UAAiB,IAAK,SAAQ,YAAY;QACxC,MAAM,EAAE,SAAS,EAAE,CAAC;QAEpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QACrG,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAED,UAAiB,KAAM,SAAQ,YAAY;QACzC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE;YACX,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;SACjD,CAAC;KACH;IAED,UAAiB,MAAO,SAAQ,YAAY;QAC1C,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE;YACR,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;SACtC,CAAC;QACF,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;KAChB;IAGD,UAAiB,qBAAsB,SAAQ,YAAY;QACzD,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpE,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;QACrE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd;IAED,UAAiB,aAAa;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE;YACX,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;SACzD,CAAC;KACH;IAED,UAAiB,SAAU,SAAQ,YAAY;QAE7C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;QACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;WAEG;QAEH,UAAU,CAAC,EAAE;YACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;QACF;;;WAGG;QAEH,oBAAoB,CAAC,EAAE;YACrB,UAAU,CAAC,EAAE,KAAK,CAAC;gBACjB,QAAQ,CAAC,EAAE;oBACT,CAAC,GAAG,EAAE,MAAM,GAAG;wBAAE,IAAI,EAAE,YAAY,CAAC;wBAAC,KAAK,CAAC,EAAE,GAAG,CAAA;qBAAE,GAAG,SAAS,CAAC;iBAChE,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;QAEF,uBAAuB,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC;KAC5D,CAAC;IACF,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,0BAA0B;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,wEAAwE;IACxE,UAAU,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;CAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"GltfSchema.js","sourceRoot":"","sources":["../../../../src/common/gltf/GltfSchema.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\n/** Enumerates the types of [[GltfMeshPrimitive]] topologies.\r\n * @internal\r\n */\r\nexport enum GltfMeshMode {\r\n Points = 0,\r\n Lines = 1,\r\n LineStrip = 3,\r\n Triangles = 4,\r\n /** Not currently supported. */\r\n TriangleStrip = 5,\r\n /** Not currently supported. */\r\n TriangleFan = 6,\r\n}\r\n\r\n/** Enumerates the basic data types supported by accessors, material values, technique uniforms, etc.\r\n * @internal\r\n */\r\nexport enum GltfDataType {\r\n SignedByte = 0x1400,\r\n UnsignedByte = 0x1401,\r\n SignedShort = 5122,\r\n UnsignedShort = 5123,\r\n UInt32 = 5125,\r\n Float = 5126,\r\n Rgb = 6407,\r\n Rgba = 6408,\r\n IntVec2 = 0x8b53,\r\n IntVec3 = 0x8b54,\r\n FloatVec2 = 35664,\r\n FloatVec3 = 35665,\r\n FloatVec4 = 35666,\r\n FloatMat3 = 35675,\r\n FloatMat4 = 35676,\r\n Sampler2d = 35678,\r\n}\r\n\r\n/** @internal */\r\nexport enum GltfMagFilter {\r\n Nearest = 9728,\r\n Linear = 9729,\r\n}\r\n\r\n/** @internal */\r\nexport enum GltfMinFilter {\r\n Nearest = GltfMagFilter.Nearest,\r\n Linear = GltfMagFilter.Linear,\r\n NearestMipMapNearest = 9984,\r\n LinearMipMapNearest = 9985,\r\n NearestMipMapLinear = 9986,\r\n LinearMipMapLinear = 9987,\r\n}\r\n\r\n/** Describes how texture coordinates outside of the range [0..1] are handled.\r\n * @internal\r\n */\r\nexport enum GltfWrapMode {\r\n ClampToEdge = 33071,\r\n MirroredRepeat = 33648,\r\n Repeat = 10497,\r\n}\r\n\r\n/** Describes the intended target of a [[GltfBufferViewProps]].\r\n * @internal\r\n */\r\nexport enum GltfBufferTarget {\r\n ArrayBuffer = 34962,\r\n ElementArrayBuffer = 24963,\r\n}\r\n\r\n/** The type used to refer to an entry in a GltfDictionary in a glTF 1.0 asset. @internal */\r\nexport type Gltf1Id = string;\r\n/** The type used to refer to an entry in a GltfDictionary in a glTF 2.0 asset. @internal */\r\nexport type Gltf2Id = number;\r\n/** The type used to refer to an entry in a GltfDictionary. @internal */\r\nexport type GltfId = Gltf1Id | Gltf2Id;\r\n\r\n/** A collection of resources of some type defined at the top-level of a [[GltfDocument]].\r\n * In glTF 1.0, these are defined as objects; each resource is referenced and accessed by its string key.\r\n * In glTF 2.0, these are defined as arrays; each resource is referenced and accessed by its integer array index.\r\n * @internal\r\n */\r\nexport interface GltfDictionary<T extends GltfChildOfRootProperty> {\r\n [key: GltfId]: T | undefined;\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfStringMap<T> {\r\n [key: string]: T | undefined;\r\n}\r\n\r\n/** Iterate the contents of a [[GltfDictionary]].\r\n * @internal\r\n */\r\nexport function * gltfDictionaryIterator<T extends GltfChildOfRootProperty>(dict: GltfDictionary<T>): Iterable<T> {\r\n if (Array.isArray(dict)) {\r\n for (const elem of dict)\r\n yield elem;\r\n } else {\r\n for (const key of Object.keys(dict)) {\r\n const value = dict[key];\r\n if (undefined !== value)\r\n yield value;\r\n }\r\n }\r\n}\r\n\r\n/** Optional extensions applied to a [[GltfProperty]] to enable behavior not defined in the core specification.\r\n * @internal\r\n */\r\nexport type GltfExtensions = GltfStringMap<unknown>;\r\n\r\n/** The base interface provided by most objects in a glTF asset, permitting additional data to be associated with the object.\r\n * @internal\r\n */\r\nexport interface GltfProperty {\r\n extensions?: GltfExtensions;\r\n extras?: any;\r\n}\r\n\r\n/** The base interface provided by top-level properties of a [[GltfDocument]].\r\n * @internal\r\n */\r\nexport interface GltfChildOfRootProperty extends GltfProperty {\r\n /** Optional name, strictly for human consumption. */\r\n name?: string;\r\n}\r\n\r\n/** @internal */\r\nexport interface DracoMeshCompression {\r\n bufferView: GltfId;\r\n // TEXCOORD_0, POSITION, etc\r\n attributes: GltfStringMap<number>;\r\n}\r\n\r\n/** @internal */\r\nexport interface MeshFeature extends GltfProperty {\r\n featureCount: number;\r\n nullFeatureId?: number;\r\n label?: string;\r\n propertyTable?: number;\r\n texture?: unknown;\r\n attribute?: number;\r\n}\r\n\r\n/** @internal */\r\nexport interface MeshFeatures {\r\n featureIds: MeshFeature[];\r\n}\r\n\r\n/** A unit of geometry belonging to a [[GltfMesh]]. @internal */\r\nexport interface GltfMeshPrimitive extends GltfProperty {\r\n /** Maps the name of each mesh attribute semantic to the Id of the [[GltfAccessor]] providing the attribute's data. */\r\n attributes: GltfStringMap<GltfId>;\r\n /** The Id of the [[GltfAccessor]] providing the vertex indices. */\r\n indices?: GltfId;\r\n /** The Id of the [[GltfMaterial]] to apply to the primitive when rendering. */\r\n material?: GltfId;\r\n /** The primitive topology type. */\r\n mode?: GltfMeshMode;\r\n /** Morph targets - currently unsupported. */\r\n targets?: GltfStringMap<GltfId>;\r\n extensions?: GltfExtensions & {\r\n /** The [CESIUM_primitive_outline](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/CESIUM_primitive_outline) extension\r\n * describes how to draw outline edges for a triangle mesh.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n CESIUM_primitive_outline?: {\r\n /** The Id of the [[GltfBufferViewProps]] supplying the endpoints of each edge as indices into the triangle mesh's vertex array.\r\n * The number of indices must be even; each consecutive pair of indices describes one line segment. No connectivity between\r\n * line segments is implied.\r\n */\r\n indices?: GltfId;\r\n };\r\n /** The [KHR_draco_mesh_compression](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md) extension\r\n * allows glTF to support geometry compressed with Draco geometry compression.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_draco_mesh_compression?: DracoMeshCompression;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EXT_mesh_features?: MeshFeatures;\r\n };\r\n}\r\n\r\n/** A collection of [[GltfMeshPrimitive]]s to be rendered. Each mesh is referenced by a node. Multiple nodes can refer to the same mesh.\r\n * The node's transform is applied when rendering the mesh.\r\n * @internal\r\n */\r\nexport interface GltfMesh extends GltfChildOfRootProperty {\r\n /** The collection of primitives to be rendered. */\r\n primitives?: GltfMeshPrimitive[];\r\n /** For morph targets - currently unsupported. */\r\n weights?: number[];\r\n}\r\n\r\n/** Properties common to [[Gltf1Node]] and [[Gltf2Node]]. @internal */\r\nexport interface GltfNodeBaseProps {\r\n /** The Ids of the child nodes. @see [[GltfNode]]. */\r\n children?: GltfId[];\r\n /** Currently ignored. */\r\n camera?: GltfId;\r\n /** Currently ignored. */\r\n skin?: GltfId;\r\n /** A 4x4 column-major transformation matrix. Mutually exclusive with [[rotation]], [[scale]], and [[translation]]. */\r\n matrix?: number[];\r\n /** Unit quaternion as [x, y, z, w], where w is the scalar. */\r\n rotation?: [number, number, number, number];\r\n /** Non-uniform scale as [x, y, z]. */\r\n scale?: [number, number, number];\r\n /** Translation as [x, y, z]. */\r\n translation?: [number, number, number];\r\n}\r\n\r\n/** glTF 1.0 representation of a [[GltfNode]]. Unlike a [[Gltf2Node]], a Gltf1Node may refer to any number of [[GltfMesh]]es.\r\n * @internal\r\n */\r\nexport interface Gltf1Node extends GltfChildOfRootProperty, GltfNodeBaseProps {\r\n /** The Ids of the [[GltfMesh]]es to be rendered by this node.\r\n * @note The spec defines this as an array of strings, but the original implementation of [[GltfReader]] was written to treat it as a string instead.\r\n * In case this was because of non-spec-compliant glTF that placed a string here instead of an array, either is permitted.\r\n */\r\n meshes?: GltfId[] | string;\r\n mesh?: never;\r\n /** Currently ignored. */\r\n jointName?: GltfId;\r\n /** Currently ignored. */\r\n skeletons?: GltfId[];\r\n}\r\n\r\n/** glTF 2.0 representation of a [[GltfNode]]. Unlike a [[Gltf1Node]], a Gltf2Node may refer to at most one [[GltfMesh]].\r\n * @internal\r\n */\r\nexport interface Gltf2Node extends GltfChildOfRootProperty, GltfNodeBaseProps {\r\n /** The Id of the [[GltfMesh]] to be rendered by this node. */\r\n mesh?: GltfId;\r\n meshes?: never;\r\n /** Morph targets - currently ignored. */\r\n weights?: number[];\r\n extensions?: GltfExtensions & {\r\n /** The [EXT_mesh_gpu_instancing](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/README.md) extension permits multiple\r\n * instances of the same mesh to be rendered with different translation, rotation, and/or scale.\r\n * All of the attribute accessors must have the same count (which indicates the number of instances to be drawn).\r\n * All attributes are optional (though omitting all of them would be silly).\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EXT_mesh_gpu_instancing?: {\r\n attributes?: {\r\n /** VEC3; FLOAT */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n TRANSLATION?: GltfId;\r\n /** VEC4 (quaternion); FLOAT, normalized BYTE, or normalized SHORT */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n ROTATION?: GltfId;\r\n /** VEC3; FLOAT */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n SCALE?: GltfId;\r\n };\r\n };\r\n };\r\n}\r\n\r\n/** Describes a node in a [[GltfScene]]. Each node may be associated with zero, one (glTF 2.0), or any number of (glTF 1.0) [[GltfMesh]]es.\r\n * Each node may define a transform. Each node may have any number of child nodes. A child node's transform is multiplied by its parent node's transform.\r\n * Some nodes may be associated with other types of data like cameras, skins, lights, etc - these types of data are currently unsupported.\r\n * Rendering a node means rendering its meshes and the meshes of all of its descendants, with transforms applied.\r\n * @internal\r\n */\r\nexport type GltfNode = Gltf1Node | Gltf2Node;\r\n\r\n/** Get the Ids of the meshes associated with a node.\r\n * @internal\r\n */\r\nexport function getGltfNodeMeshIds(node: GltfNode): GltfId[] {\r\n if (undefined !== node.meshes)\r\n return typeof node.meshes === \"string\" ? [node.meshes] : node.meshes;\r\n else if (undefined !== node.mesh)\r\n return [node.mesh];\r\n\r\n return [];\r\n}\r\n\r\n/** @internal */\r\nexport function * traverseGltfNodes(ids: Iterable<GltfId>, nodes: GltfDictionary<GltfNode>, traversed: Set<GltfId>): Iterable<GltfNode> {\r\n for (const id of ids) {\r\n if (traversed.has(id))\r\n throw new Error(\"Cycle detected while traversing glTF nodes\");\r\n\r\n const node = nodes[id];\r\n if (!node)\r\n continue;\r\n\r\n traversed.add(id);\r\n yield node;\r\n if (node.children)\r\n for (const child of traverseGltfNodes(node.children, nodes, traversed))\r\n yield child;\r\n }\r\n}\r\n\r\n/** Describes a scene graph that composes any number of [[GltfNode]]s to produce a rendering of the [[GltfDocument]] asset.\r\n * An asset may define any number of scenes; the default scene is specified by [[Gltf.scene]].\r\n * @internal\r\n */\r\nexport interface GltfScene extends GltfChildOfRootProperty {\r\n /** The Ids of the nodes comprising the scene graph. */\r\n nodes?: GltfId[];\r\n}\r\n\r\n/** Provides metadata about a [[GltfDocument]] asset.\r\n * @internal\r\n */\r\nexport interface GltfAsset extends GltfProperty {\r\n /** A copyright message suitable for display to credit the content creator. */\r\n copyright?: string;\r\n /** The name of the tool that generated the asset. */\r\n generator?: string;\r\n /** The glTF version targeted by the asset, in the form \"major.minor\" where \"major\" and \"minor\" are integers. */\r\n version: string;\r\n /** The minimum glTF version required to properly load this asset, in the same form as [[version]].\r\n * This minimum version must be no greater than [[version]].\r\n */\r\n minVersion?: string;\r\n}\r\n\r\n/** Describes an image such as one used for a [[GltfTexture]]. The image may be referenced by a [[uri]] or a [[bufferView]].\r\n * @internal\r\n */\r\nexport interface GltfImage extends GltfChildOfRootProperty {\r\n /** URI from which the image data can be obtained, either as a base-64-encoded data URI or an external resource.\r\n * Mutually exclusive with [[bufferView]].\r\n */\r\n uri?: string;\r\n /** The image's media type. This property is required if [[bufferView]] is defined. */\r\n mimeType?: \"image/jpeg\" | \"image/png\";\r\n /** The Id of the [[GltfBufferViewProps]] containing the image data. Mutually exclusive with [[uri]]. */\r\n bufferView?: GltfId;\r\n extensions?: GltfExtensions & {\r\n /** The [KHR_binary_glTF](https://github.com/KhronosGroup/glTF/tree/main/extensions/1.0/Khronos/KHR_binary_glTF) allows an image to\r\n * be embedded in a binary chunk appended to the glTF asset's JSON, instead of being referenced by an external URI.\r\n * This is superseded in glTF 2.0 by support for the glb file format specification.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_binary_glTF?: {\r\n /** The Id of the [[GltfBufferViewProps]] that contains the binary image data. */\r\n bufferView?: GltfId;\r\n /** Required - @see [[GltfImage.mimeType]]. */\r\n mimeType?: string;\r\n };\r\n };\r\n}\r\n\r\n/** Describes a reference to a [[GltfTexture]]. @internal */\r\nexport interface GltfTextureInfo extends GltfProperty {\r\n /** The Id of the [[GltfTexture]]. */\r\n index: GltfId;\r\n /** The set index of the texture's TEXCOORD attribute used for texture coordinate mapping.\r\n * For example, if `texCoord` is `2`, an attribute named `TEXCOORD_2` must exist containing the texture coordinates.\r\n * Default: 0.\r\n */\r\n texCoord?: number;\r\n}\r\n\r\n/** Describes a texture and its sampler.\r\n * @internal\r\n */\r\nexport interface GltfTexture extends GltfChildOfRootProperty {\r\n /** The Id of the [[GltfSampler]] used by this texture.\r\n * If undefined, a sampler with repeat wrapping and auto filtering should be used by default.\r\n */\r\n sampler?: GltfId;\r\n /** The Id of the [[GltfImage]] used by this texture.\r\n * If undefined, an extension or other mechanism should supply an alternate image source - otherwise, the behavior is undefined.\r\n */\r\n source?: GltfId;\r\n}\r\n\r\n/** Describes the filtering and wrapping behavior to be applied to a [[GltfTexture]].\r\n * @note The implementation currently does not support MirroredRepeat and does not support different wrapping for U and V;\r\n * effectively, unless `wrapS` or `wrapT` is set to ClampToEdge, the sampler will use GltfWrapMode.Repeat.\r\n * @internal\r\n */\r\nexport interface GltfSampler extends GltfChildOfRootProperty {\r\n /** Magnification filter. */\r\n magFilter?: GltfMagFilter;\r\n /** Minification filter. */\r\n minFilter?: GltfMinFilter;\r\n /** S (U) wrapping mode. Default: Repeat. */\r\n wrapS?: GltfWrapMode;\r\n /** T (V) wrapping mode. Default: Repeat. */\r\n wrapT?: GltfWrapMode;\r\n}\r\n\r\n/** GL states that can be enabled by a [[GltfTechnique]]. Only those queried by this implementation are enumerated.\r\n * @internal\r\n */\r\nexport enum GltfTechniqueState {\r\n /** Enables alpha blending. */\r\n Blend = 3042,\r\n}\r\n\r\n/** For glTF 1.0 only, describes shader programs and shader state associated with a [[Gltf1Material]], used to render meshes associated with the material.\r\n * This implementation uses it strictly to identify techniques that require alpha blending.\r\n * @internal\r\n */\r\nexport interface GltfTechnique extends GltfChildOfRootProperty {\r\n /** GL render states to be applied by the technique. */\r\n states?: {\r\n /** An array of integers corresponding to boolean GL states that should be enabled using GL's `enable` function.\r\n * For example, the value [[GltfTechniqueState.Blend]] (3042) indicates that blending should be enabled.\r\n */\r\n enable?: GltfTechniqueState[];\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface Gltf1Material extends GltfChildOfRootProperty {\r\n diffuse?: string;\r\n emission?: number[];\r\n shininess?: number;\r\n specular?: number[];\r\n technique?: GltfId;\r\n values?: {\r\n texStep?: number[];\r\n color?: number[];\r\n tex?: number | string;\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfMaterialPbrMetallicRoughness extends GltfProperty {\r\n // Default [1,1,1,1]\r\n baseColorFactor?: number[];\r\n baseColorTexture?: GltfTextureInfo;\r\n // Default 1\r\n metallicFactor?: number;\r\n // Default 1\r\n roughnessFactor?: number;\r\n metallicRoughnessTexture?: GltfTextureInfo;\r\n}\r\n\r\n/** @internal */\r\nexport type GltfAlphaMode = \"OPAQUE\" | \"MASK\" | \"BLEND\";\r\n\r\n/** @internal */\r\nexport interface Gltf2Material extends GltfChildOfRootProperty {\r\n pbrMetallicRoughness?: GltfMaterialPbrMetallicRoughness;\r\n normalTexture?: GltfTextureInfo;\r\n occlusionTexture?: unknown;\r\n emissiveTexture?: GltfTextureInfo;\r\n emissiveFactor?: number[];\r\n // Default OPAQUE\r\n alphaMode?: GltfAlphaMode;\r\n // Default 0.5. Ignored unless alphaMode=MASK\r\n alphaCutoff?: number;\r\n doubleSided?: boolean;\r\n extensions?: GltfExtensions & {\r\n /** The [KHR_materials_unlit](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_unlit) extension\r\n * indicates that the material should be displayed without lighting. The extension adds no additional properties; it is effectively a boolean flag.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_materials_unlit?: { };\r\n /** The [KHR_techniques_webgl extension](https://github.com/KhronosGroup/glTF/blob/c1c12bd100e88ff468ccef1cb88cfbec56a69af2/extensions/2.0/Khronos/KHR_techniques_webgl/README.md)\r\n * allows \"techniques\" to be associated with [[GltfMaterial]]s. Techniques can supply custom shader programs to render geometry; this was a core feature of glTF 1.0 (see [[GltfTechnique]]).\r\n * Here, it is only used to extract uniform values.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_techniques_webgl?: {\r\n technique?: number;\r\n // An object containing uniform values. Each property name corresponds to a uniform in the material's technique and must conform to that uniform's type and count properties.\r\n // A handful of uniforms referenced in this implementation by name are defined below.\r\n values?: {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n u_texStep?: number[];\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n u_color?: number[];\r\n // Diffuse texture.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n u_diffuse?: { index: number, texCoord: number };\r\n [k: string]: unknown;\r\n };\r\n };\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport type GltfMaterial = Gltf1Material | Gltf2Material;\r\n\r\n/** @internal */\r\nexport function isGltf1Material(material: GltfMaterial): material is Gltf1Material {\r\n const mat1 = material as Gltf1Material;\r\n return undefined !== mat1.technique || undefined !== mat1.values;\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfBuffer extends GltfChildOfRootProperty {\r\n uri?: string;\r\n byteLength?: number;\r\n extensions?: GltfExtensions & {\r\n // https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md\r\n EXT_meshopt_compression?: { // eslint-disable-line @typescript-eslint/naming-convention\r\n fallback?: boolean;\r\n };\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport type ExtMeshoptCompressionMode = \"ATTRIBUTES\" | \"TRIANGLES\" | \"INDICES\";\r\n\r\n/** @internal */\r\nexport type ExtMeshoptCompressionFilter = \"NONE\" | \"OCTAHEDRAL\" | \"QUATERNION\";\r\n\r\n/** https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md\r\n * @internal\r\n*/\r\nexport interface GltfBufferViewMeshoptCompressionExtension {\r\n buffer: number;\r\n byteOffset?: number;\r\n byteLength: number;\r\n byteStride: number;\r\n count: number;\r\n mode: ExtMeshoptCompressionMode;\r\n filter?: ExtMeshoptCompressionFilter;\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfBufferViewProps extends GltfChildOfRootProperty {\r\n buffer: GltfId;\r\n byteLength?: number;\r\n byteOffset?: number;\r\n byteStride?: number;\r\n target?: GltfBufferTarget;\r\n extensions?: GltfExtensions & {\r\n EXT_meshopt_compression?: GltfBufferViewMeshoptCompressionExtension; // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfAccessor extends GltfChildOfRootProperty {\r\n bufferView?: GltfId;\r\n byteOffset?: number;\r\n componentType?: GltfDataType.SignedByte | GltfDataType.UnsignedByte | GltfDataType.SignedShort | GltfDataType.UnsignedShort | GltfDataType.UInt32 | GltfDataType.Float;\r\n normalized?: boolean;\r\n count: number;\r\n type: \"SCALAR\" | \"VEC2\" | \"VEC3\" | \"VEC4\" | \"MAT2\" | \"MAT3\" | \"MAT4\";\r\n max?: number[];\r\n min?: number[];\r\n sparse?: unknown; // ###TODO sparse accessors\r\n extensions?: GltfExtensions & {\r\n /** Quantized attributes for glTF 1.0. Superceded by KHR_mesh_quantization. */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n WEB3D_quantized_attributes?: {\r\n decodedMin: number[];\r\n decodedMax: number[];\r\n /** Currently ignored. */\r\n decodeMatrix: number[];\r\n };\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport namespace GltfStructuralMetadata {\r\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\r\n export type ClassPropertyType = \"SCALAR\" | \"STRING\" | \"BOOLEAN\" | \"ENUM\" | \"VEC2\" | \"VEC3\" | \"VEC4\" | \"MAT2\" | \"MAT3\" | \"MAT4\" | string;\r\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\r\n export type ClassPropertyComponentType = \"INT8\" | \"UINT8\" | \"INT16\" | \"UINT16\" | \"INT32\" | \"UINT32\" | \"INT64\" | \"UINT64\" | \"FLOAT32\" | \"FLOAT64\" | string;\r\n\r\n // Ignoring VECN and MATN types because they complicate offset, scale, min, and max, all of which are otherwise only relevant to SCALAR in which case they're all just numbers.\r\n export interface ClassProperty extends GltfProperty {\r\n type: ClassPropertyType;\r\n name?: string;\r\n description?: string;\r\n componentType?: ClassPropertyComponentType;\r\n enumType?: string;\r\n array?: boolean;\r\n count?: number;\r\n normalized?: boolean;\r\n offset?: number;\r\n scale?: number;\r\n min?: number;\r\n max?: number;\r\n required?: boolean;\r\n noData?: unknown;\r\n default?: unknown;\r\n semantic?: string;\r\n }\r\n\r\n export interface EnumValue extends GltfProperty {\r\n name: string;\r\n value: number; // an integer\r\n description?: string;\r\n }\r\n\r\n export interface Enum extends GltfProperty {\r\n values: EnumValue[];\r\n // Default: UINT16\r\n valueType?: \"INT8\" | \"UINT8\" | \"INT16\" | \"UINT16\" | \"INT32\" | \"UINT32\" | \"INT64\" | \"UINT64\" | string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\r\n name?: string;\r\n description?: string;\r\n }\r\n\r\n export interface Class extends GltfProperty {\r\n name?: string;\r\n description?: string;\r\n properties?: {\r\n [propertyId: string]: ClassProperty | undefined;\r\n };\r\n }\r\n\r\n export interface Schema extends GltfProperty {\r\n id: string;\r\n name?: string;\r\n description?: string;\r\n version?: string;\r\n classes?: Class[];\r\n enums?: Enum[];\r\n }\r\n\r\n // Ignoring VECN and MATN types because they complicate offset, scale, min, and max, all of which are otherwise only relevant to SCALAR in which case they're all just numbers.\r\n export interface PropertyTableProperty extends GltfProperty {\r\n values: GltfId;\r\n arrayOffsets?: GltfId;\r\n stringOffsets?: GltfId;\r\n arrayOffsetType?: \"UINT8\" | \"UINT16\" | \"UINT32\" | \"UINT64\" | string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\r\n stringOffsetType?: \"UINT8\" | \"UINT16\" | \"UINT32\" | \"UINT64\" | string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\r\n offset?: number;\r\n scale?: number;\r\n min?: number;\r\n max?: number;\r\n }\r\n\r\n export interface PropertyTable {\r\n class: string;\r\n count: number;\r\n properties?: {\r\n [propertyId: string]: PropertyTableProperty | undefined;\r\n };\r\n }\r\n\r\n export interface Extension extends GltfProperty {\r\n // Exactly one of schema or schemaUri must be present.\r\n schemaUri?: string;\r\n schema?: Schema;\r\n propertyTables?: PropertyTable[];\r\n propertyTextures?: unknown;\r\n propertyAttributes?: unknown;\r\n }\r\n}\r\n\r\n/** Describes the top-level structure of a glTF asset.\r\n * This interface, along with all of the related Gltf* types defined in this file, is primarily based upon the [official glTF 2.0 specification](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html).\r\n * However, it can also represent a [glTF 1.0](https://github.com/KhronosGroup/glTF/tree/main/specification/1.0#reference-node) asset.\r\n * Some types are combined. For example, the top-level dictionaries in glTF 1.0 are objects, while in glTF 2.0 they are arrays; the GltfDictionary interface supports accessing\r\n * items using either strings or numeric indexes represented by [[GltfId]].\r\n * For types that differ significantly between the two specs, Gltf1* and Gltf2* versions are defined (e.g., GltfMaterial is a union of Gltf1Material and Gltf2Material).\r\n * These interfaces also accommodate some deviations from both specs that are known to exist in the wild.\r\n * Most aspects of the specifications that are not implemented here are omitted (e.g., skinning, animations).\r\n * @internal\r\n */\r\nexport interface GltfDocument extends GltfProperty {\r\n /** Metadata about the glTF asset.\r\n * @note This property is required in glTF 2.0, but optional in 1.0.\r\n */\r\n asset?: GltfAsset;\r\n /** The Id of the default [[GltfScene]] in [[scenes]]. */\r\n scene?: GltfId;\r\n extensions?: GltfExtensions & {\r\n /** The [CESIUM_RTC extension](https://github.com/KhronosGroup/glTF/blob/main/extensions/1.0/Vendor/CESIUM_RTC/README.md) defines a centroid\r\n * relative to which all coordinates in the asset are defined, to reduce floating-point precision errors for large coordinates.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n CESIUM_RTC?: {\r\n center?: number[];\r\n };\r\n /** The [KHR_techniques_webgl extension](https://github.com/KhronosGroup/glTF/blob/c1c12bd100e88ff468ccef1cb88cfbec56a69af2/extensions/2.0/Khronos/KHR_techniques_webgl/README.md)\r\n * allows \"techniques\" to be associated with [[GltfMaterial]]s. Techniques can supply custom shader programs to render geometry; this was a core feature of glTF 1.0 (see [[GltfTechnique]]).\r\n * Here, it is only used to extract uniform values.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_techniques_webgl?: {\r\n techniques?: Array<{\r\n uniforms?: {\r\n [key: string]: { type: GltfDataType, value?: any } | undefined;\r\n };\r\n }>;\r\n };\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EXT_structural_metadata?: GltfStructuralMetadata.Extension;\r\n };\r\n /** Names of glTF extensions used in the asset. */\r\n extensionsUsed?: string[];\r\n /** Names of glTF extensions required to properly load the asset. */\r\n extensionsRequired?: string[];\r\n accessors?: GltfDictionary<GltfAccessor>;\r\n /** Not currently supported. */\r\n animations?: GltfDictionary<any>;\r\n buffers?: GltfDictionary<GltfBuffer>;\r\n bufferViews?: GltfDictionary<GltfBufferViewProps>;\r\n /** Not currently used. */\r\n cameras?: GltfDictionary<any>;\r\n images?: GltfDictionary<GltfImage>;\r\n materials?: GltfDictionary<GltfMaterial>;\r\n meshes?: GltfDictionary<GltfMesh>;\r\n nodes?: GltfDictionary<GltfNode>;\r\n samplers?: GltfDictionary<GltfSampler>;\r\n scenes?: GltfDictionary<GltfScene>;\r\n /** Not currently supported. */\r\n skins?: GltfDictionary<any>;\r\n textures?: GltfDictionary<GltfTexture>;\r\n /** For glTF 1.0 only, techniques associated with [[Gltf1Material]]s. */\r\n techniques?: GltfDictionary<GltfTechnique>;\r\n}\r\n"]}
1
+ {"version":3,"file":"GltfSchema.js","sourceRoot":"","sources":["../../../../src/common/gltf/GltfSchema.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\n/** Enumerates the types of [[GltfMeshPrimitive]] topologies.\r\n * @internal\r\n */\r\nexport enum GltfMeshMode {\r\n Points = 0,\r\n Lines = 1,\r\n LineStrip = 3,\r\n Triangles = 4,\r\n /** Not currently supported. */\r\n TriangleStrip = 5,\r\n /** Not currently supported. */\r\n TriangleFan = 6,\r\n}\r\n\r\n/** Enumerates the basic data types supported by accessors, material values, technique uniforms, etc.\r\n * @internal\r\n */\r\nexport enum GltfDataType {\r\n SignedByte = 0x1400,\r\n UnsignedByte = 0x1401,\r\n SignedShort = 5122,\r\n UnsignedShort = 5123,\r\n UInt32 = 5125,\r\n Float = 5126,\r\n Rgb = 6407,\r\n Rgba = 6408,\r\n IntVec2 = 0x8b53,\r\n IntVec3 = 0x8b54,\r\n FloatVec2 = 35664,\r\n FloatVec3 = 35665,\r\n FloatVec4 = 35666,\r\n FloatMat3 = 35675,\r\n FloatMat4 = 35676,\r\n Sampler2d = 35678,\r\n}\r\n\r\n/** @internal */\r\nexport enum GltfMagFilter {\r\n Nearest = 9728,\r\n Linear = 9729,\r\n}\r\n\r\n/** @internal */\r\nexport enum GltfMinFilter {\r\n Nearest = GltfMagFilter.Nearest,\r\n Linear = GltfMagFilter.Linear,\r\n NearestMipMapNearest = 9984,\r\n LinearMipMapNearest = 9985,\r\n NearestMipMapLinear = 9986,\r\n LinearMipMapLinear = 9987,\r\n}\r\n\r\n/** Describes how texture coordinates outside of the range [0..1] are handled.\r\n * @internal\r\n */\r\nexport enum GltfWrapMode {\r\n ClampToEdge = 33071,\r\n MirroredRepeat = 33648,\r\n Repeat = 10497,\r\n}\r\n\r\n/** Describes the intended target of a [[GltfBufferViewProps]].\r\n * @internal\r\n */\r\nexport enum GltfBufferTarget {\r\n ArrayBuffer = 34962,\r\n ElementArrayBuffer = 24963,\r\n}\r\n\r\n/** The type used to refer to an entry in a GltfDictionary in a glTF 1.0 asset. @internal */\r\nexport type Gltf1Id = string;\r\n/** The type used to refer to an entry in a GltfDictionary in a glTF 2.0 asset. @internal */\r\nexport type Gltf2Id = number;\r\n/** The type used to refer to an entry in a GltfDictionary. @internal */\r\nexport type GltfId = Gltf1Id | Gltf2Id;\r\n\r\n/** A collection of resources of some type defined at the top-level of a [[GltfDocument]].\r\n * In glTF 1.0, these are defined as objects; each resource is referenced and accessed by its string key.\r\n * In glTF 2.0, these are defined as arrays; each resource is referenced and accessed by its integer array index.\r\n * @internal\r\n */\r\nexport interface GltfDictionary<T extends GltfChildOfRootProperty> {\r\n [key: GltfId]: T | undefined;\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfStringMap<T> {\r\n [key: string]: T | undefined;\r\n}\r\n\r\n/** Iterate the contents of a [[GltfDictionary]].\r\n * @internal\r\n */\r\nexport function * gltfDictionaryIterator<T extends GltfChildOfRootProperty>(dict: GltfDictionary<T>): Iterable<T> {\r\n if (Array.isArray(dict)) {\r\n for (const elem of dict)\r\n yield elem;\r\n } else {\r\n for (const key of Object.keys(dict)) {\r\n const value = dict[key];\r\n if (undefined !== value)\r\n yield value;\r\n }\r\n }\r\n}\r\n\r\n/** Optional extensions applied to a [[GltfProperty]] to enable behavior not defined in the core specification.\r\n * @internal\r\n */\r\nexport type GltfExtensions = GltfStringMap<unknown>;\r\n\r\n/** The base interface provided by most objects in a glTF asset, permitting additional data to be associated with the object.\r\n * @internal\r\n */\r\nexport interface GltfProperty {\r\n extensions?: GltfExtensions;\r\n extras?: any;\r\n}\r\n\r\n/** The base interface provided by top-level properties of a [[GltfDocument]].\r\n * @internal\r\n */\r\nexport interface GltfChildOfRootProperty extends GltfProperty {\r\n /** Optional name, strictly for human consumption. */\r\n name?: string;\r\n}\r\n\r\n/** @internal */\r\nexport interface DracoMeshCompression {\r\n bufferView: GltfId;\r\n // TEXCOORD_0, POSITION, etc\r\n attributes: GltfStringMap<number>;\r\n}\r\n\r\n/** @internal */\r\nexport interface MeshFeature extends GltfProperty {\r\n featureCount: number;\r\n nullFeatureId?: number;\r\n label?: string;\r\n propertyTable?: number;\r\n texture?: unknown;\r\n attribute?: number;\r\n}\r\n\r\n/** @internal */\r\nexport interface MeshFeatures {\r\n featureIds: MeshFeature[];\r\n}\r\n\r\n/** A unit of geometry belonging to a [[GltfMesh]]. @internal */\r\nexport interface GltfMeshPrimitive extends GltfProperty {\r\n /** Maps the name of each mesh attribute semantic to the Id of the [[GltfAccessor]] providing the attribute's data. */\r\n attributes: GltfStringMap<GltfId>;\r\n /** The Id of the [[GltfAccessor]] providing the vertex indices. */\r\n indices?: GltfId;\r\n /** The Id of the [[GltfMaterial]] to apply to the primitive when rendering. */\r\n material?: GltfId;\r\n /** The primitive topology type. */\r\n mode?: GltfMeshMode;\r\n /** Morph targets - currently unsupported. */\r\n targets?: GltfStringMap<GltfId>;\r\n extensions?: GltfExtensions & {\r\n /** The [CESIUM_primitive_outline](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/CESIUM_primitive_outline) extension\r\n * describes how to draw outline edges for a triangle mesh.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n CESIUM_primitive_outline?: {\r\n /** The Id of the [[GltfBufferViewProps]] supplying the endpoints of each edge as indices into the triangle mesh's vertex array.\r\n * The number of indices must be even; each consecutive pair of indices describes one line segment. No connectivity between\r\n * line segments is implied.\r\n */\r\n indices?: GltfId;\r\n };\r\n /** The [KHR_draco_mesh_compression](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md) extension\r\n * allows glTF to support geometry compressed with Draco geometry compression.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_draco_mesh_compression?: DracoMeshCompression;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EXT_mesh_features?: MeshFeatures;\r\n };\r\n}\r\n\r\n/** A collection of [[GltfMeshPrimitive]]s to be rendered. Each mesh is referenced by a node. Multiple nodes can refer to the same mesh.\r\n * The node's transform is applied when rendering the mesh.\r\n * @internal\r\n */\r\nexport interface GltfMesh extends GltfChildOfRootProperty {\r\n /** The collection of primitives to be rendered. */\r\n primitives?: GltfMeshPrimitive[];\r\n /** For morph targets - currently unsupported. */\r\n weights?: number[];\r\n}\r\n\r\n/** Properties common to [[Gltf1Node]] and [[Gltf2Node]]. @internal */\r\nexport interface GltfNodeBaseProps {\r\n /** The Ids of the child nodes. @see [[GltfNode]]. */\r\n children?: GltfId[];\r\n /** Currently ignored. */\r\n camera?: GltfId;\r\n /** Currently ignored. */\r\n skin?: GltfId;\r\n /** A 4x4 column-major transformation matrix. Mutually exclusive with [[rotation]], [[scale]], and [[translation]]. */\r\n matrix?: number[];\r\n /** Unit quaternion as [x, y, z, w], where w is the scalar. */\r\n rotation?: [number, number, number, number];\r\n /** Non-uniform scale as [x, y, z]. */\r\n scale?: [number, number, number];\r\n /** Translation as [x, y, z]. */\r\n translation?: [number, number, number];\r\n}\r\n\r\n/** glTF 1.0 representation of a [[GltfNode]]. Unlike a [[Gltf2Node]], a Gltf1Node may refer to any number of [[GltfMesh]]es.\r\n * @internal\r\n */\r\nexport interface Gltf1Node extends GltfChildOfRootProperty, GltfNodeBaseProps {\r\n /** The Ids of the [[GltfMesh]]es to be rendered by this node.\r\n * @note The spec defines this as an array of strings, but the original implementation of [[GltfReader]] was written to treat it as a string instead.\r\n * In case this was because of non-spec-compliant glTF that placed a string here instead of an array, either is permitted.\r\n */\r\n meshes?: GltfId[] | string;\r\n mesh?: never;\r\n /** Currently ignored. */\r\n jointName?: GltfId;\r\n /** Currently ignored. */\r\n skeletons?: GltfId[];\r\n}\r\n\r\n/** glTF 2.0 representation of a [[GltfNode]]. Unlike a [[Gltf1Node]], a Gltf2Node may refer to at most one [[GltfMesh]].\r\n * @internal\r\n */\r\nexport interface Gltf2Node extends GltfChildOfRootProperty, GltfNodeBaseProps {\r\n /** The Id of the [[GltfMesh]] to be rendered by this node. */\r\n mesh?: GltfId;\r\n meshes?: never;\r\n /** Morph targets - currently ignored. */\r\n weights?: number[];\r\n extensions?: GltfExtensions & {\r\n /** The [EXT_mesh_gpu_instancing](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/README.md) extension permits multiple\r\n * instances of the same mesh to be rendered with different translation, rotation, and/or scale.\r\n * All of the attribute accessors must have the same count (which indicates the number of instances to be drawn).\r\n * All attributes are optional (though omitting all of them would be silly).\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EXT_mesh_gpu_instancing?: {\r\n attributes?: {\r\n /** VEC3; FLOAT */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n TRANSLATION?: GltfId;\r\n /** VEC4 (quaternion); FLOAT, normalized BYTE, or normalized SHORT */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n ROTATION?: GltfId;\r\n /** VEC3; FLOAT */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n SCALE?: GltfId;\r\n };\r\n };\r\n /** The [EXT_instance_features](https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_instance_features/README.md)\r\n * extension permits assigning identifiers to individual instances of a mesh, which can be used to look up per-instance data in a property table.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EXT_instance_features?: {\r\n featureIds: {\r\n attribute?: number;\r\n featureCount: number;\r\n label?: string;\r\n nullFeatureId?: number;\r\n propertyTable: number;\r\n }[];\r\n };\r\n };\r\n}\r\n\r\n/** Describes a node in a [[GltfScene]]. Each node may be associated with zero, one (glTF 2.0), or any number of (glTF 1.0) [[GltfMesh]]es.\r\n * Each node may define a transform. Each node may have any number of child nodes. A child node's transform is multiplied by its parent node's transform.\r\n * Some nodes may be associated with other types of data like cameras, skins, lights, etc - these types of data are currently unsupported.\r\n * Rendering a node means rendering its meshes and the meshes of all of its descendants, with transforms applied.\r\n * @internal\r\n */\r\nexport type GltfNode = Gltf1Node | Gltf2Node;\r\n\r\n/** Get the Ids of the meshes associated with a node.\r\n * @internal\r\n */\r\nexport function getGltfNodeMeshIds(node: GltfNode): GltfId[] {\r\n if (undefined !== node.meshes)\r\n return typeof node.meshes === \"string\" ? [node.meshes] : node.meshes;\r\n else if (undefined !== node.mesh)\r\n return [node.mesh];\r\n\r\n return [];\r\n}\r\n\r\n/** @internal */\r\nexport function * traverseGltfNodes(ids: Iterable<GltfId>, nodes: GltfDictionary<GltfNode>, traversed: Set<GltfId>): Iterable<GltfNode> {\r\n for (const id of ids) {\r\n if (traversed.has(id))\r\n throw new Error(\"Cycle detected while traversing glTF nodes\");\r\n\r\n const node = nodes[id];\r\n if (!node)\r\n continue;\r\n\r\n traversed.add(id);\r\n yield node;\r\n if (node.children)\r\n for (const child of traverseGltfNodes(node.children, nodes, traversed))\r\n yield child;\r\n }\r\n}\r\n\r\n/** Describes a scene graph that composes any number of [[GltfNode]]s to produce a rendering of the [[GltfDocument]] asset.\r\n * An asset may define any number of scenes; the default scene is specified by [[Gltf.scene]].\r\n * @internal\r\n */\r\nexport interface GltfScene extends GltfChildOfRootProperty {\r\n /** The Ids of the nodes comprising the scene graph. */\r\n nodes?: GltfId[];\r\n}\r\n\r\n/** Provides metadata about a [[GltfDocument]] asset.\r\n * @internal\r\n */\r\nexport interface GltfAsset extends GltfProperty {\r\n /** A copyright message suitable for display to credit the content creator. */\r\n copyright?: string;\r\n /** The name of the tool that generated the asset. */\r\n generator?: string;\r\n /** The glTF version targeted by the asset, in the form \"major.minor\" where \"major\" and \"minor\" are integers. */\r\n version: string;\r\n /** The minimum glTF version required to properly load this asset, in the same form as [[version]].\r\n * This minimum version must be no greater than [[version]].\r\n */\r\n minVersion?: string;\r\n}\r\n\r\n/** Describes an image such as one used for a [[GltfTexture]]. The image may be referenced by a [[uri]] or a [[bufferView]].\r\n * @internal\r\n */\r\nexport interface GltfImage extends GltfChildOfRootProperty {\r\n /** URI from which the image data can be obtained, either as a base-64-encoded data URI or an external resource.\r\n * Mutually exclusive with [[bufferView]].\r\n */\r\n uri?: string;\r\n /** The image's media type. This property is required if [[bufferView]] is defined. */\r\n mimeType?: \"image/jpeg\" | \"image/png\";\r\n /** The Id of the [[GltfBufferViewProps]] containing the image data. Mutually exclusive with [[uri]]. */\r\n bufferView?: GltfId;\r\n extensions?: GltfExtensions & {\r\n /** The [KHR_binary_glTF](https://github.com/KhronosGroup/glTF/tree/main/extensions/1.0/Khronos/KHR_binary_glTF) allows an image to\r\n * be embedded in a binary chunk appended to the glTF asset's JSON, instead of being referenced by an external URI.\r\n * This is superseded in glTF 2.0 by support for the glb file format specification.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_binary_glTF?: {\r\n /** The Id of the [[GltfBufferViewProps]] that contains the binary image data. */\r\n bufferView?: GltfId;\r\n /** Required - @see [[GltfImage.mimeType]]. */\r\n mimeType?: string;\r\n };\r\n };\r\n}\r\n\r\n/** Describes a reference to a [[GltfTexture]]. @internal */\r\nexport interface GltfTextureInfo extends GltfProperty {\r\n /** The Id of the [[GltfTexture]]. */\r\n index: GltfId;\r\n /** The set index of the texture's TEXCOORD attribute used for texture coordinate mapping.\r\n * For example, if `texCoord` is `2`, an attribute named `TEXCOORD_2` must exist containing the texture coordinates.\r\n * Default: 0.\r\n */\r\n texCoord?: number;\r\n}\r\n\r\n/** Describes a texture and its sampler.\r\n * @internal\r\n */\r\nexport interface GltfTexture extends GltfChildOfRootProperty {\r\n /** The Id of the [[GltfSampler]] used by this texture.\r\n * If undefined, a sampler with repeat wrapping and auto filtering should be used by default.\r\n */\r\n sampler?: GltfId;\r\n /** The Id of the [[GltfImage]] used by this texture.\r\n * If undefined, an extension or other mechanism should supply an alternate image source - otherwise, the behavior is undefined.\r\n */\r\n source?: GltfId;\r\n}\r\n\r\n/** Describes the filtering and wrapping behavior to be applied to a [[GltfTexture]].\r\n * @note The implementation currently does not support MirroredRepeat and does not support different wrapping for U and V;\r\n * effectively, unless `wrapS` or `wrapT` is set to ClampToEdge, the sampler will use GltfWrapMode.Repeat.\r\n * @internal\r\n */\r\nexport interface GltfSampler extends GltfChildOfRootProperty {\r\n /** Magnification filter. */\r\n magFilter?: GltfMagFilter;\r\n /** Minification filter. */\r\n minFilter?: GltfMinFilter;\r\n /** S (U) wrapping mode. Default: Repeat. */\r\n wrapS?: GltfWrapMode;\r\n /** T (V) wrapping mode. Default: Repeat. */\r\n wrapT?: GltfWrapMode;\r\n}\r\n\r\n/** GL states that can be enabled by a [[GltfTechnique]]. Only those queried by this implementation are enumerated.\r\n * @internal\r\n */\r\nexport enum GltfTechniqueState {\r\n /** Enables alpha blending. */\r\n Blend = 3042,\r\n}\r\n\r\n/** For glTF 1.0 only, describes shader programs and shader state associated with a [[Gltf1Material]], used to render meshes associated with the material.\r\n * This implementation uses it strictly to identify techniques that require alpha blending.\r\n * @internal\r\n */\r\nexport interface GltfTechnique extends GltfChildOfRootProperty {\r\n /** GL render states to be applied by the technique. */\r\n states?: {\r\n /** An array of integers corresponding to boolean GL states that should be enabled using GL's `enable` function.\r\n * For example, the value [[GltfTechniqueState.Blend]] (3042) indicates that blending should be enabled.\r\n */\r\n enable?: GltfTechniqueState[];\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface Gltf1Material extends GltfChildOfRootProperty {\r\n diffuse?: string;\r\n emission?: number[];\r\n shininess?: number;\r\n specular?: number[];\r\n technique?: GltfId;\r\n values?: {\r\n texStep?: number[];\r\n color?: number[];\r\n tex?: number | string;\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfMaterialPbrMetallicRoughness extends GltfProperty {\r\n // Default [1,1,1,1]\r\n baseColorFactor?: number[];\r\n baseColorTexture?: GltfTextureInfo;\r\n // Default 1\r\n metallicFactor?: number;\r\n // Default 1\r\n roughnessFactor?: number;\r\n metallicRoughnessTexture?: GltfTextureInfo;\r\n}\r\n\r\n/** @internal */\r\nexport type GltfAlphaMode = \"OPAQUE\" | \"MASK\" | \"BLEND\";\r\n\r\n/** @internal */\r\nexport interface Gltf2Material extends GltfChildOfRootProperty {\r\n pbrMetallicRoughness?: GltfMaterialPbrMetallicRoughness;\r\n normalTexture?: GltfTextureInfo;\r\n occlusionTexture?: unknown;\r\n emissiveTexture?: GltfTextureInfo;\r\n emissiveFactor?: number[];\r\n // Default OPAQUE\r\n alphaMode?: GltfAlphaMode;\r\n // Default 0.5. Ignored unless alphaMode=MASK\r\n alphaCutoff?: number;\r\n doubleSided?: boolean;\r\n extensions?: GltfExtensions & {\r\n /** The [KHR_materials_unlit](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_unlit) extension\r\n * indicates that the material should be displayed without lighting. The extension adds no additional properties; it is effectively a boolean flag.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_materials_unlit?: { };\r\n /** The [KHR_techniques_webgl extension](https://github.com/KhronosGroup/glTF/blob/c1c12bd100e88ff468ccef1cb88cfbec56a69af2/extensions/2.0/Khronos/KHR_techniques_webgl/README.md)\r\n * allows \"techniques\" to be associated with [[GltfMaterial]]s. Techniques can supply custom shader programs to render geometry; this was a core feature of glTF 1.0 (see [[GltfTechnique]]).\r\n * Here, it is only used to extract uniform values.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_techniques_webgl?: {\r\n technique?: number;\r\n // An object containing uniform values. Each property name corresponds to a uniform in the material's technique and must conform to that uniform's type and count properties.\r\n // A handful of uniforms referenced in this implementation by name are defined below.\r\n values?: {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n u_texStep?: number[];\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n u_color?: number[];\r\n // Diffuse texture.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n u_diffuse?: { index: number, texCoord: number };\r\n [k: string]: unknown;\r\n };\r\n };\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport type GltfMaterial = Gltf1Material | Gltf2Material;\r\n\r\n/** @internal */\r\nexport function isGltf1Material(material: GltfMaterial): material is Gltf1Material {\r\n const mat1 = material as Gltf1Material;\r\n return undefined !== mat1.technique || undefined !== mat1.values;\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfBuffer extends GltfChildOfRootProperty {\r\n uri?: string;\r\n byteLength?: number;\r\n extensions?: GltfExtensions & {\r\n // https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md\r\n EXT_meshopt_compression?: { // eslint-disable-line @typescript-eslint/naming-convention\r\n fallback?: boolean;\r\n };\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport type ExtMeshoptCompressionMode = \"ATTRIBUTES\" | \"TRIANGLES\" | \"INDICES\";\r\n\r\n/** @internal */\r\nexport type ExtMeshoptCompressionFilter = \"NONE\" | \"OCTAHEDRAL\" | \"QUATERNION\";\r\n\r\n/** https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md\r\n * @internal\r\n*/\r\nexport interface GltfBufferViewMeshoptCompressionExtension {\r\n buffer: number;\r\n byteOffset?: number;\r\n byteLength: number;\r\n byteStride: number;\r\n count: number;\r\n mode: ExtMeshoptCompressionMode;\r\n filter?: ExtMeshoptCompressionFilter;\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfBufferViewProps extends GltfChildOfRootProperty {\r\n buffer: GltfId;\r\n byteLength?: number;\r\n byteOffset?: number;\r\n byteStride?: number;\r\n target?: GltfBufferTarget;\r\n extensions?: GltfExtensions & {\r\n EXT_meshopt_compression?: GltfBufferViewMeshoptCompressionExtension; // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface GltfAccessor extends GltfChildOfRootProperty {\r\n bufferView?: GltfId;\r\n byteOffset?: number;\r\n componentType?: GltfDataType.SignedByte | GltfDataType.UnsignedByte | GltfDataType.SignedShort | GltfDataType.UnsignedShort | GltfDataType.UInt32 | GltfDataType.Float;\r\n normalized?: boolean;\r\n count: number;\r\n type: \"SCALAR\" | \"VEC2\" | \"VEC3\" | \"VEC4\" | \"MAT2\" | \"MAT3\" | \"MAT4\";\r\n max?: number[];\r\n min?: number[];\r\n sparse?: unknown; // ###TODO sparse accessors\r\n extensions?: GltfExtensions & {\r\n /** Quantized attributes for glTF 1.0. Superceded by KHR_mesh_quantization. */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n WEB3D_quantized_attributes?: {\r\n decodedMin: number[];\r\n decodedMax: number[];\r\n /** Currently ignored. */\r\n decodeMatrix: number[];\r\n };\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport namespace GltfStructuralMetadata {\r\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\r\n export type ClassPropertyType = \"SCALAR\" | \"STRING\" | \"BOOLEAN\" | \"ENUM\" | \"VEC2\" | \"VEC3\" | \"VEC4\" | \"MAT2\" | \"MAT3\" | \"MAT4\" | string;\r\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\r\n export type ClassPropertyComponentType = \"INT8\" | \"UINT8\" | \"INT16\" | \"UINT16\" | \"INT32\" | \"UINT32\" | \"INT64\" | \"UINT64\" | \"FLOAT32\" | \"FLOAT64\" | string;\r\n\r\n // Ignoring VECN and MATN types because they complicate offset, scale, min, and max, all of which are otherwise only relevant to SCALAR in which case they're all just numbers.\r\n export interface ClassProperty extends GltfProperty {\r\n type: ClassPropertyType;\r\n name?: string;\r\n description?: string;\r\n componentType?: ClassPropertyComponentType;\r\n enumType?: string;\r\n array?: boolean;\r\n count?: number;\r\n normalized?: boolean;\r\n offset?: number;\r\n scale?: number;\r\n min?: number;\r\n max?: number;\r\n required?: boolean;\r\n noData?: unknown;\r\n default?: unknown;\r\n semantic?: string;\r\n }\r\n\r\n export interface EnumValue extends GltfProperty {\r\n name: string;\r\n value: number; // an integer\r\n description?: string;\r\n }\r\n\r\n export interface Enum extends GltfProperty {\r\n values: EnumValue[];\r\n // Default: UINT16\r\n valueType?: \"INT8\" | \"UINT8\" | \"INT16\" | \"UINT16\" | \"INT32\" | \"UINT32\" | \"INT64\" | \"UINT64\" | string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\r\n name?: string;\r\n description?: string;\r\n }\r\n\r\n export interface Class extends GltfProperty {\r\n name?: string;\r\n description?: string;\r\n properties?: {\r\n [propertyId: string]: ClassProperty | undefined;\r\n };\r\n }\r\n\r\n export interface Schema extends GltfProperty {\r\n id: string;\r\n name?: string;\r\n description?: string;\r\n version?: string;\r\n classes?: {\r\n [classId: string]: Class | undefined;\r\n };\r\n enums?: Enum[];\r\n }\r\n\r\n // Ignoring VECN and MATN types because they complicate offset, scale, min, and max, all of which are otherwise only relevant to SCALAR in which case they're all just numbers.\r\n export interface PropertyTableProperty extends GltfProperty {\r\n values: GltfId;\r\n arrayOffsets?: GltfId;\r\n stringOffsets?: GltfId;\r\n arrayOffsetType?: \"UINT8\" | \"UINT16\" | \"UINT32\" | \"UINT64\" | string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\r\n stringOffsetType?: \"UINT8\" | \"UINT16\" | \"UINT32\" | \"UINT64\" | string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\r\n offset?: number;\r\n scale?: number;\r\n min?: number;\r\n max?: number;\r\n }\r\n\r\n export interface PropertyTable {\r\n class: string;\r\n count: number;\r\n properties?: {\r\n [propertyId: string]: PropertyTableProperty | undefined;\r\n };\r\n }\r\n\r\n export interface Extension extends GltfProperty {\r\n // Exactly one of schema or schemaUri must be present.\r\n schemaUri?: string;\r\n schema?: Schema;\r\n propertyTables?: PropertyTable[];\r\n propertyTextures?: unknown;\r\n propertyAttributes?: unknown;\r\n }\r\n}\r\n\r\n/** Describes the top-level structure of a glTF asset.\r\n * This interface, along with all of the related Gltf* types defined in this file, is primarily based upon the [official glTF 2.0 specification](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html).\r\n * However, it can also represent a [glTF 1.0](https://github.com/KhronosGroup/glTF/tree/main/specification/1.0#reference-node) asset.\r\n * Some types are combined. For example, the top-level dictionaries in glTF 1.0 are objects, while in glTF 2.0 they are arrays; the GltfDictionary interface supports accessing\r\n * items using either strings or numeric indexes represented by [[GltfId]].\r\n * For types that differ significantly between the two specs, Gltf1* and Gltf2* versions are defined (e.g., GltfMaterial is a union of Gltf1Material and Gltf2Material).\r\n * These interfaces also accommodate some deviations from both specs that are known to exist in the wild.\r\n * Most aspects of the specifications that are not implemented here are omitted (e.g., skinning, animations).\r\n * @internal\r\n */\r\nexport interface GltfDocument extends GltfProperty {\r\n /** Metadata about the glTF asset.\r\n * @note This property is required in glTF 2.0, but optional in 1.0.\r\n */\r\n asset?: GltfAsset;\r\n /** The Id of the default [[GltfScene]] in [[scenes]]. */\r\n scene?: GltfId;\r\n extensions?: GltfExtensions & {\r\n /** The [CESIUM_RTC extension](https://github.com/KhronosGroup/glTF/blob/main/extensions/1.0/Vendor/CESIUM_RTC/README.md) defines a centroid\r\n * relative to which all coordinates in the asset are defined, to reduce floating-point precision errors for large coordinates.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n CESIUM_RTC?: {\r\n center?: number[];\r\n };\r\n /** The [KHR_techniques_webgl extension](https://github.com/KhronosGroup/glTF/blob/c1c12bd100e88ff468ccef1cb88cfbec56a69af2/extensions/2.0/Khronos/KHR_techniques_webgl/README.md)\r\n * allows \"techniques\" to be associated with [[GltfMaterial]]s. Techniques can supply custom shader programs to render geometry; this was a core feature of glTF 1.0 (see [[GltfTechnique]]).\r\n * Here, it is only used to extract uniform values.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n KHR_techniques_webgl?: {\r\n techniques?: Array<{\r\n uniforms?: {\r\n [key: string]: { type: GltfDataType, value?: any } | undefined;\r\n };\r\n }>;\r\n };\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EXT_structural_metadata?: GltfStructuralMetadata.Extension;\r\n };\r\n /** Names of glTF extensions used in the asset. */\r\n extensionsUsed?: string[];\r\n /** Names of glTF extensions required to properly load the asset. */\r\n extensionsRequired?: string[];\r\n accessors?: GltfDictionary<GltfAccessor>;\r\n /** Not currently supported. */\r\n animations?: GltfDictionary<any>;\r\n buffers?: GltfDictionary<GltfBuffer>;\r\n bufferViews?: GltfDictionary<GltfBufferViewProps>;\r\n /** Not currently used. */\r\n cameras?: GltfDictionary<any>;\r\n images?: GltfDictionary<GltfImage>;\r\n materials?: GltfDictionary<GltfMaterial>;\r\n meshes?: GltfDictionary<GltfMesh>;\r\n nodes?: GltfDictionary<GltfNode>;\r\n samplers?: GltfDictionary<GltfSampler>;\r\n scenes?: GltfDictionary<GltfScene>;\r\n /** Not currently supported. */\r\n skins?: GltfDictionary<any>;\r\n textures?: GltfDictionary<GltfTexture>;\r\n /** For glTF 1.0 only, techniques associated with [[Gltf1Material]]s. */\r\n techniques?: GltfDictionary<GltfTechnique>;\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Tiles
3
3
  */
4
4
  import { ImdlModel } from "./ImdlModel";
5
- import { VertexIndices } from "../render/primitives/VertexIndices";
5
+ import { VertexIndices } from "../internal/render/VertexIndices";
6
6
  /** Parameters supplied to [[indexedEdgeParamsFromCompactEdges]].
7
7
  * @internal
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CompactEdges.d.ts","sourceRoot":"","sources":["../../../../src/common/imdl/CompactEdges.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,sIAAsI;IACtI,UAAU,EAAE,UAAU,CAAC;IACvB,gEAAgE;IAChE,aAAa,EAAE,aAAa,CAAC;IAC7B,iGAAiG;IACjG,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mEAAmE;IACnE,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA+CD;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,GAAI,SAAS,CA6CtH"}
1
+ {"version":3,"file":"CompactEdges.d.ts","sourceRoot":"","sources":["../../../../src/common/imdl/CompactEdges.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,sIAAsI;IACtI,UAAU,EAAE,UAAU,CAAC;IACvB,gEAAgE;IAChE,aAAa,EAAE,aAAa,CAAC;IAC7B,iGAAiG;IACjG,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mEAAmE;IACnE,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA+CD;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,GAAI,SAAS,CA6CtH"}
@@ -7,8 +7,8 @@
7
7
  */
8
8
  import { assert } from "@itwin/core-bentley";
9
9
  import { ImdlEdgeVisibility } from "./ImdlSchema";
10
- import { calculateEdgeTableParams } from "../render/primitives/EdgeParams";
11
- import { VertexIndices } from "../render/primitives/VertexIndices";
10
+ import { calculateEdgeTableParams } from "../internal/render/EdgeParams";
11
+ import { VertexIndices } from "../internal/render/VertexIndices";
12
12
  /** Iterate over the compact edges.
13
13
  * @note The same object is returned on each iteration, mutated in place.
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CompactEdges.js","sourceRoot":"","sources":["../../../../src/common/imdl/CompactEdges.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { ImdlEdgeVisibility } from \"./ImdlSchema\";\r\nimport { ImdlModel } from \"./ImdlModel\";\r\nimport { calculateEdgeTableParams } from \"../render/primitives/EdgeParams\";\r\nimport { VertexIndices } from \"../render/primitives/VertexIndices\";\r\n\r\n/** Parameters supplied to [[indexedEdgeParamsFromCompactEdges]].\r\n * @internal\r\n */\r\nexport interface CompactEdgeParams {\r\n /** The number of always-visible edges.\r\n * @note The number of silhouette edges is the same as the number of [[normalPairs]].\r\n */\r\n numVisibleEdges: number;\r\n /** 2 bit visibility of each edge to the next edge in the triangle, in the same order as the triangle indices in [[vertexIndices]]. */\r\n visibility: Uint8Array;\r\n /** The indices describing the topology of the triangle mesh. */\r\n vertexIndices: VertexIndices;\r\n /** If any silhouettes are present, the [OctEncodedNormalPair]($common)s associated with each. */\r\n normalPairs?: Uint32Array;\r\n /** The maximum width or height for the resultant [[EdgeTable]]. */\r\n maxEdgeTableDimension: number;\r\n}\r\n\r\ninterface CompactEdge {\r\n index0: number;\r\n index1: number;\r\n normals?: number;\r\n}\r\n\r\n/** Iterate over the compact edges.\r\n * @note The same object is returned on each iteration, mutated in place.\r\n */\r\nfunction * compactEdgeIterator(visibilityFlags: Uint8Array, vertexIndices: VertexIndices, normalPairs: Uint32Array | undefined): IterableIterator<CompactEdge> {\r\n let bitIndex = 0;\r\n let flagsIndex = 0;\r\n let normalIndex = 0;\r\n\r\n const output: CompactEdge = { index0: 0, index1: 1 };\r\n for (let i = 0; i < vertexIndices.length; i++) {\r\n const visibility = (visibilityFlags[flagsIndex] >> bitIndex) & 3;\r\n bitIndex += 2;\r\n if (bitIndex === 8) {\r\n bitIndex = 0;\r\n flagsIndex++;\r\n }\r\n\r\n if (ImdlEdgeVisibility.Hidden === visibility)\r\n continue;\r\n\r\n output.index0 = vertexIndices.decodeIndex(i);\r\n output.index1 = vertexIndices.decodeIndex(i % 3 === 2 ? i - 2 : i + 1);\r\n if (ImdlEdgeVisibility.Silhouette === visibility) {\r\n assert(undefined !== normalPairs);\r\n output.normals = normalPairs[normalIndex++];\r\n } else {\r\n output.normals = undefined;\r\n }\r\n\r\n yield output;\r\n }\r\n}\r\n\r\nfunction setUint24(edgeTable: Uint8Array, byteIndex: number, value: number): void {\r\n edgeTable[byteIndex + 0] = value & 0x0000ff;\r\n edgeTable[byteIndex + 1] = (value & 0x00ff00) >>> 8;\r\n edgeTable[byteIndex + 2] = (value & 0xff0000) >>> 16;\r\n}\r\n\r\n/** Convert an [[ImdlCompactEdges]] to an [[IndexedEdgeParams]].\r\n * @internal\r\n */\r\nexport function indexedEdgeParamsFromCompactEdges(compact: CompactEdgeParams): ImdlModel.IndexedEdgeParams | undefined {\r\n const numSilhouettes = compact.normalPairs?.length ?? 0;\r\n const numTotalEdges = compact.numVisibleEdges + numSilhouettes;\r\n if (numTotalEdges <= 0)\r\n return undefined;\r\n\r\n // Each edge is a quad consisting of six vertices. Each vertex is an identical 24-bit index into the lookup table.\r\n const indices = new VertexIndices(new Uint8Array(numTotalEdges * 6 * 3));\r\n for (let i = 0; i < numTotalEdges; i++)\r\n for (let j = 0; j < 6; j++)\r\n indices.setNthIndex(i * 6 + j, i);\r\n\r\n const {width, height, silhouettePadding, silhouetteStartByteIndex} = calculateEdgeTableParams(compact.numVisibleEdges, numSilhouettes, compact.maxEdgeTableDimension);\r\n const edgeTable = new Uint8Array(width * height * 4);\r\n\r\n let curVisibleIndex = 0;\r\n let curSilhouetteIndex = 0;\r\n for (const edge of compactEdgeIterator(compact.visibility, compact.vertexIndices, compact.normalPairs)) {\r\n if (undefined === edge.normals) {\r\n const index = curVisibleIndex++;\r\n const byteIndex = index * 6;\r\n setUint24(edgeTable, byteIndex, edge.index0);\r\n setUint24(edgeTable, byteIndex + 3, edge.index1);\r\n } else {\r\n const index = curSilhouetteIndex++;\r\n const byteIndex = silhouetteStartByteIndex + silhouettePadding + index * 10;\r\n setUint24(edgeTable, byteIndex, edge.index0);\r\n setUint24(edgeTable, byteIndex + 3, edge.index1);\r\n edgeTable[byteIndex + 6] = edge.normals & 0xff;\r\n edgeTable[byteIndex + 7] = (edge.normals & 0xff00) >>> 8;\r\n edgeTable[byteIndex + 8] = (edge.normals & 0xff0000) >>> 16;\r\n edgeTable[byteIndex + 9] = (edge.normals & 0xff000000) >>> 24;\r\n }\r\n }\r\n\r\n return {\r\n indices: indices.data,\r\n edges: {\r\n data: edgeTable,\r\n width,\r\n height,\r\n numSegments: compact.numVisibleEdges,\r\n silhouettePadding,\r\n },\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"CompactEdges.js","sourceRoot":"","sources":["../../../../src/common/imdl/CompactEdges.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { ImdlEdgeVisibility } from \"./ImdlSchema\";\r\nimport { ImdlModel } from \"./ImdlModel\";\r\nimport { calculateEdgeTableParams } from \"../internal/render/EdgeParams\";\r\nimport { VertexIndices } from \"../internal/render/VertexIndices\";\r\n\r\n/** Parameters supplied to [[indexedEdgeParamsFromCompactEdges]].\r\n * @internal\r\n */\r\nexport interface CompactEdgeParams {\r\n /** The number of always-visible edges.\r\n * @note The number of silhouette edges is the same as the number of [[normalPairs]].\r\n */\r\n numVisibleEdges: number;\r\n /** 2 bit visibility of each edge to the next edge in the triangle, in the same order as the triangle indices in [[vertexIndices]]. */\r\n visibility: Uint8Array;\r\n /** The indices describing the topology of the triangle mesh. */\r\n vertexIndices: VertexIndices;\r\n /** If any silhouettes are present, the [OctEncodedNormalPair]($common)s associated with each. */\r\n normalPairs?: Uint32Array;\r\n /** The maximum width or height for the resultant [[EdgeTable]]. */\r\n maxEdgeTableDimension: number;\r\n}\r\n\r\ninterface CompactEdge {\r\n index0: number;\r\n index1: number;\r\n normals?: number;\r\n}\r\n\r\n/** Iterate over the compact edges.\r\n * @note The same object is returned on each iteration, mutated in place.\r\n */\r\nfunction * compactEdgeIterator(visibilityFlags: Uint8Array, vertexIndices: VertexIndices, normalPairs: Uint32Array | undefined): IterableIterator<CompactEdge> {\r\n let bitIndex = 0;\r\n let flagsIndex = 0;\r\n let normalIndex = 0;\r\n\r\n const output: CompactEdge = { index0: 0, index1: 1 };\r\n for (let i = 0; i < vertexIndices.length; i++) {\r\n const visibility = (visibilityFlags[flagsIndex] >> bitIndex) & 3;\r\n bitIndex += 2;\r\n if (bitIndex === 8) {\r\n bitIndex = 0;\r\n flagsIndex++;\r\n }\r\n\r\n if (ImdlEdgeVisibility.Hidden === visibility)\r\n continue;\r\n\r\n output.index0 = vertexIndices.decodeIndex(i);\r\n output.index1 = vertexIndices.decodeIndex(i % 3 === 2 ? i - 2 : i + 1);\r\n if (ImdlEdgeVisibility.Silhouette === visibility) {\r\n assert(undefined !== normalPairs);\r\n output.normals = normalPairs[normalIndex++];\r\n } else {\r\n output.normals = undefined;\r\n }\r\n\r\n yield output;\r\n }\r\n}\r\n\r\nfunction setUint24(edgeTable: Uint8Array, byteIndex: number, value: number): void {\r\n edgeTable[byteIndex + 0] = value & 0x0000ff;\r\n edgeTable[byteIndex + 1] = (value & 0x00ff00) >>> 8;\r\n edgeTable[byteIndex + 2] = (value & 0xff0000) >>> 16;\r\n}\r\n\r\n/** Convert an [[ImdlCompactEdges]] to an [[IndexedEdgeParams]].\r\n * @internal\r\n */\r\nexport function indexedEdgeParamsFromCompactEdges(compact: CompactEdgeParams): ImdlModel.IndexedEdgeParams | undefined {\r\n const numSilhouettes = compact.normalPairs?.length ?? 0;\r\n const numTotalEdges = compact.numVisibleEdges + numSilhouettes;\r\n if (numTotalEdges <= 0)\r\n return undefined;\r\n\r\n // Each edge is a quad consisting of six vertices. Each vertex is an identical 24-bit index into the lookup table.\r\n const indices = new VertexIndices(new Uint8Array(numTotalEdges * 6 * 3));\r\n for (let i = 0; i < numTotalEdges; i++)\r\n for (let j = 0; j < 6; j++)\r\n indices.setNthIndex(i * 6 + j, i);\r\n\r\n const {width, height, silhouettePadding, silhouetteStartByteIndex} = calculateEdgeTableParams(compact.numVisibleEdges, numSilhouettes, compact.maxEdgeTableDimension);\r\n const edgeTable = new Uint8Array(width * height * 4);\r\n\r\n let curVisibleIndex = 0;\r\n let curSilhouetteIndex = 0;\r\n for (const edge of compactEdgeIterator(compact.visibility, compact.vertexIndices, compact.normalPairs)) {\r\n if (undefined === edge.normals) {\r\n const index = curVisibleIndex++;\r\n const byteIndex = index * 6;\r\n setUint24(edgeTable, byteIndex, edge.index0);\r\n setUint24(edgeTable, byteIndex + 3, edge.index1);\r\n } else {\r\n const index = curSilhouetteIndex++;\r\n const byteIndex = silhouetteStartByteIndex + silhouettePadding + index * 10;\r\n setUint24(edgeTable, byteIndex, edge.index0);\r\n setUint24(edgeTable, byteIndex + 3, edge.index1);\r\n edgeTable[byteIndex + 6] = edge.normals & 0xff;\r\n edgeTable[byteIndex + 7] = (edge.normals & 0xff00) >>> 8;\r\n edgeTable[byteIndex + 8] = (edge.normals & 0xff0000) >>> 16;\r\n edgeTable[byteIndex + 9] = (edge.normals & 0xff000000) >>> 24;\r\n }\r\n }\r\n\r\n return {\r\n indices: indices.data,\r\n edges: {\r\n data: edgeTable,\r\n width,\r\n height,\r\n numSegments: compact.numVisibleEdges,\r\n silhouettePadding,\r\n },\r\n };\r\n}\r\n"]}
@@ -4,9 +4,9 @@
4
4
  import { UintArray } from "@itwin/core-bentley";
5
5
  import { LowAndHighXYZ, XYAndZ } from "@itwin/core-geometry";
6
6
  import { ColorDefProps, FeatureIndexType, FillFlags, Gradient, LinePixels, PolylineTypeFlags, QParams2dProps, QParams3dProps } from "@itwin/core-common";
7
- import { EdgeTable } from "../render/primitives/EdgeParams";
8
- import { SurfaceMaterialAtlas, SurfaceType } from "../render/primitives/SurfaceParams";
9
- import { AuxChannelTableProps } from "../render/primitives/AuxChannelTable";
7
+ import { EdgeTable } from "../internal/render/EdgeParams";
8
+ import { SurfaceMaterialAtlas, SurfaceType } from "../internal/render/SurfaceParams";
9
+ import { AuxChannelTableProps } from "../internal/render/AuxChannelTable";
10
10
  import { ImdlAreaPattern, ImdlDocument } from "./ImdlSchema";
11
11
  /** Types comprising the parsed representation of an ImdlDocument, produced by [[parseImdlDocument]] and consumed by [[decodeImdlGraphics]].
12
12
  * All of the types are required to support [structured cloning](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) so that they
@@ -192,6 +192,8 @@ export declare namespace ImdlModel {
192
192
  json: ImdlDocument;
193
193
  }
194
194
  }
195
+ /** @internal */
196
+ export declare function addPrimitiveTransferables(xfers: Set<Transferable>, primitive: ImdlModel.NodePrimitive): void;
195
197
  /** Collect an array of all the [transferable objects](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Transferable_objects)
196
198
  * within the specified document.
197
199
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"ImdlModel.d.ts","sourceRoot":"","sources":["../../../../src/common/imdl/ImdlModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImdlModel.d.ts","sourceRoot":"","sources":["../../../../src/common/imdl/ImdlModel.ts"],"names":[],"mappings":"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"}