@onerjs/core 8.41.5 → 8.41.6

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 (262) hide show
  1. package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +16 -0
  2. package/Cameras/Inputs/geospatialCameraPointersInput.js +19 -3
  3. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
  4. package/Cameras/Limits/geospatialLimits.d.ts +0 -6
  5. package/Cameras/Limits/geospatialLimits.js +0 -6
  6. package/Cameras/Limits/geospatialLimits.js.map +1 -1
  7. package/Cameras/geospatialCamera.d.ts +5 -0
  8. package/Cameras/geospatialCamera.js +38 -10
  9. package/Cameras/geospatialCamera.js.map +1 -1
  10. package/Engines/abstractEngine.d.ts +2 -2
  11. package/Engines/abstractEngine.js +2 -2
  12. package/Engines/abstractEngine.js.map +1 -1
  13. package/Engines/webgpuEngine.d.ts +1 -4
  14. package/Engines/webgpuEngine.js +8 -6
  15. package/Engines/webgpuEngine.js.map +1 -1
  16. package/FrameGraph/frameGraphContext.js +1 -1
  17. package/FrameGraph/frameGraphContext.js.map +1 -1
  18. package/FrameGraph/frameGraphRenderContext.js +2 -2
  19. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  20. package/Lights/Shadows/cascadedShadowGenerator.js +1 -1
  21. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  22. package/Lights/Shadows/shadowGenerator.js +1 -1
  23. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  24. package/Lights/lightingVolume.js +1 -1
  25. package/Lights/lightingVolume.js.map +1 -1
  26. package/Materials/Textures/Procedurals/proceduralTexture.js +1 -1
  27. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  28. package/Meshes/Builders/capsuleBuilder.js +0 -3
  29. package/Meshes/Builders/capsuleBuilder.js.map +1 -1
  30. package/Meshes/Builders/cylinderBuilder.d.ts +1 -1
  31. package/Meshes/Builders/cylinderBuilder.js +1 -2
  32. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  33. package/Meshes/Builders/decalBuilder.js +2 -0
  34. package/Meshes/Builders/decalBuilder.js.map +1 -1
  35. package/Meshes/Builders/discBuilder.js +0 -1
  36. package/Meshes/Builders/discBuilder.js.map +1 -1
  37. package/Meshes/Builders/groundBuilder.d.ts +50 -54
  38. package/Meshes/Builders/groundBuilder.js +50 -54
  39. package/Meshes/Builders/groundBuilder.js.map +1 -1
  40. package/Meshes/Builders/tiledBoxBuilder.d.ts +0 -26
  41. package/Meshes/Builders/tiledBoxBuilder.js +0 -26
  42. package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
  43. package/Meshes/Builders/tiledPlaneBuilder.d.ts +0 -25
  44. package/Meshes/Builders/tiledPlaneBuilder.js +0 -25
  45. package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
  46. package/Meshes/Builders/torusBuilder.d.ts +0 -13
  47. package/Meshes/Builders/torusBuilder.js +0 -13
  48. package/Meshes/Builders/torusBuilder.js.map +1 -1
  49. package/Meshes/Builders/torusKnotBuilder.d.ts +0 -19
  50. package/Meshes/Builders/torusKnotBuilder.js +0 -19
  51. package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
  52. package/Meshes/Compression/dracoCompressionWorker.js.map +1 -1
  53. package/Meshes/Compression/dracoDecoder.js.map +1 -1
  54. package/Meshes/Compression/dracoDecoder.types.d.ts +11 -0
  55. package/Meshes/Compression/dracoDecoder.types.js.map +1 -1
  56. package/Meshes/Compression/dracoEncoder.js.map +1 -1
  57. package/Meshes/Compression/meshoptCompression.js +0 -2
  58. package/Meshes/Compression/meshoptCompression.js.map +1 -1
  59. package/Meshes/GreasedLine/greasedLineRibbonMesh.js +0 -8
  60. package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -1
  61. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.d.ts +1 -0
  62. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +1 -0
  63. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
  64. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.d.ts +1 -0
  65. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js +1 -0
  66. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js.map +1 -1
  67. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.d.ts +1 -0
  68. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js +1 -0
  69. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js.map +1 -1
  70. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.d.ts +1 -0
  71. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js +1 -0
  72. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js.map +1 -1
  73. package/Meshes/Node/Blocks/Matrices/scalingBlock.d.ts +1 -0
  74. package/Meshes/Node/Blocks/Matrices/scalingBlock.js +1 -0
  75. package/Meshes/Node/Blocks/Matrices/scalingBlock.js.map +1 -1
  76. package/Meshes/Node/Blocks/Matrices/translationBlock.d.ts +1 -0
  77. package/Meshes/Node/Blocks/Matrices/translationBlock.js +1 -0
  78. package/Meshes/Node/Blocks/Matrices/translationBlock.js.map +1 -1
  79. package/Meshes/Node/Blocks/Set/aggregatorBlock.d.ts +1 -0
  80. package/Meshes/Node/Blocks/Set/aggregatorBlock.js +1 -0
  81. package/Meshes/Node/Blocks/Set/aggregatorBlock.js.map +1 -1
  82. package/Meshes/Node/Blocks/Set/latticeBlock.d.ts +1 -0
  83. package/Meshes/Node/Blocks/Set/latticeBlock.js +1 -0
  84. package/Meshes/Node/Blocks/Set/latticeBlock.js.map +1 -1
  85. package/Meshes/Node/Blocks/Set/setColorsBlock.d.ts +1 -0
  86. package/Meshes/Node/Blocks/Set/setColorsBlock.js +1 -0
  87. package/Meshes/Node/Blocks/Set/setColorsBlock.js.map +1 -1
  88. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.d.ts +1 -0
  89. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js +1 -0
  90. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js.map +1 -1
  91. package/Meshes/Node/Blocks/Set/setNormalsBlock.d.ts +1 -0
  92. package/Meshes/Node/Blocks/Set/setNormalsBlock.js +1 -0
  93. package/Meshes/Node/Blocks/Set/setNormalsBlock.js.map +1 -1
  94. package/Meshes/Node/Blocks/Set/setPositionsBlock.d.ts +1 -0
  95. package/Meshes/Node/Blocks/Set/setPositionsBlock.js +1 -0
  96. package/Meshes/Node/Blocks/Set/setPositionsBlock.js.map +1 -1
  97. package/Meshes/Node/Blocks/Set/setTangentsBlock.d.ts +1 -0
  98. package/Meshes/Node/Blocks/Set/setTangentsBlock.js +1 -0
  99. package/Meshes/Node/Blocks/Set/setTangentsBlock.js.map +1 -1
  100. package/Meshes/Node/Blocks/Set/setUVsBlock.d.ts +1 -0
  101. package/Meshes/Node/Blocks/Set/setUVsBlock.js +1 -0
  102. package/Meshes/Node/Blocks/Set/setUVsBlock.js.map +1 -1
  103. package/Meshes/Node/Blocks/Sources/boxBlock.d.ts +2 -0
  104. package/Meshes/Node/Blocks/Sources/boxBlock.js +2 -0
  105. package/Meshes/Node/Blocks/Sources/boxBlock.js.map +1 -1
  106. package/Meshes/Node/Blocks/Sources/capsuleBlock.d.ts +2 -0
  107. package/Meshes/Node/Blocks/Sources/capsuleBlock.js +2 -0
  108. package/Meshes/Node/Blocks/Sources/capsuleBlock.js.map +1 -1
  109. package/Meshes/Node/Blocks/Sources/cylinderBlock.d.ts +2 -0
  110. package/Meshes/Node/Blocks/Sources/cylinderBlock.js +2 -0
  111. package/Meshes/Node/Blocks/Sources/cylinderBlock.js.map +1 -1
  112. package/Meshes/Node/Blocks/Sources/discBlock.d.ts +2 -0
  113. package/Meshes/Node/Blocks/Sources/discBlock.js +2 -0
  114. package/Meshes/Node/Blocks/Sources/discBlock.js.map +1 -1
  115. package/Meshes/Node/Blocks/Sources/gridBlock.d.ts +2 -0
  116. package/Meshes/Node/Blocks/Sources/gridBlock.js +2 -0
  117. package/Meshes/Node/Blocks/Sources/gridBlock.js.map +1 -1
  118. package/Meshes/Node/Blocks/Sources/icoSphereBlock.d.ts +2 -0
  119. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js +2 -0
  120. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js.map +1 -1
  121. package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +1 -0
  122. package/Meshes/Node/Blocks/Sources/meshBlock.js +1 -0
  123. package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -1
  124. package/Meshes/Node/Blocks/Sources/planeBlock.d.ts +2 -0
  125. package/Meshes/Node/Blocks/Sources/planeBlock.js +2 -0
  126. package/Meshes/Node/Blocks/Sources/planeBlock.js.map +1 -1
  127. package/Meshes/Node/Blocks/Sources/pointListBlock.d.ts +2 -1
  128. package/Meshes/Node/Blocks/Sources/pointListBlock.js +2 -1
  129. package/Meshes/Node/Blocks/Sources/pointListBlock.js.map +1 -1
  130. package/Meshes/Node/Blocks/Sources/sphereBlock.d.ts +2 -0
  131. package/Meshes/Node/Blocks/Sources/sphereBlock.js +2 -0
  132. package/Meshes/Node/Blocks/Sources/sphereBlock.js.map +1 -1
  133. package/Meshes/Node/Blocks/Sources/torusBlock.d.ts +2 -0
  134. package/Meshes/Node/Blocks/Sources/torusBlock.js +2 -0
  135. package/Meshes/Node/Blocks/Sources/torusBlock.js.map +1 -1
  136. package/Meshes/Node/Blocks/Teleport/teleportInBlock.d.ts +1 -0
  137. package/Meshes/Node/Blocks/Teleport/teleportInBlock.js +1 -0
  138. package/Meshes/Node/Blocks/Teleport/teleportInBlock.js.map +1 -1
  139. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.d.ts +3 -0
  140. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js +3 -0
  141. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -1
  142. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.d.ts +1 -0
  143. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js +1 -1
  144. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js.map +1 -1
  145. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.d.ts +1 -0
  146. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js +1 -0
  147. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js.map +1 -1
  148. package/Meshes/Node/Blocks/booleanGeometryBlock.d.ts +1 -0
  149. package/Meshes/Node/Blocks/booleanGeometryBlock.js +1 -1
  150. package/Meshes/Node/Blocks/booleanGeometryBlock.js.map +1 -1
  151. package/Meshes/Node/Blocks/cleanGeometryBlock.d.ts +1 -0
  152. package/Meshes/Node/Blocks/cleanGeometryBlock.js +1 -0
  153. package/Meshes/Node/Blocks/cleanGeometryBlock.js.map +1 -1
  154. package/Meshes/Node/Blocks/conditionBlock.d.ts +2 -0
  155. package/Meshes/Node/Blocks/conditionBlock.js +2 -0
  156. package/Meshes/Node/Blocks/conditionBlock.js.map +1 -1
  157. package/Meshes/Node/Blocks/geometryClampBlock.d.ts +1 -0
  158. package/Meshes/Node/Blocks/geometryClampBlock.js +1 -0
  159. package/Meshes/Node/Blocks/geometryClampBlock.js.map +1 -1
  160. package/Meshes/Node/Blocks/geometryCollectionBlock.d.ts +1 -0
  161. package/Meshes/Node/Blocks/geometryCollectionBlock.js +1 -0
  162. package/Meshes/Node/Blocks/geometryCollectionBlock.js.map +1 -1
  163. package/Meshes/Node/Blocks/geometryCurveBlock.d.ts +2 -0
  164. package/Meshes/Node/Blocks/geometryCurveBlock.js +2 -0
  165. package/Meshes/Node/Blocks/geometryCurveBlock.js.map +1 -1
  166. package/Meshes/Node/Blocks/geometryEaseBlock.d.ts +2 -0
  167. package/Meshes/Node/Blocks/geometryEaseBlock.js +2 -0
  168. package/Meshes/Node/Blocks/geometryEaseBlock.js.map +1 -1
  169. package/Meshes/Node/Blocks/geometryInputBlock.d.ts +3 -0
  170. package/Meshes/Node/Blocks/geometryInputBlock.js +3 -0
  171. package/Meshes/Node/Blocks/geometryInputBlock.js.map +1 -1
  172. package/Meshes/Node/Blocks/geometryOptimizeBlock.d.ts +1 -0
  173. package/Meshes/Node/Blocks/geometryOptimizeBlock.js +1 -0
  174. package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
  175. package/Meshes/Node/Blocks/geometryTransformBlock.d.ts +1 -0
  176. package/Meshes/Node/Blocks/geometryTransformBlock.js +1 -0
  177. package/Meshes/Node/Blocks/geometryTransformBlock.js.map +1 -1
  178. package/Meshes/Node/Blocks/geometryTrigonometryBlock.d.ts +2 -0
  179. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js +2 -0
  180. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js.map +1 -1
  181. package/Meshes/Node/Blocks/mappingBlock.d.ts +1 -0
  182. package/Meshes/Node/Blocks/mappingBlock.js +1 -0
  183. package/Meshes/Node/Blocks/mappingBlock.js.map +1 -1
  184. package/Meshes/Node/Blocks/mathBlock.d.ts +1 -0
  185. package/Meshes/Node/Blocks/mathBlock.js +1 -0
  186. package/Meshes/Node/Blocks/mathBlock.js.map +1 -1
  187. package/Meshes/Node/Blocks/mergeGeometryBlock.d.ts +1 -0
  188. package/Meshes/Node/Blocks/mergeGeometryBlock.js +1 -0
  189. package/Meshes/Node/Blocks/mergeGeometryBlock.js.map +1 -1
  190. package/Meshes/Node/Blocks/randomBlock.d.ts +2 -0
  191. package/Meshes/Node/Blocks/randomBlock.js +2 -0
  192. package/Meshes/Node/Blocks/randomBlock.js.map +1 -1
  193. package/Meshes/Node/Blocks/subdivideBlock.d.ts +1 -0
  194. package/Meshes/Node/Blocks/subdivideBlock.js +1 -0
  195. package/Meshes/Node/Blocks/subdivideBlock.js.map +1 -1
  196. package/Meshes/Node/Interfaces/nodeGeometryTextureData.d.ts +3 -0
  197. package/Meshes/Node/Interfaces/nodeGeometryTextureData.js.map +1 -1
  198. package/Meshes/Node/nodeGeometry.js +0 -2
  199. package/Meshes/Node/nodeGeometry.js.map +1 -1
  200. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js +0 -1
  201. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js.map +1 -1
  202. package/Meshes/Node/nodeGeometryBuildState.js +0 -1
  203. package/Meshes/Node/nodeGeometryBuildState.js.map +1 -1
  204. package/Meshes/WebGL/webGLDataBuffer.d.ts +2 -0
  205. package/Meshes/WebGL/webGLDataBuffer.js +2 -0
  206. package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
  207. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +4 -0
  208. package/Meshes/WebGPU/webgpuDataBuffer.js +4 -0
  209. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  210. package/Meshes/abstractMesh.d.ts +1 -0
  211. package/Meshes/abstractMesh.decalMap.d.ts +1 -0
  212. package/Meshes/abstractMesh.decalMap.js.map +1 -1
  213. package/Meshes/abstractMesh.js +1 -6
  214. package/Meshes/abstractMesh.js.map +1 -1
  215. package/Meshes/csg.js +0 -6
  216. package/Meshes/csg.js.map +1 -1
  217. package/Meshes/csg2.js +1 -2
  218. package/Meshes/csg2.js.map +1 -1
  219. package/Meshes/geodesicMesh.d.ts +26 -0
  220. package/Meshes/geodesicMesh.js +18 -3
  221. package/Meshes/geodesicMesh.js.map +1 -1
  222. package/Meshes/groundMesh.d.ts +1 -0
  223. package/Meshes/groundMesh.js +1 -0
  224. package/Meshes/groundMesh.js.map +1 -1
  225. package/Meshes/index.js +0 -2
  226. package/Meshes/index.js.map +1 -1
  227. package/Meshes/instancedMesh.d.ts +18 -3
  228. package/Meshes/instancedMesh.js +10 -3
  229. package/Meshes/instancedMesh.js.map +1 -1
  230. package/Meshes/mesh.d.ts +286 -204
  231. package/Meshes/mesh.js +251 -197
  232. package/Meshes/mesh.js.map +1 -1
  233. package/Meshes/mesh.vertexData.d.ts +15 -19
  234. package/Meshes/mesh.vertexData.js +15 -19
  235. package/Meshes/mesh.vertexData.js.map +1 -1
  236. package/Meshes/meshSimplification.d.ts +0 -1
  237. package/Meshes/meshSimplification.js +6 -1
  238. package/Meshes/meshSimplification.js.map +1 -1
  239. package/Meshes/meshSimplificationSceneComponent.d.ts +2 -0
  240. package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
  241. package/Meshes/meshUVSpaceRenderer.d.ts +1 -0
  242. package/Meshes/meshUVSpaceRenderer.js.map +1 -1
  243. package/Meshes/polygonMesh.js +4 -0
  244. package/Meshes/polygonMesh.js.map +1 -1
  245. package/Meshes/subMesh.project.d.ts +1 -0
  246. package/Meshes/subMesh.project.js.map +1 -1
  247. package/Meshes/thinInstanceMesh.d.ts +5 -0
  248. package/Meshes/thinInstanceMesh.js.map +1 -1
  249. package/Meshes/transformNode.d.ts +1 -1
  250. package/Meshes/transformNode.js +1 -1
  251. package/Meshes/transformNode.js.map +1 -1
  252. package/Physics/v2/Plugins/havokPlugin.d.ts +75 -2
  253. package/Physics/v2/Plugins/havokPlugin.js +243 -52
  254. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  255. package/Probes/reflectionProbe.js +1 -1
  256. package/Probes/reflectionProbe.js.map +1 -1
  257. package/Rendering/depthRenderer.js +1 -1
  258. package/Rendering/depthRenderer.js.map +1 -1
  259. package/package.json +1 -1
  260. package/scene.d.ts +0 -3
  261. package/scene.js +18 -5
  262. package/scene.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nodeGeometryBuildState.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/Node/nodeGeometryBuildState.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport type { VertexData } from \"../mesh.vertexData\";\r\nimport type { NodeGeometryConnectionPoint } from \"./nodeGeometryBlockConnectionPoint\";\r\nimport { NodeGeometryContextualSources } from \"./Enums/nodeGeometryContextualSources\";\r\nimport { Matrix, Vector2, Vector3, Vector4 } from \"../../Maths/math.vector\";\r\nimport type { INodeGeometryExecutionContext } from \"./Interfaces/nodeGeometryExecutionContext\";\r\nimport { NodeGeometryBlockConnectionPointTypes } from \"./Enums/nodeGeometryConnectionPointTypes\";\r\nimport type { INodeGeometryInstancingContext } from \"./Interfaces/nodeGeometryInstancingContext\";\r\n\r\n/**\r\n * Class used to store node based geometry build state\r\n */\r\nexport class NodeGeometryBuildState {\r\n private _rotationMatrix = new Matrix();\r\n private _scalingMatrix = new Matrix();\r\n private _positionMatrix = new Matrix();\r\n private _scalingRotationMatrix = new Matrix();\r\n private _transformMatrix = new Matrix();\r\n private _tempVector3 = new Vector3();\r\n\r\n /** Gets or sets the list of non connected mandatory inputs */\r\n public notConnectedNonOptionalInputs: NodeGeometryConnectionPoint[] = [];\r\n /** Gets or sets the list of non contextual inputs having no contextudal data */\r\n public noContextualData: NodeGeometryContextualSources[] = [];\r\n /** Gets or sets the build identifier */\r\n public buildId: number;\r\n /** Gets or sets a boolean indicating that verbose mode is on */\r\n public verbose: boolean;\r\n /** Gets or sets the vertex data */\r\n public vertexData: Nullable<VertexData> = null;\r\n\r\n private _geometryContext: Nullable<VertexData> = null;\r\n private _executionContext: Nullable<INodeGeometryExecutionContext> = null;\r\n private _instancingContext: Nullable<INodeGeometryInstancingContext> = null;\r\n\r\n private _geometryContextStack: Array<Nullable<VertexData>> = [];\r\n private _executionContextStack: Array<Nullable<INodeGeometryExecutionContext>> = [];\r\n private _instancingContextStack: Array<Nullable<INodeGeometryInstancingContext>> = [];\r\n\r\n /** Gets or sets the geometry context */\r\n public get geometryContext() {\r\n return this._geometryContext;\r\n }\r\n\r\n /** Gets or sets the execution context */\r\n public get executionContext() {\r\n return this._executionContext;\r\n }\r\n\r\n /** Gets or sets the instancing context */\r\n public get instancingContext() {\r\n return this._instancingContext;\r\n }\r\n\r\n /**\r\n * Push the new active geometry context\r\n * @param geometryContext defines the geometry context\r\n */\r\n public pushGeometryContext(geometryContext: VertexData) {\r\n this._geometryContext = geometryContext;\r\n this._geometryContextStack.push(this._geometryContext);\r\n }\r\n\r\n /**\r\n * Push the new active execution context\r\n * @param executionContext defines the execution context\r\n */\r\n public pushExecutionContext(executionContext: INodeGeometryExecutionContext) {\r\n this._executionContext = executionContext;\r\n this._executionContextStack.push(this._executionContext);\r\n }\r\n\r\n /**\r\n * Push the new active instancing context\r\n * @param instancingContext defines the instancing context\r\n */\r\n public pushInstancingContext(instancingContext: INodeGeometryInstancingContext) {\r\n this._instancingContext = instancingContext;\r\n this._instancingContextStack.push(this._instancingContext);\r\n }\r\n\r\n /**\r\n * Remove current geometry context and restore the previous one\r\n */\r\n public restoreGeometryContext() {\r\n this._geometryContextStack.pop();\r\n this._geometryContext = this._geometryContextStack.length > 0 ? this._geometryContextStack[this._geometryContextStack.length - 1] : null;\r\n }\r\n\r\n /**\r\n * Remove current execution context and restore the previous one\r\n */\r\n public restoreExecutionContext() {\r\n this._executionContextStack.pop();\r\n this._executionContext = this._executionContextStack.length > 0 ? this._executionContextStack[this._executionContextStack.length - 1] : null;\r\n }\r\n\r\n /**\r\n * Remove current isntancing context and restore the previous one\r\n */\r\n public restoreInstancingContext() {\r\n this._instancingContextStack.pop();\r\n this._instancingContext = this._instancingContextStack.length > 0 ? this._instancingContextStack[this._instancingContextStack.length - 1] : null;\r\n }\r\n\r\n /**\r\n * Gets the value associated with a contextual source\r\n * @param source Source of the contextual value\r\n * @param skipWarning Do not store the warning for reporting if true\r\n * @returns the value associated with the source\r\n */\r\n public getContextualValue(source: NodeGeometryContextualSources, skipWarning = false) {\r\n if (!this.executionContext) {\r\n if (!skipWarning) {\r\n this.noContextualData.push(source);\r\n }\r\n return null;\r\n }\r\n\r\n const index = this.executionContext.getExecutionIndex();\r\n\r\n switch (source) {\r\n case NodeGeometryContextualSources.Positions:\r\n if (this.executionContext.getOverridePositionsContextualValue) {\r\n return this.executionContext.getOverridePositionsContextualValue();\r\n }\r\n if (!this.geometryContext || !this.geometryContext.positions) {\r\n return Vector3.Zero();\r\n }\r\n return Vector3.FromArray(this.geometryContext.positions as ArrayLike<number>, index * 3);\r\n case NodeGeometryContextualSources.Normals:\r\n if (this.executionContext.getOverrideNormalsContextualValue) {\r\n return this.executionContext.getOverrideNormalsContextualValue();\r\n }\r\n if (!this.geometryContext || !this.geometryContext.normals) {\r\n return Vector3.Zero();\r\n }\r\n return Vector3.FromArray(this.geometryContext.normals as ArrayLike<number>, index * 3);\r\n case NodeGeometryContextualSources.Colors:\r\n if (!this.geometryContext || !this.geometryContext.colors) {\r\n return Vector4.Zero();\r\n }\r\n return Vector4.FromArray(this.geometryContext.colors as ArrayLike<number>, index * 4);\r\n case NodeGeometryContextualSources.Tangents:\r\n if (!this.geometryContext || !this.geometryContext.tangents) {\r\n return Vector4.Zero();\r\n }\r\n return Vector4.FromArray(this.geometryContext.tangents as ArrayLike<number>, index * 4);\r\n case NodeGeometryContextualSources.UV:\r\n if (this.executionContext.getOverrideUVs1ContextualValue) {\r\n return this.executionContext.getOverrideUVs1ContextualValue();\r\n }\r\n if (!this.geometryContext || !this.geometryContext.uvs) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV2:\r\n if (!this.geometryContext || !this.geometryContext.uvs2) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs2 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV3:\r\n if (!this.geometryContext || !this.geometryContext.uvs3) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs3 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV4:\r\n if (!this.geometryContext || !this.geometryContext.uvs4) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs4 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV5:\r\n if (!this.geometryContext || !this.geometryContext.uvs5) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs5 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV6:\r\n if (!this.geometryContext || !this.geometryContext.uvs6) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs6 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.VertexID:\r\n return index;\r\n case NodeGeometryContextualSources.FaceID:\r\n return this.executionContext.getExecutionFaceIndex();\r\n case NodeGeometryContextualSources.LoopID:\r\n return this.executionContext.getExecutionLoopIndex();\r\n case NodeGeometryContextualSources.InstanceID:\r\n return this.instancingContext ? this.instancingContext.getInstanceIndex() : 0;\r\n case NodeGeometryContextualSources.GeometryID:\r\n return !this.geometryContext ? 0 : this.geometryContext.uniqueId;\r\n case NodeGeometryContextualSources.CollectionID: {\r\n if (!this.geometryContext || !this.geometryContext.metadata) {\r\n return 0;\r\n }\r\n return this.geometryContext.metadata.collectionId || 0;\r\n }\r\n case NodeGeometryContextualSources.LatticeID: {\r\n if (this.executionContext.getOverridePositionsContextualValue) {\r\n return this.executionContext.getOverridePositionsContextualValue();\r\n }\r\n return Vector3.Zero();\r\n }\r\n case NodeGeometryContextualSources.LatticeControl: {\r\n if (this.executionContext.getOverrideNormalsContextualValue) {\r\n return this.executionContext.getOverrideNormalsContextualValue();\r\n }\r\n return Vector3.Zero();\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Adapt a value to a target type\r\n * @param source defines the value to adapt\r\n * @param targetType defines the target type\r\n * @returns the adapted value\r\n */\r\n adapt(source: NodeGeometryConnectionPoint, targetType: NodeGeometryBlockConnectionPointTypes) {\r\n const value = source.getConnectedValue(this) || 0;\r\n\r\n if (source.type === targetType) {\r\n return value;\r\n }\r\n\r\n switch (targetType) {\r\n case NodeGeometryBlockConnectionPointTypes.Vector2:\r\n return new Vector2(value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector3:\r\n return new Vector3(value, value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector4:\r\n return new Vector4(value, value, value, value);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Adapt an input value to a target type\r\n * @param source defines the value to adapt\r\n * @param targetType defines the target type\r\n * @param defaultValue defines the default value to use if not connected\r\n * @returns the adapted value\r\n */\r\n adaptInput(source: NodeGeometryConnectionPoint, targetType: NodeGeometryBlockConnectionPointTypes, defaultValue: any) {\r\n if (!source.isConnected) {\r\n return source.value || defaultValue;\r\n }\r\n\r\n const value = source.getConnectedValue(this);\r\n\r\n if (source._connectedPoint?.type === targetType) {\r\n return value;\r\n }\r\n\r\n switch (targetType) {\r\n case NodeGeometryBlockConnectionPointTypes.Vector2:\r\n return new Vector2(value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector3:\r\n return new Vector3(value, value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector4:\r\n return new Vector4(value, value, value, value);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Emits console errors and exceptions if there is a failing check\r\n */\r\n public emitErrors() {\r\n let errorMessage = \"\";\r\n\r\n for (const notConnectedInput of this.notConnectedNonOptionalInputs) {\r\n errorMessage += `input ${notConnectedInput.name} from block ${\r\n notConnectedInput.ownerBlock.name\r\n }[${notConnectedInput.ownerBlock.getClassName()}] is not connected and is not optional.\\n`;\r\n }\r\n\r\n for (const source of this.noContextualData) {\r\n errorMessage += `Contextual input ${NodeGeometryContextualSources[source]} has no context to pull data from (must be connected to a setXXX block or a instantiateXXX block).\\n`;\r\n }\r\n\r\n if (errorMessage) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw \"Build of NodeGeometry failed:\\n\" + errorMessage;\r\n }\r\n }\r\n\r\n /** @internal */\r\n public _instantiate(clone: VertexData, currentPosition: Vector3, rotation: Vector3, scaling: Vector3, additionalVertexData: VertexData[]) {\r\n // Transform\r\n Matrix.ScalingToRef(scaling.x, scaling.y, scaling.z, this._scalingMatrix);\r\n Matrix.RotationYawPitchRollToRef(rotation.y, rotation.x, rotation.z, this._rotationMatrix);\r\n Matrix.TranslationToRef(currentPosition.x, currentPosition.y, currentPosition.z, this._positionMatrix);\r\n\r\n this._scalingMatrix.multiplyToRef(this._rotationMatrix, this._scalingRotationMatrix);\r\n this._scalingRotationMatrix.multiplyToRef(this._positionMatrix, this._transformMatrix);\r\n for (let clonePositionIndex = 0; clonePositionIndex < clone.positions!.length; clonePositionIndex += 3) {\r\n this._tempVector3.fromArray(clone.positions!, clonePositionIndex);\r\n Vector3.TransformCoordinatesToRef(this._tempVector3, this._transformMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.positions!, clonePositionIndex);\r\n\r\n if (clone.normals) {\r\n this._tempVector3.fromArray(clone.normals, clonePositionIndex);\r\n Vector3.TransformNormalToRef(this._tempVector3, this._scalingRotationMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.normals, clonePositionIndex);\r\n }\r\n }\r\n\r\n additionalVertexData.push(clone);\r\n }\r\n\r\n /** @internal */\r\n public _instantiateWithMatrix(clone: VertexData, transform: Matrix, additionalVertexData: VertexData[]) {\r\n for (let clonePositionIndex = 0; clonePositionIndex < clone.positions!.length; clonePositionIndex += 3) {\r\n this._tempVector3.fromArray(clone.positions!, clonePositionIndex);\r\n Vector3.TransformCoordinatesToRef(this._tempVector3, transform, this._tempVector3);\r\n this._tempVector3.toArray(clone.positions!, clonePositionIndex);\r\n\r\n if (clone.normals) {\r\n this._tempVector3.fromArray(clone.normals, clonePositionIndex);\r\n Vector3.TransformNormalToRef(this._tempVector3, transform, this._tempVector3);\r\n this._tempVector3.toArray(clone.normals, clonePositionIndex);\r\n }\r\n }\r\n\r\n additionalVertexData.push(clone);\r\n }\r\n\r\n /** @internal */\r\n public _instantiateWithPositionAndMatrix(clone: VertexData, currentPosition: Vector3, transform: Matrix, additionalVertexData: VertexData[]) {\r\n Matrix.TranslationToRef(currentPosition.x, currentPosition.y, currentPosition.z, this._positionMatrix);\r\n transform.multiplyToRef(this._positionMatrix, this._transformMatrix);\r\n\r\n for (let clonePositionIndex = 0; clonePositionIndex < clone.positions!.length; clonePositionIndex += 3) {\r\n this._tempVector3.fromArray(clone.positions!, clonePositionIndex);\r\n Vector3.TransformCoordinatesToRef(this._tempVector3, this._transformMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.positions!, clonePositionIndex);\r\n\r\n if (clone.normals) {\r\n this._tempVector3.fromArray(clone.normals, clonePositionIndex);\r\n Vector3.TransformNormalToRef(this._tempVector3, this._transformMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.normals, clonePositionIndex);\r\n }\r\n }\r\n\r\n additionalVertexData.push(clone);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"nodeGeometryBuildState.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/Node/nodeGeometryBuildState.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport type { VertexData } from \"../mesh.vertexData\";\r\nimport type { NodeGeometryConnectionPoint } from \"./nodeGeometryBlockConnectionPoint\";\r\nimport { NodeGeometryContextualSources } from \"./Enums/nodeGeometryContextualSources\";\r\nimport { Matrix, Vector2, Vector3, Vector4 } from \"../../Maths/math.vector\";\r\nimport type { INodeGeometryExecutionContext } from \"./Interfaces/nodeGeometryExecutionContext\";\r\nimport { NodeGeometryBlockConnectionPointTypes } from \"./Enums/nodeGeometryConnectionPointTypes\";\r\nimport type { INodeGeometryInstancingContext } from \"./Interfaces/nodeGeometryInstancingContext\";\r\n\r\n/**\r\n * Class used to store node based geometry build state\r\n */\r\nexport class NodeGeometryBuildState {\r\n private _rotationMatrix = new Matrix();\r\n private _scalingMatrix = new Matrix();\r\n private _positionMatrix = new Matrix();\r\n private _scalingRotationMatrix = new Matrix();\r\n private _transformMatrix = new Matrix();\r\n private _tempVector3 = new Vector3();\r\n\r\n /** Gets or sets the list of non connected mandatory inputs */\r\n public notConnectedNonOptionalInputs: NodeGeometryConnectionPoint[] = [];\r\n /** Gets or sets the list of non contextual inputs having no contextudal data */\r\n public noContextualData: NodeGeometryContextualSources[] = [];\r\n /** Gets or sets the build identifier */\r\n public buildId: number;\r\n /** Gets or sets a boolean indicating that verbose mode is on */\r\n public verbose: boolean;\r\n /** Gets or sets the vertex data */\r\n public vertexData: Nullable<VertexData> = null;\r\n\r\n private _geometryContext: Nullable<VertexData> = null;\r\n private _executionContext: Nullable<INodeGeometryExecutionContext> = null;\r\n private _instancingContext: Nullable<INodeGeometryInstancingContext> = null;\r\n\r\n private _geometryContextStack: Array<Nullable<VertexData>> = [];\r\n private _executionContextStack: Array<Nullable<INodeGeometryExecutionContext>> = [];\r\n private _instancingContextStack: Array<Nullable<INodeGeometryInstancingContext>> = [];\r\n\r\n /** Gets or sets the geometry context */\r\n public get geometryContext() {\r\n return this._geometryContext;\r\n }\r\n\r\n /** Gets or sets the execution context */\r\n public get executionContext() {\r\n return this._executionContext;\r\n }\r\n\r\n /** Gets or sets the instancing context */\r\n public get instancingContext() {\r\n return this._instancingContext;\r\n }\r\n\r\n /**\r\n * Push the new active geometry context\r\n * @param geometryContext defines the geometry context\r\n */\r\n public pushGeometryContext(geometryContext: VertexData) {\r\n this._geometryContext = geometryContext;\r\n this._geometryContextStack.push(this._geometryContext);\r\n }\r\n\r\n /**\r\n * Push the new active execution context\r\n * @param executionContext defines the execution context\r\n */\r\n public pushExecutionContext(executionContext: INodeGeometryExecutionContext) {\r\n this._executionContext = executionContext;\r\n this._executionContextStack.push(this._executionContext);\r\n }\r\n\r\n /**\r\n * Push the new active instancing context\r\n * @param instancingContext defines the instancing context\r\n */\r\n public pushInstancingContext(instancingContext: INodeGeometryInstancingContext) {\r\n this._instancingContext = instancingContext;\r\n this._instancingContextStack.push(this._instancingContext);\r\n }\r\n\r\n /**\r\n * Remove current geometry context and restore the previous one\r\n */\r\n public restoreGeometryContext() {\r\n this._geometryContextStack.pop();\r\n this._geometryContext = this._geometryContextStack.length > 0 ? this._geometryContextStack[this._geometryContextStack.length - 1] : null;\r\n }\r\n\r\n /**\r\n * Remove current execution context and restore the previous one\r\n */\r\n public restoreExecutionContext() {\r\n this._executionContextStack.pop();\r\n this._executionContext = this._executionContextStack.length > 0 ? this._executionContextStack[this._executionContextStack.length - 1] : null;\r\n }\r\n\r\n /**\r\n * Remove current isntancing context and restore the previous one\r\n */\r\n public restoreInstancingContext() {\r\n this._instancingContextStack.pop();\r\n this._instancingContext = this._instancingContextStack.length > 0 ? this._instancingContextStack[this._instancingContextStack.length - 1] : null;\r\n }\r\n\r\n /**\r\n * Gets the value associated with a contextual source\r\n * @param source Source of the contextual value\r\n * @param skipWarning Do not store the warning for reporting if true\r\n * @returns the value associated with the source\r\n */\r\n public getContextualValue(source: NodeGeometryContextualSources, skipWarning = false) {\r\n if (!this.executionContext) {\r\n if (!skipWarning) {\r\n this.noContextualData.push(source);\r\n }\r\n return null;\r\n }\r\n\r\n const index = this.executionContext.getExecutionIndex();\r\n\r\n switch (source) {\r\n case NodeGeometryContextualSources.Positions:\r\n if (this.executionContext.getOverridePositionsContextualValue) {\r\n return this.executionContext.getOverridePositionsContextualValue();\r\n }\r\n if (!this.geometryContext || !this.geometryContext.positions) {\r\n return Vector3.Zero();\r\n }\r\n return Vector3.FromArray(this.geometryContext.positions as ArrayLike<number>, index * 3);\r\n case NodeGeometryContextualSources.Normals:\r\n if (this.executionContext.getOverrideNormalsContextualValue) {\r\n return this.executionContext.getOverrideNormalsContextualValue();\r\n }\r\n if (!this.geometryContext || !this.geometryContext.normals) {\r\n return Vector3.Zero();\r\n }\r\n return Vector3.FromArray(this.geometryContext.normals as ArrayLike<number>, index * 3);\r\n case NodeGeometryContextualSources.Colors:\r\n if (!this.geometryContext || !this.geometryContext.colors) {\r\n return Vector4.Zero();\r\n }\r\n return Vector4.FromArray(this.geometryContext.colors as ArrayLike<number>, index * 4);\r\n case NodeGeometryContextualSources.Tangents:\r\n if (!this.geometryContext || !this.geometryContext.tangents) {\r\n return Vector4.Zero();\r\n }\r\n return Vector4.FromArray(this.geometryContext.tangents as ArrayLike<number>, index * 4);\r\n case NodeGeometryContextualSources.UV:\r\n if (this.executionContext.getOverrideUVs1ContextualValue) {\r\n return this.executionContext.getOverrideUVs1ContextualValue();\r\n }\r\n if (!this.geometryContext || !this.geometryContext.uvs) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV2:\r\n if (!this.geometryContext || !this.geometryContext.uvs2) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs2 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV3:\r\n if (!this.geometryContext || !this.geometryContext.uvs3) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs3 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV4:\r\n if (!this.geometryContext || !this.geometryContext.uvs4) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs4 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV5:\r\n if (!this.geometryContext || !this.geometryContext.uvs5) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs5 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.UV6:\r\n if (!this.geometryContext || !this.geometryContext.uvs6) {\r\n return Vector2.Zero();\r\n }\r\n return Vector2.FromArray(this.geometryContext.uvs6 as ArrayLike<number>, index * 2);\r\n case NodeGeometryContextualSources.VertexID:\r\n return index;\r\n case NodeGeometryContextualSources.FaceID:\r\n return this.executionContext.getExecutionFaceIndex();\r\n case NodeGeometryContextualSources.LoopID:\r\n return this.executionContext.getExecutionLoopIndex();\r\n case NodeGeometryContextualSources.InstanceID:\r\n return this.instancingContext ? this.instancingContext.getInstanceIndex() : 0;\r\n case NodeGeometryContextualSources.GeometryID:\r\n return !this.geometryContext ? 0 : this.geometryContext.uniqueId;\r\n case NodeGeometryContextualSources.CollectionID: {\r\n if (!this.geometryContext || !this.geometryContext.metadata) {\r\n return 0;\r\n }\r\n return this.geometryContext.metadata.collectionId || 0;\r\n }\r\n case NodeGeometryContextualSources.LatticeID: {\r\n if (this.executionContext.getOverridePositionsContextualValue) {\r\n return this.executionContext.getOverridePositionsContextualValue();\r\n }\r\n return Vector3.Zero();\r\n }\r\n case NodeGeometryContextualSources.LatticeControl: {\r\n if (this.executionContext.getOverrideNormalsContextualValue) {\r\n return this.executionContext.getOverrideNormalsContextualValue();\r\n }\r\n return Vector3.Zero();\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Adapt a value to a target type\r\n * @param source defines the value to adapt\r\n * @param targetType defines the target type\r\n * @returns the adapted value\r\n */\r\n adapt(source: NodeGeometryConnectionPoint, targetType: NodeGeometryBlockConnectionPointTypes) {\r\n const value = source.getConnectedValue(this) || 0;\r\n\r\n if (source.type === targetType) {\r\n return value;\r\n }\r\n\r\n switch (targetType) {\r\n case NodeGeometryBlockConnectionPointTypes.Vector2:\r\n return new Vector2(value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector3:\r\n return new Vector3(value, value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector4:\r\n return new Vector4(value, value, value, value);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Adapt an input value to a target type\r\n * @param source defines the value to adapt\r\n * @param targetType defines the target type\r\n * @param defaultValue defines the default value to use if not connected\r\n * @returns the adapted value\r\n */\r\n adaptInput(source: NodeGeometryConnectionPoint, targetType: NodeGeometryBlockConnectionPointTypes, defaultValue: any) {\r\n if (!source.isConnected) {\r\n return source.value || defaultValue;\r\n }\r\n\r\n const value = source.getConnectedValue(this);\r\n\r\n if (source._connectedPoint?.type === targetType) {\r\n return value;\r\n }\r\n\r\n switch (targetType) {\r\n case NodeGeometryBlockConnectionPointTypes.Vector2:\r\n return new Vector2(value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector3:\r\n return new Vector3(value, value, value);\r\n case NodeGeometryBlockConnectionPointTypes.Vector4:\r\n return new Vector4(value, value, value, value);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Emits console errors and exceptions if there is a failing check\r\n */\r\n public emitErrors() {\r\n let errorMessage = \"\";\r\n\r\n for (const notConnectedInput of this.notConnectedNonOptionalInputs) {\r\n errorMessage += `input ${notConnectedInput.name} from block ${\r\n notConnectedInput.ownerBlock.name\r\n }[${notConnectedInput.ownerBlock.getClassName()}] is not connected and is not optional.\\n`;\r\n }\r\n\r\n for (const source of this.noContextualData) {\r\n errorMessage += `Contextual input ${NodeGeometryContextualSources[source]} has no context to pull data from (must be connected to a setXXX block or a instantiateXXX block).\\n`;\r\n }\r\n\r\n if (errorMessage) {\r\n throw \"Build of NodeGeometry failed:\\n\" + errorMessage;\r\n }\r\n }\r\n\r\n /** @internal */\r\n public _instantiate(clone: VertexData, currentPosition: Vector3, rotation: Vector3, scaling: Vector3, additionalVertexData: VertexData[]) {\r\n // Transform\r\n Matrix.ScalingToRef(scaling.x, scaling.y, scaling.z, this._scalingMatrix);\r\n Matrix.RotationYawPitchRollToRef(rotation.y, rotation.x, rotation.z, this._rotationMatrix);\r\n Matrix.TranslationToRef(currentPosition.x, currentPosition.y, currentPosition.z, this._positionMatrix);\r\n\r\n this._scalingMatrix.multiplyToRef(this._rotationMatrix, this._scalingRotationMatrix);\r\n this._scalingRotationMatrix.multiplyToRef(this._positionMatrix, this._transformMatrix);\r\n for (let clonePositionIndex = 0; clonePositionIndex < clone.positions!.length; clonePositionIndex += 3) {\r\n this._tempVector3.fromArray(clone.positions!, clonePositionIndex);\r\n Vector3.TransformCoordinatesToRef(this._tempVector3, this._transformMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.positions!, clonePositionIndex);\r\n\r\n if (clone.normals) {\r\n this._tempVector3.fromArray(clone.normals, clonePositionIndex);\r\n Vector3.TransformNormalToRef(this._tempVector3, this._scalingRotationMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.normals, clonePositionIndex);\r\n }\r\n }\r\n\r\n additionalVertexData.push(clone);\r\n }\r\n\r\n /** @internal */\r\n public _instantiateWithMatrix(clone: VertexData, transform: Matrix, additionalVertexData: VertexData[]) {\r\n for (let clonePositionIndex = 0; clonePositionIndex < clone.positions!.length; clonePositionIndex += 3) {\r\n this._tempVector3.fromArray(clone.positions!, clonePositionIndex);\r\n Vector3.TransformCoordinatesToRef(this._tempVector3, transform, this._tempVector3);\r\n this._tempVector3.toArray(clone.positions!, clonePositionIndex);\r\n\r\n if (clone.normals) {\r\n this._tempVector3.fromArray(clone.normals, clonePositionIndex);\r\n Vector3.TransformNormalToRef(this._tempVector3, transform, this._tempVector3);\r\n this._tempVector3.toArray(clone.normals, clonePositionIndex);\r\n }\r\n }\r\n\r\n additionalVertexData.push(clone);\r\n }\r\n\r\n /** @internal */\r\n public _instantiateWithPositionAndMatrix(clone: VertexData, currentPosition: Vector3, transform: Matrix, additionalVertexData: VertexData[]) {\r\n Matrix.TranslationToRef(currentPosition.x, currentPosition.y, currentPosition.z, this._positionMatrix);\r\n transform.multiplyToRef(this._positionMatrix, this._transformMatrix);\r\n\r\n for (let clonePositionIndex = 0; clonePositionIndex < clone.positions!.length; clonePositionIndex += 3) {\r\n this._tempVector3.fromArray(clone.positions!, clonePositionIndex);\r\n Vector3.TransformCoordinatesToRef(this._tempVector3, this._transformMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.positions!, clonePositionIndex);\r\n\r\n if (clone.normals) {\r\n this._tempVector3.fromArray(clone.normals, clonePositionIndex);\r\n Vector3.TransformNormalToRef(this._tempVector3, this._transformMatrix, this._tempVector3);\r\n this._tempVector3.toArray(clone.normals, clonePositionIndex);\r\n }\r\n }\r\n\r\n additionalVertexData.push(clone);\r\n }\r\n}\r\n"]}
@@ -2,6 +2,8 @@ import { DataBuffer } from "../../Buffers/dataBuffer.js";
2
2
  /** @internal */
3
3
  export declare class WebGLDataBuffer extends DataBuffer {
4
4
  private _buffer;
5
+ /** @internal */
5
6
  constructor(resource: WebGLBuffer);
7
+ /** @internal */
6
8
  get underlyingResource(): any;
7
9
  }
@@ -1,10 +1,12 @@
1
1
  import { DataBuffer } from "../../Buffers/dataBuffer.js";
2
2
  /** @internal */
3
3
  export class WebGLDataBuffer extends DataBuffer {
4
+ /** @internal */
4
5
  constructor(resource) {
5
6
  super();
6
7
  this._buffer = resource;
7
8
  }
9
+ /** @internal */
8
10
  get underlyingResource() {
9
11
  return this._buffer;
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webGLDataBuffer.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/WebGL/webGLDataBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,gBAAgB;AAChB,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAG3C,YAAmB,QAAqB;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAoB,kBAAkB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { DataBuffer } from \"../../Buffers/dataBuffer\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/** @internal */\r\nexport class WebGLDataBuffer extends DataBuffer {\r\n private _buffer: Nullable<WebGLBuffer>;\r\n\r\n public constructor(resource: WebGLBuffer) {\r\n super();\r\n this._buffer = resource;\r\n }\r\n\r\n public override get underlyingResource(): any {\r\n return this._buffer;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"webGLDataBuffer.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/WebGL/webGLDataBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,gBAAgB;AAChB,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAG3C,gBAAgB;IAChB,YAAmB,QAAqB;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,gBAAgB;IAChB,IAAoB,kBAAkB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { DataBuffer } from \"../../Buffers/dataBuffer\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/** @internal */\r\nexport class WebGLDataBuffer extends DataBuffer {\r\n private _buffer: Nullable<WebGLBuffer>;\r\n\r\n /** @internal */\r\n public constructor(resource: WebGLBuffer) {\r\n super();\r\n this._buffer = resource;\r\n }\r\n\r\n /** @internal */\r\n public override get underlyingResource(): any {\r\n return this._buffer;\r\n }\r\n}\r\n"]}
@@ -3,8 +3,12 @@ import type { Nullable } from "../../types.js";
3
3
  /** @internal */
4
4
  export declare class WebGPUDataBuffer extends DataBuffer {
5
5
  private _buffer;
6
+ /** @internal */
6
7
  engineId: number;
8
+ /** @internal */
7
9
  set buffer(buffer: Nullable<GPUBuffer>);
10
+ /** @internal */
8
11
  constructor(resource?: GPUBuffer, capacity?: number);
12
+ /** @internal */
9
13
  get underlyingResource(): any;
10
14
  }
@@ -1,18 +1,22 @@
1
1
  import { DataBuffer } from "../../Buffers/dataBuffer.js";
2
2
  /** @internal */
3
3
  export class WebGPUDataBuffer extends DataBuffer {
4
+ /** @internal */
4
5
  set buffer(buffer) {
5
6
  this._buffer = buffer;
6
7
  }
8
+ /** @internal */
7
9
  constructor(resource, capacity = 0) {
8
10
  super();
9
11
  // Used to make sure the buffer is not recreated twice after a context loss/restoration
12
+ /** @internal */
10
13
  this.engineId = -1;
11
14
  this.capacity = capacity;
12
15
  if (resource) {
13
16
  this._buffer = resource;
14
17
  }
15
18
  }
19
+ /** @internal */
16
20
  get underlyingResource() {
17
21
  return this._buffer;
18
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webgpuDataBuffer.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/WebGPU/webgpuDataBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,gBAAgB;AAChB,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAM5C,IAAW,MAAM,CAAC,MAA2B;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,YAAmB,QAAoB,EAAE,QAAQ,GAAG,CAAC;QACjD,KAAK,EAAE,CAAC;QARZ,uFAAuF;QAChF,aAAQ,GAAG,CAAC,CAAC,CAAC;QAQjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,IAAoB,kBAAkB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { DataBuffer } from \"../../Buffers/dataBuffer\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/** @internal */\r\nexport class WebGPUDataBuffer extends DataBuffer {\r\n private _buffer: Nullable<GPUBuffer>;\r\n\r\n // Used to make sure the buffer is not recreated twice after a context loss/restoration\r\n public engineId = -1;\r\n\r\n public set buffer(buffer: Nullable<GPUBuffer>) {\r\n this._buffer = buffer;\r\n }\r\n\r\n public constructor(resource?: GPUBuffer, capacity = 0) {\r\n super();\r\n this.capacity = capacity;\r\n if (resource) {\r\n this._buffer = resource;\r\n }\r\n }\r\n\r\n public override get underlyingResource(): any {\r\n return this._buffer;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"webgpuDataBuffer.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/WebGPU/webgpuDataBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,gBAAgB;AAChB,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAO5C,gBAAgB;IAChB,IAAW,MAAM,CAAC,MAA2B;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,gBAAgB;IAChB,YAAmB,QAAoB,EAAE,QAAQ,GAAG,CAAC;QACjD,KAAK,EAAE,CAAC;QAXZ,uFAAuF;QACvF,gBAAgB;QACT,aAAQ,GAAG,CAAC,CAAC,CAAC;QAUjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,IAAoB,kBAAkB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { DataBuffer } from \"../../Buffers/dataBuffer\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/** @internal */\r\nexport class WebGPUDataBuffer extends DataBuffer {\r\n private _buffer: Nullable<GPUBuffer>;\r\n\r\n // Used to make sure the buffer is not recreated twice after a context loss/restoration\r\n /** @internal */\r\n public engineId = -1;\r\n\r\n /** @internal */\r\n public set buffer(buffer: Nullable<GPUBuffer>) {\r\n this._buffer = buffer;\r\n }\r\n\r\n /** @internal */\r\n public constructor(resource?: GPUBuffer, capacity = 0) {\r\n super();\r\n this.capacity = capacity;\r\n if (resource) {\r\n this._buffer = resource;\r\n }\r\n }\r\n\r\n /** @internal */\r\n public override get underlyingResource(): any {\r\n return this._buffer;\r\n }\r\n}\r\n"]}
@@ -76,6 +76,7 @@ declare class _FacetDataStorage {
76
76
  Y: number;
77
77
  Z: number;
78
78
  };
79
+ /** @internal */
79
80
  facetDepthSort: boolean;
80
81
  facetDepthSortEnabled: boolean;
81
82
  depthSortedIndices: IndicesArray;
@@ -1,6 +1,7 @@
1
1
  import type { Nullable } from "../types.js";
2
2
  import type { MeshUVSpaceRenderer } from "./meshUVSpaceRenderer.js";
3
3
  declare module "./abstractMesh.js" {
4
+ /** @internal */
4
5
  interface AbstractMesh {
5
6
  /** @internal */
6
7
  _decalMap: Nullable<MeshUVSpaceRenderer>;
@@ -1 +1 @@
1
- {"version":3,"file":"abstractMesh.decalMap.js","sourceRoot":"","sources":["../../../../dev/core/src/Meshes/abstractMesh.decalMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAgBtD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE;IACtD,GAAG,EAAE;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,GAAG,EAAE,UAA8B,QAAuC;QACtE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;CACrB,CAAC,CAAC","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { MeshUVSpaceRenderer } from \"./meshUVSpaceRenderer\";\r\n\r\ndeclare module \"./abstractMesh\" {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n export interface AbstractMesh {\r\n /** @internal */\r\n _decalMap: Nullable<MeshUVSpaceRenderer>;\r\n\r\n /**\r\n * Gets or sets the decal map for this mesh\r\n */\r\n decalMap: Nullable<MeshUVSpaceRenderer>;\r\n }\r\n}\r\n\r\nObject.defineProperty(AbstractMesh.prototype, \"decalMap\", {\r\n get: function (this: AbstractMesh) {\r\n return this._decalMap;\r\n },\r\n set: function (this: AbstractMesh, decalMap: Nullable<MeshUVSpaceRenderer>) {\r\n this._decalMap = decalMap;\r\n },\r\n enumerable: true,\r\n configurable: true,\r\n});\r\n"]}
1
+ {"version":3,"file":"abstractMesh.decalMap.js","sourceRoot":"","sources":["../../../../dev/core/src/Meshes/abstractMesh.decalMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAiBtD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE;IACtD,GAAG,EAAE;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,GAAG,EAAE,UAA8B,QAAuC;QACtE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;CACrB,CAAC,CAAC","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { MeshUVSpaceRenderer } from \"./meshUVSpaceRenderer\";\r\n\r\ndeclare module \"./abstractMesh\" {\r\n /** @internal */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n export interface AbstractMesh {\r\n /** @internal */\r\n _decalMap: Nullable<MeshUVSpaceRenderer>;\r\n\r\n /**\r\n * Gets or sets the decal map for this mesh\r\n */\r\n decalMap: Nullable<MeshUVSpaceRenderer>;\r\n }\r\n}\r\n\r\nObject.defineProperty(AbstractMesh.prototype, \"decalMap\", {\r\n get: function (this: AbstractMesh) {\r\n return this._decalMap;\r\n },\r\n set: function (this: AbstractMesh, decalMap: Nullable<MeshUVSpaceRenderer>) {\r\n this._decalMap = decalMap;\r\n },\r\n enumerable: true,\r\n configurable: true,\r\n});\r\n"]}
@@ -86,7 +86,6 @@ function ApplySkeleton(data, kind, skeletonMatrices, matricesIndicesData, matric
86
86
  }
87
87
  }
88
88
  /** @internal */
89
- // eslint-disable-next-line @typescript-eslint/naming-convention
90
89
  class _FacetDataStorage {
91
90
  constructor() {
92
91
  this.facetNb = 0; // facet number
@@ -99,13 +98,11 @@ class _FacetDataStorage {
99
98
  this.subDiv = {
100
99
  // actual number of subdivisions per axis for ComputeNormals()
101
100
  max: 1,
102
- // eslint-disable-next-line @typescript-eslint/naming-convention
103
101
  X: 1,
104
- // eslint-disable-next-line @typescript-eslint/naming-convention
105
102
  Y: 1,
106
- // eslint-disable-next-line @typescript-eslint/naming-convention
107
103
  Z: 1,
108
104
  };
105
+ /** @internal */
109
106
  this.facetDepthSort = false; // is the facet depth sort to be computed
110
107
  this.facetDepthSortEnabled = false; // is the facet depth sort initialized
111
108
  }
@@ -113,7 +110,6 @@ class _FacetDataStorage {
113
110
  /**
114
111
  * @internal
115
112
  **/
116
- // eslint-disable-next-line @typescript-eslint/naming-convention
117
113
  class _InternalAbstractMeshDataInfo {
118
114
  constructor() {
119
115
  this._hasVertexAlpha = false;
@@ -957,7 +953,6 @@ export class AbstractMesh extends TransformNode {
957
953
  * @param property if set to "rotation" the objects rotationQuaternion will be set to null
958
954
  * @returns this AbstractMesh
959
955
  */
960
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
961
956
  markAsDirty(property) {
962
957
  this._currentRenderId = Number.MAX_VALUE;
963
958
  super.markAsDirty(property);