@adobe/data-gpu 0.9.75 → 0.9.76

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 (383) hide show
  1. package/CLAUDE.md +9 -0
  2. package/README.md +36 -0
  3. package/dist/core/core-plugin.d.ts +1 -1
  4. package/dist/core/public.d.ts +2 -0
  5. package/dist/core/public.js +4 -0
  6. package/dist/core/public.js.map +1 -0
  7. package/dist/graphics/animation/animation-data-plugin.d.ts +8 -0
  8. package/dist/graphics/animation/animation-plugin.d.ts +10 -2
  9. package/dist/graphics/camera/camera-plugin.d.ts +3 -3
  10. package/dist/graphics/camera/orbit/attach-orbit-drag.d.ts +1 -21
  11. package/dist/graphics/camera/orbit/attach-orbit-drag.js +0 -10
  12. package/dist/graphics/camera/orbit/attach-orbit-drag.js.map +1 -1
  13. package/dist/graphics/camera/orbit/orbit-data-plugin.d.ts +6 -6
  14. package/dist/graphics/camera/orbit/orbit-data-plugin.js +1 -1
  15. package/dist/graphics/camera/orbit/orbit-data-plugin.js.map +1 -1
  16. package/dist/graphics/camera/orbit/orbit-drag-service.d.ts +11 -0
  17. package/dist/graphics/camera/orbit/orbit-drag-service.js +3 -0
  18. package/dist/graphics/camera/orbit/orbit-drag-service.js.map +1 -0
  19. package/dist/graphics/camera/orbit/orbit-plugin.d.ts +6 -6
  20. package/dist/graphics/camera/orbit/orbit-system-plugin.d.ts +8 -8
  21. package/dist/graphics/camera/orbit/orbit-system-plugin.js +6 -9
  22. package/dist/graphics/camera/orbit/orbit-system-plugin.js.map +1 -1
  23. package/dist/graphics/camera/orbit/orbit.d.ts +5 -5
  24. package/dist/graphics/camera/orbit/public.d.ts +2 -2
  25. package/dist/graphics/camera/orbit/public.js +2 -1
  26. package/dist/graphics/camera/orbit/public.js.map +1 -1
  27. package/dist/graphics/graphics-plugin.d.ts +1 -1
  28. package/dist/graphics/index.d.ts +1 -0
  29. package/dist/graphics/index.js +3 -0
  30. package/dist/graphics/index.js.map +1 -0
  31. package/dist/graphics/picking/picking-plugin.d.ts +9871 -1912
  32. package/dist/graphics/picking/picking-plugin.js +3 -3
  33. package/dist/graphics/picking/picking-plugin.js.map +1 -1
  34. package/dist/graphics/public.d.ts +38 -0
  35. package/dist/graphics/public.js +40 -0
  36. package/dist/graphics/public.js.map +1 -0
  37. package/dist/graphics/rendering/bone-collider-plugin.d.ts +2967 -486
  38. package/dist/graphics/rendering/bone-collider-plugin.js +13 -12
  39. package/dist/graphics/rendering/bone-collider-plugin.js.map +1 -1
  40. package/dist/graphics/rendering/display-transform-plugin.d.ts +2 -0
  41. package/dist/graphics/rendering/display-transform-plugin.js +2 -2
  42. package/dist/graphics/rendering/display-transform-plugin.js.map +1 -1
  43. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.d.ts +2857 -403
  44. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.js +9 -9
  45. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.js.map +1 -1
  46. package/dist/graphics/rendering/interpolation-plugin.d.ts +1040 -156
  47. package/dist/graphics/rendering/jolt-ragdoll-plugin.d.ts +3017 -538
  48. package/dist/graphics/rendering/jolt-ragdoll-plugin.js +6 -6
  49. package/dist/graphics/rendering/jolt-ragdoll-plugin.js.map +1 -1
  50. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.d.ts +1123 -0
  51. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.js +79 -0
  52. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.js.map +1 -0
  53. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.d.ts +1 -0
  54. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.js +18 -0
  55. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.js.map +1 -0
  56. package/dist/graphics/rendering/material-palette-gpu/material-palette.d.ts +25 -0
  57. package/dist/graphics/rendering/material-palette-gpu/material-palette.js +27 -0
  58. package/dist/graphics/rendering/material-palette-gpu/material-palette.js.map +1 -0
  59. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.d.ts +3 -0
  60. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.js +22 -0
  61. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.js.map +1 -0
  62. package/dist/graphics/rendering/model-collider-plugin.d.ts +2903 -663
  63. package/dist/graphics/rendering/model-collider-plugin.js +11 -34
  64. package/dist/graphics/rendering/model-collider-plugin.js.map +1 -1
  65. package/dist/graphics/rendering/pbr-core-plugin.d.ts +16 -8
  66. package/dist/graphics/rendering/pbr-core-plugin.js +16 -19
  67. package/dist/graphics/rendering/pbr-core-plugin.js.map +1 -1
  68. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.d.ts +3514 -0
  69. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.js +189 -0
  70. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.js.map +1 -0
  71. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.d.ts +7 -0
  72. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.js +124 -0
  73. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.js.map +1 -0
  74. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.d.ts +769 -571
  75. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.js +98 -79
  76. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.js.map +1 -1
  77. package/dist/graphics/rendering/pbr-render/primitive-render-shared.d.ts +43 -0
  78. package/dist/graphics/rendering/pbr-render/primitive-render-shared.js +59 -0
  79. package/dist/graphics/rendering/pbr-render/primitive-render-shared.js.map +1 -0
  80. package/dist/graphics/rendering/skinning/skinning-plugin.d.ts +2930 -270
  81. package/dist/graphics/rendering/skinning/skinning-plugin.js +19 -40
  82. package/dist/graphics/rendering/skinning/skinning-plugin.js.map +1 -1
  83. package/dist/graphics/scene/model/geometry/public.d.ts +1 -0
  84. package/dist/graphics/scene/model/mesh/mesh.d.ts +13 -0
  85. package/dist/graphics/scene/model/mesh/mesh.js +3 -0
  86. package/dist/graphics/scene/model/mesh/mesh.js.map +1 -0
  87. package/dist/graphics/scene/model/mesh/public.d.ts +1 -0
  88. package/dist/graphics/scene/model/mesh/public.js +3 -0
  89. package/dist/graphics/scene/model/mesh/public.js.map +1 -0
  90. package/dist/graphics/scene/model/mesh-plugin.d.ts +5177 -0
  91. package/dist/graphics/scene/model/mesh-plugin.js +87 -0
  92. package/dist/graphics/scene/model/mesh-plugin.js.map +1 -0
  93. package/dist/graphics/scene/model/model-loader-plugin.d.ts +2728 -295
  94. package/dist/graphics/scene/model/model-loader-plugin.js +24 -42
  95. package/dist/graphics/scene/model/model-loader-plugin.js.map +1 -1
  96. package/dist/graphics/scene/model/model-plugin.d.ts +1 -352
  97. package/dist/graphics/scene/model/model-plugin.js +1 -37
  98. package/dist/graphics/scene/model/model-plugin.js.map +1 -1
  99. package/dist/graphics/scene/model/model.d.ts +2 -6
  100. package/dist/graphics/scene/model/model.js.map +1 -1
  101. package/dist/graphics/scene/model/public.d.ts +1 -1
  102. package/dist/graphics/scene/model/public.js +2 -1
  103. package/dist/graphics/scene/model/public.js.map +1 -1
  104. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.d.ts +4 -0
  105. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.js +25 -0
  106. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.js.map +1 -0
  107. package/dist/graphics/scene/model/shape/shape-geometry-plugin.d.ts +233 -386
  108. package/dist/graphics/scene/model/shape/shape-geometry-plugin.js +87 -18
  109. package/dist/graphics/scene/model/shape/shape-geometry-plugin.js.map +1 -1
  110. package/dist/graphics/scene/model/shape/shape-spec.d.ts +17 -0
  111. package/dist/graphics/scene/model/shape/shape-spec.js +3 -0
  112. package/dist/graphics/scene/model/shape/shape-spec.js.map +1 -0
  113. package/dist/graphics/scene/model/world-bounds-plugin.d.ts +2670 -245
  114. package/dist/graphics/scene/model/world-bounds-plugin.js +6 -25
  115. package/dist/graphics/scene/model/world-bounds-plugin.js.map +1 -1
  116. package/dist/graphics/scene/node/node-data-plugin.d.ts +15 -4
  117. package/dist/graphics/scene/node/node-data-plugin.js +12 -5
  118. package/dist/graphics/scene/node/node-data-plugin.js.map +1 -1
  119. package/dist/graphics/scene/node/node-data-plugin.test.d.ts +1 -0
  120. package/dist/graphics/scene/node/node-data-plugin.test.js +40 -0
  121. package/dist/graphics/scene/node/node-data-plugin.test.js.map +1 -0
  122. package/dist/graphics/scene/node/node-plugin.d.ts +8 -1
  123. package/dist/graphics/scene/node/transform-plugin.d.ts +8 -1
  124. package/dist/graphics/scene/scene-plugin.d.ts +2353 -100
  125. package/dist/graphics/scene/scene-plugin.js +3 -3
  126. package/dist/graphics/scene/scene-plugin.js.map +1 -1
  127. package/dist/graphics/scene/scene-uniforms/scene-uniforms-plugin.d.ts +3 -3
  128. package/dist/index.d.ts +1 -53
  129. package/dist/index.js +1 -54
  130. package/dist/index.js.map +1 -1
  131. package/dist/material/assemble-material-row.d.ts +4 -0
  132. package/dist/material/assemble-material-row.js +22 -0
  133. package/dist/material/assemble-material-row.js.map +1 -0
  134. package/dist/material/definitions.d.ts +833 -0
  135. package/dist/material/definitions.js +423 -0
  136. package/dist/material/definitions.js.map +1 -0
  137. package/dist/material/emission-mode.d.ts +8 -0
  138. package/dist/material/emission-mode.js +9 -0
  139. package/dist/material/emission-mode.js.map +1 -0
  140. package/dist/material/index.d.ts +1 -0
  141. package/dist/material/index.js +3 -0
  142. package/dist/material/index.js.map +1 -0
  143. package/dist/material/json/from-json-string.d.ts +2 -0
  144. package/dist/material/json/from-json-string.js +12 -0
  145. package/dist/material/json/from-json-string.js.map +1 -0
  146. package/dist/material/json/from-json.d.ts +10 -0
  147. package/dist/material/json/from-json.js +16 -0
  148. package/dist/material/json/from-json.js.map +1 -0
  149. package/dist/material/json/from-json.test.d.ts +1 -0
  150. package/dist/material/json/from-json.test.js +46 -0
  151. package/dist/material/json/from-json.test.js.map +1 -0
  152. package/dist/material/json/is-properties-json.d.ts +2 -0
  153. package/dist/material/json/is-properties-json.js +65 -0
  154. package/dist/material/json/is-properties-json.js.map +1 -0
  155. package/dist/material/json/library-json.d.ts +3 -0
  156. package/dist/material/json/library-json.js +2 -0
  157. package/dist/material/json/library-json.js.map +1 -0
  158. package/dist/material/json/load-json.d.ts +7 -0
  159. package/dist/material/json/load-json.js +10 -0
  160. package/dist/material/json/load-json.js.map +1 -0
  161. package/dist/material/json/properties-json.d.ts +25 -0
  162. package/dist/material/json/properties-json.js +2 -0
  163. package/dist/material/json/properties-json.js.map +1 -0
  164. package/dist/material/json/public.d.ts +9 -0
  165. package/dist/material/json/public.js +6 -0
  166. package/dist/material/json/public.js.map +1 -0
  167. package/dist/material/json/to-definition.d.ts +5 -0
  168. package/dist/material/json/to-definition.js +65 -0
  169. package/dist/material/json/to-definition.js.map +1 -0
  170. package/dist/material/material-by-name-lookup.d.ts +11 -0
  171. package/dist/material/material-by-name-lookup.js +3 -0
  172. package/dist/material/material-by-name-lookup.js.map +1 -0
  173. package/dist/material/material-defaults.d.ts +23 -0
  174. package/dist/material/material-defaults.js +25 -0
  175. package/dist/material/material-defaults.js.map +1 -0
  176. package/dist/material/material-definition.d.ts +3 -0
  177. package/dist/material/material-definition.js +2 -0
  178. package/dist/material/material-definition.js.map +1 -0
  179. package/dist/material/material-name.d.ts +2 -0
  180. package/dist/material/material-name.js +2 -0
  181. package/dist/material/material-name.js.map +1 -0
  182. package/dist/material/material-plugin.d.ts +891 -22
  183. package/dist/material/material-plugin.js +46 -21
  184. package/dist/material/material-plugin.js.map +1 -1
  185. package/dist/material/material-plugin.test.d.ts +1 -0
  186. package/dist/material/material-plugin.test.js +87 -0
  187. package/dist/material/material-plugin.test.js.map +1 -0
  188. package/dist/material/material.d.ts +27 -29
  189. package/dist/material/material.js +0 -1
  190. package/dist/material/material.js.map +1 -1
  191. package/dist/material/public.d.ts +12 -2
  192. package/dist/material/public.js +12 -2
  193. package/dist/material/public.js.map +1 -1
  194. package/dist/material/require-material.d.ts +4 -0
  195. package/dist/material/require-material.js +10 -0
  196. package/dist/material/require-material.js.map +1 -0
  197. package/dist/material/standard-material-names.d.ts +2 -0
  198. package/dist/material/standard-material-names.js +4 -0
  199. package/dist/material/standard-material-names.js.map +1 -0
  200. package/dist/material/standard-materials.d.ts +1 -1
  201. package/dist/material/standard-materials.js +17 -24
  202. package/dist/material/standard-materials.js.map +1 -1
  203. package/dist/material/stress-strain-curve/create.d.ts +8 -0
  204. package/dist/material/stress-strain-curve/create.js +2 -0
  205. package/dist/material/stress-strain-curve/create.js.map +1 -0
  206. package/dist/material/stress-strain-curve/public.d.ts +2 -0
  207. package/dist/material/stress-strain-curve/public.js +3 -0
  208. package/dist/material/stress-strain-curve/public.js.map +1 -0
  209. package/dist/material/stress-strain-curve/schema.d.ts +52 -0
  210. package/dist/material/stress-strain-curve/schema.js +19 -0
  211. package/dist/material/stress-strain-curve/schema.js.map +1 -0
  212. package/dist/material/stress-strain-curve/schema.test.d.ts +1 -0
  213. package/dist/material/stress-strain-curve/schema.test.js +18 -0
  214. package/dist/material/stress-strain-curve/schema.test.js.map +1 -0
  215. package/dist/material/stress-strain-curve/stress-strain-curve.d.ts +4 -0
  216. package/dist/material/stress-strain-curve/stress-strain-curve.js +2 -0
  217. package/dist/material/stress-strain-curve/stress-strain-curve.js.map +1 -0
  218. package/dist/physics/body/collider-shape/mass-from-volume.d.ts +2 -0
  219. package/dist/physics/body/collider-shape/mass-from-volume.js +4 -0
  220. package/dist/physics/body/collider-shape/mass-from-volume.js.map +1 -0
  221. package/dist/physics/body/collider-shape/mass-from-volume.test.d.ts +1 -0
  222. package/dist/physics/body/collider-shape/mass-from-volume.test.js +8 -0
  223. package/dist/physics/body/collider-shape/mass-from-volume.test.js.map +1 -0
  224. package/dist/physics/collider-primitive-render-archetype.d.ts +2 -0
  225. package/dist/physics/collider-primitive-render-archetype.js +3 -0
  226. package/dist/physics/collider-primitive-render-archetype.js.map +1 -0
  227. package/dist/physics/collider-primitive-render-archetypes.d.ts +2 -0
  228. package/dist/physics/collider-primitive-render-archetypes.js +9 -0
  229. package/dist/physics/collider-primitive-render-archetypes.js.map +1 -0
  230. package/dist/physics/index.d.ts +1 -0
  231. package/dist/physics/index.js +3 -0
  232. package/dist/physics/index.js.map +1 -0
  233. package/dist/physics/is-voxel-shape-physics-pending.d.ts +3 -0
  234. package/dist/physics/is-voxel-shape-physics-pending.js +7 -0
  235. package/dist/physics/is-voxel-shape-physics-pending.js.map +1 -0
  236. package/dist/physics/physics-clock/physics-clock.d.ts +15 -0
  237. package/dist/physics/physics-clock/physics-clock.js +3 -0
  238. package/dist/physics/physics-clock/physics-clock.js.map +1 -0
  239. package/dist/physics/physics-clock-plugin.d.ts +2 -22
  240. package/dist/physics/physics-clock-plugin.js +0 -2
  241. package/dist/physics/physics-clock-plugin.js.map +1 -1
  242. package/dist/physics/physics-clock.test.js.map +1 -1
  243. package/dist/physics/physics-data-plugin.d.ts +889 -13
  244. package/dist/physics/physics-data-plugin.js +8 -6
  245. package/dist/physics/physics-data-plugin.js.map +1 -1
  246. package/dist/physics/public.d.ts +21 -0
  247. package/dist/physics/public.js +23 -0
  248. package/dist/physics/public.js.map +1 -0
  249. package/dist/physics/ragdoll/bone-capsule.d.ts +8 -0
  250. package/dist/physics/ragdoll/bone-capsule.js +3 -0
  251. package/dist/physics/ragdoll/bone-capsule.js.map +1 -0
  252. package/dist/physics/ragdoll/fit-bone-capsules-input.d.ts +11 -0
  253. package/dist/physics/ragdoll/fit-bone-capsules-input.js +3 -0
  254. package/dist/physics/ragdoll/fit-bone-capsules-input.js.map +1 -0
  255. package/dist/physics/ragdoll/fit-bone-capsules.d.ts +2 -38
  256. package/dist/physics/ragdoll/fit-bone-capsules.js +13 -0
  257. package/dist/physics/ragdoll/fit-bone-capsules.js.map +1 -1
  258. package/dist/physics/ragdoll/fit-bone-capsules.test.js.map +1 -1
  259. package/dist/physics/ragdoll/skin-vertices.d.ts +6 -0
  260. package/dist/physics/ragdoll/skin-vertices.js +3 -0
  261. package/dist/physics/ragdoll/skin-vertices.js.map +1 -0
  262. package/dist/physics/rigid-body-components.d.ts +2 -0
  263. package/dist/physics/rigid-body-components.js +13 -0
  264. package/dist/physics/rigid-body-components.js.map +1 -0
  265. package/dist/physics/solvers/jolt-solver-plugin.d.ts +918 -41
  266. package/dist/physics/solvers/jolt-solver-plugin.js +19 -3
  267. package/dist/physics/solvers/jolt-solver-plugin.js.map +1 -1
  268. package/dist/physics/solvers/rapier-solver-plugin.d.ts +918 -41
  269. package/dist/physics/solvers/rapier-solver-plugin.js +7 -2
  270. package/dist/physics/solvers/rapier-solver-plugin.js.map +1 -1
  271. package/dist/physics/solvers/solver-benchmark-options.d.ts +14 -0
  272. package/dist/physics/solvers/solver-benchmark-options.js +3 -0
  273. package/dist/physics/solvers/solver-benchmark-options.js.map +1 -0
  274. package/dist/physics/solvers/solver-benchmark-result.d.ts +15 -0
  275. package/dist/physics/solvers/solver-benchmark-result.js +3 -0
  276. package/dist/physics/solvers/solver-benchmark-result.js.map +1 -0
  277. package/dist/physics/solvers/solver-benchmark.d.ts +2 -43
  278. package/dist/physics/solvers/solver-benchmark.js.map +1 -1
  279. package/dist/physics/static-collider-components.d.ts +2 -0
  280. package/dist/physics/static-collider-components.js +10 -0
  281. package/dist/physics/static-collider-components.js.map +1 -0
  282. package/package.json +14 -2
  283. package/src/core/public.ts +4 -0
  284. package/src/graphics/camera/orbit/attach-orbit-drag.ts +7 -27
  285. package/src/graphics/camera/orbit/orbit-data-plugin.ts +1 -1
  286. package/src/graphics/camera/orbit/orbit-drag-service.ts +13 -0
  287. package/src/graphics/camera/orbit/orbit-system-plugin.ts +6 -9
  288. package/src/graphics/camera/orbit/orbit.ts +5 -5
  289. package/src/graphics/camera/orbit/public.ts +2 -2
  290. package/src/graphics/index.ts +3 -0
  291. package/src/graphics/picking/picking-plugin.ts +4 -4
  292. package/src/graphics/public.ts +40 -0
  293. package/src/graphics/rendering/bone-collider-plugin.ts +16 -12
  294. package/src/graphics/rendering/display-transform-plugin.ts +2 -2
  295. package/src/graphics/rendering/ibl-render/ibl-render-plugin.ts +9 -9
  296. package/src/graphics/rendering/interpolation.test.ts +1 -1
  297. package/src/graphics/rendering/jolt-ragdoll-plugin.ts +11 -7
  298. package/src/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.ts +86 -0
  299. package/src/graphics/rendering/material-palette-gpu/material-palette-gpu.test.ts +20 -0
  300. package/src/graphics/rendering/material-palette-gpu/material-palette.ts +41 -0
  301. package/src/graphics/rendering/material-palette-gpu/palette-bind-group.ts +24 -0
  302. package/src/graphics/rendering/model-collider-plugin.ts +19 -35
  303. package/src/graphics/rendering/pbr-core-plugin.ts +16 -19
  304. package/src/graphics/rendering/pbr-render/{pbr-render-plugin.ts → pbr-factor-render-plugin.ts} +60 -111
  305. package/src/graphics/rendering/pbr-render/{pbr-array-shader.wgsl.ts → pbr-factor-shader.wgsl.ts} +19 -40
  306. package/src/graphics/rendering/pbr-render/physics-bridge-plugin.ts +95 -69
  307. package/src/graphics/rendering/pbr-render/primitive-render-shared.ts +76 -0
  308. package/src/graphics/rendering/skinning/skinning-plugin.ts +23 -41
  309. package/src/graphics/scene/model/geometry/public.ts +1 -1
  310. package/src/graphics/scene/model/mesh/mesh.ts +18 -0
  311. package/src/graphics/scene/model/mesh/public.ts +3 -0
  312. package/src/graphics/scene/model/mesh-plugin.ts +102 -0
  313. package/src/graphics/scene/model/model-loader-plugin.ts +25 -43
  314. package/src/graphics/scene/model/model-plugin.ts +1 -44
  315. package/src/graphics/scene/model/model.ts +2 -6
  316. package/src/graphics/scene/model/public.ts +3 -1
  317. package/src/graphics/scene/model/shape/bounds-from-shape-mesh.ts +20 -0
  318. package/src/graphics/scene/model/shape/shape-geometry-plugin.ts +97 -18
  319. package/src/graphics/scene/model/shape/shape-spec.ts +9 -0
  320. package/src/graphics/scene/model/world-bounds-plugin.ts +6 -25
  321. package/src/graphics/scene/node/node-data-plugin.test.ts +47 -0
  322. package/src/graphics/scene/node/node-data-plugin.ts +12 -5
  323. package/src/graphics/scene/scene-plugin.ts +3 -3
  324. package/src/index.ts +1 -70
  325. package/src/material/assemble-material-row.ts +26 -0
  326. package/src/material/definitions.ts +427 -0
  327. package/src/material/emission-mode.ts +11 -0
  328. package/src/material/index.ts +3 -0
  329. package/src/material/json/from-json-string.ts +11 -0
  330. package/src/material/json/from-json.test.ts +50 -0
  331. package/src/material/json/from-json.ts +23 -0
  332. package/src/material/json/is-properties-json.ts +77 -0
  333. package/src/material/json/library-json.ts +4 -0
  334. package/src/material/json/load-json.ts +15 -0
  335. package/src/material/json/properties-json.ts +25 -0
  336. package/src/material/json/public.ts +9 -0
  337. package/src/material/json/to-definition.ts +70 -0
  338. package/src/material/material-by-name-lookup.ts +10 -0
  339. package/src/material/material-defaults.ts +26 -0
  340. package/src/material/material-definition.ts +4 -0
  341. package/src/material/material-name.ts +3 -0
  342. package/src/material/material-plugin.test.ts +97 -0
  343. package/src/material/material-plugin.ts +67 -39
  344. package/src/material/material.ts +35 -34
  345. package/src/material/public.ts +12 -2
  346. package/src/material/require-material.ts +15 -0
  347. package/src/material/standard-material-names.ts +4 -0
  348. package/src/material/standard-materials.ts +21 -27
  349. package/src/material/stress-strain-curve/create.ts +9 -0
  350. package/src/material/stress-strain-curve/public.ts +2 -0
  351. package/src/material/stress-strain-curve/schema.test.ts +20 -0
  352. package/src/material/stress-strain-curve/schema.ts +20 -0
  353. package/src/material/stress-strain-curve/stress-strain-curve.ts +11 -0
  354. package/src/physics/README.md +9 -1
  355. package/src/physics/body/collider-shape/mass-from-volume.test.ts +8 -0
  356. package/src/physics/body/collider-shape/mass-from-volume.ts +4 -0
  357. package/src/physics/collider-primitive-render-archetype.ts +5 -0
  358. package/src/physics/collider-primitive-render-archetypes.ts +9 -0
  359. package/src/physics/index.ts +3 -0
  360. package/src/physics/is-voxel-shape-physics-pending.ts +9 -0
  361. package/src/physics/physics-clock/physics-clock.ts +17 -0
  362. package/src/physics/physics-clock-plugin.ts +1 -24
  363. package/src/physics/physics-clock.test.ts +2 -1
  364. package/src/physics/physics-data-plugin.ts +8 -6
  365. package/src/physics/public.ts +23 -0
  366. package/src/physics/ragdoll/bone-capsule.ts +11 -0
  367. package/src/physics/ragdoll/fit-bone-capsules-input.ts +14 -0
  368. package/src/physics/ragdoll/fit-bone-capsules.test.ts +2 -1
  369. package/src/physics/ragdoll/fit-bone-capsules.ts +2 -27
  370. package/src/physics/ragdoll/skin-vertices.ts +8 -0
  371. package/src/physics/rigid-body-components.ts +13 -0
  372. package/src/physics/solvers/README.md +4 -0
  373. package/src/physics/solvers/jolt-solver-plugin.ts +19 -5
  374. package/src/physics/solvers/rapier-solver-plugin.ts +5 -2
  375. package/src/physics/solvers/solver-benchmark-options.ts +16 -0
  376. package/src/physics/solvers/solver-benchmark-result.ts +17 -0
  377. package/src/physics/solvers/solver-benchmark.ts +2 -35
  378. package/src/physics/static-collider-components.ts +10 -0
  379. package/tsconfig.tsbuildinfo +1 -1
  380. package/src/graphics/rendering/material-gpu/material-arrays.ts +0 -113
  381. package/src/graphics/rendering/material-gpu/material-bind-group.ts +0 -61
  382. package/src/graphics/rendering/material-gpu/material-gpu-plugin.ts +0 -95
  383. package/src/graphics/scene/model/geometry/geometry.ts +0 -12
@@ -1,171 +1,14 @@
1
1
  import { type Entity } from "@adobe/data/ecs";
2
+ import type { Aabb } from "@adobe/data/math";
3
+ import type { ShapeSpec } from "./shape-spec.js";
2
4
  /**
3
- * shapeGeometry — registers procedural unit-sphere and unit-cube geometries as
4
- * `Geometry` + `_PbrPrimitive` entities (StandardVertex layout), exactly like
5
- * the model loader does for glTF, so primitives and loaded models share one
6
- * render path. The two geometry entity ids are published in `_shapeGeometry`
7
- * for the physics render bridge to reference (sphere / cuboid bodies). Built
8
- * once when the device is ready.
5
+ * shapeGeometry — bakes built-in procedural meshes into `StaticMesh` + `_PbrPrimitive`
6
+ * (StandardVertex layout). Registers shared unit sphere/cube at init; provides
7
+ * `insertStaticMeshPrimitive` for direct bakes (capsule/hull caches, extensions, etc.).
9
8
  */
10
9
  export declare const shapeGeometry: {
11
- readonly components: {} & {
12
- readonly _vertexBuffer: {
13
- readonly default: GPUBuffer | null;
14
- };
15
- readonly _skinVertexBuffer: {
16
- readonly default: GPUBuffer | null;
17
- };
18
- readonly _indexBuffer: {
19
- readonly default: GPUBuffer | null;
20
- };
21
- readonly _indexCount: {
22
- readonly type: "integer";
23
- readonly minimum: 0;
24
- readonly maximum: 4294967295;
25
- readonly default: number;
26
- };
27
- readonly _indexFormat: {
28
- readonly default: GPUIndexFormat;
29
- };
30
- readonly _materialBindGroup: {
31
- readonly default: GPUBindGroup | null;
32
- };
33
- readonly _geometry: {
34
- readonly type: "integer";
35
- readonly minimum: -2147483648;
36
- readonly maximum: 2147483647;
37
- readonly default: number;
38
- };
39
- readonly _material: {
40
- readonly type: "integer";
41
- readonly minimum: -2147483648;
42
- readonly maximum: 2147483647;
43
- readonly default: number;
44
- };
45
- readonly _nodeLocalMatrix: {
46
- readonly type: "array";
47
- readonly items: {
48
- readonly type: "number";
49
- readonly precision: 1;
50
- readonly default: number;
51
- };
52
- readonly minItems: 16;
53
- readonly maxItems: 16;
54
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
55
- };
56
- readonly _skeletonModelRef: {
57
- readonly type: "integer";
58
- readonly minimum: -2147483648;
59
- readonly maximum: 2147483647;
60
- readonly default: number;
61
- };
62
- readonly _skeletonJointMatrixBindGroup: {
63
- readonly default: GPUBindGroup | null;
64
- };
65
- } & {
66
- readonly visible: {
67
- readonly type: "boolean";
68
- readonly const: true;
69
- readonly default: true;
70
- };
71
- readonly position: {
72
- readonly type: "array";
73
- readonly items: {
74
- readonly type: "number";
75
- readonly precision: 1;
76
- readonly default: number;
77
- };
78
- readonly minItems: 3;
79
- readonly maxItems: 3;
80
- readonly default: readonly [0, 0, 0];
81
- };
82
- readonly rotation: {
83
- readonly type: "array";
84
- readonly items: {
85
- readonly type: "number";
86
- readonly precision: 1;
87
- readonly default: number;
88
- };
89
- readonly minItems: 4;
90
- readonly maxItems: 4;
91
- readonly default: readonly [0, 0, 0, 1];
92
- readonly interpolators: {
93
- readonly linear: (q1: any, q2: any, t: number) => any;
94
- };
95
- };
96
- readonly scale: {
97
- readonly type: "array";
98
- readonly items: {
99
- readonly type: "number";
100
- readonly precision: 1;
101
- readonly default: number;
102
- };
103
- readonly minItems: 3;
104
- readonly maxItems: 3;
105
- readonly default: readonly [0, 0, 0];
106
- };
107
- readonly parent: {
108
- readonly type: "integer";
109
- readonly minimum: -2147483648;
110
- readonly maximum: 2147483647;
111
- readonly default: number;
112
- };
113
- readonly _worldMatrix: {
114
- readonly type: "array";
115
- readonly items: {
116
- readonly type: "number";
117
- readonly precision: 1;
118
- readonly default: number;
119
- };
120
- readonly minItems: 16;
121
- readonly maxItems: 16;
122
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
123
- };
124
- readonly _worldBounds: {
125
- readonly type: "object";
126
- readonly properties: {
127
- readonly min: {
128
- readonly type: "array";
129
- readonly items: {
130
- readonly type: "number";
131
- readonly precision: 1;
132
- readonly default: number;
133
- };
134
- readonly minItems: 3;
135
- readonly maxItems: 3;
136
- readonly default: readonly [0, 0, 0];
137
- };
138
- readonly max: {
139
- readonly type: "array";
140
- readonly items: {
141
- readonly type: "number";
142
- readonly precision: 1;
143
- readonly default: number;
144
- };
145
- readonly minItems: 3;
146
- readonly maxItems: 3;
147
- readonly default: readonly [0, 0, 0];
148
- };
149
- };
150
- readonly required: readonly ["min", "max"];
151
- readonly additionalProperties: false;
152
- readonly default: {
153
- readonly min: readonly [0, 0, 0];
154
- readonly max: readonly [0, 0, 0];
155
- };
156
- };
157
- } & {
158
- readonly modelUrl: {
159
- readonly type: "string";
160
- };
161
- readonly geometry: {
162
- readonly type: "integer";
163
- readonly minimum: -2147483648;
164
- readonly maximum: 2147483647;
165
- readonly default: number;
166
- };
167
- };
168
- readonly resources: {} & {
10
+ readonly components: {};
11
+ readonly resources: {
169
12
  readonly frameTime: {
170
13
  readonly default: import("../../../../core/frame-time/public.js");
171
14
  readonly nonPersistent: true;
@@ -184,7 +27,7 @@ export declare const shapeGeometry: {
184
27
  readonly nonPersistent: true;
185
28
  };
186
29
  } & {
187
- readonly _shapeGeometry: {
30
+ readonly _shapeMeshes: {
188
31
  readonly default: {
189
32
  sphere: Entity;
190
33
  cube: Entity;
@@ -192,27 +35,9 @@ export declare const shapeGeometry: {
192
35
  readonly nonPersistent: true;
193
36
  };
194
37
  };
195
- readonly archetypes: {} & {
196
- readonly _VisibleMaterial: readonly ["ephemeral", "_materialBindGroup", "_geometry"];
197
- readonly _PbrPrimitive: readonly ["ephemeral", "_vertexBuffer", "_skinVertexBuffer", "_indexBuffer", "_indexCount", "_indexFormat", "_material", "_geometry", "_nodeLocalMatrix"];
198
- } & {
199
- readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
200
- } & {} & {
201
- readonly Geometry: readonly ["modelUrl"];
202
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
203
- } & {};
204
- readonly transactions: {} & {} & {} & {
205
- readonly insertGeometry: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
206
- readonly modelUrl: {
207
- readonly type: "string";
208
- };
209
- readonly geometry: {
210
- readonly type: "integer";
211
- readonly minimum: -2147483648;
212
- readonly maximum: 2147483647;
213
- readonly default: number;
214
- };
215
- } & {
38
+ readonly archetypes: {} & {};
39
+ readonly transactions: {} & {} & {
40
+ readonly insertStaticMeshPrimitive: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{} & {
216
41
  readonly visible: {
217
42
  readonly type: "boolean";
218
43
  readonly const: true;
@@ -261,6 +86,7 @@ export declare const shapeGeometry: {
261
86
  readonly default: number;
262
87
  };
263
88
  readonly _worldMatrix: {
89
+ readonly nonPersistent: true;
264
90
  readonly type: "array";
265
91
  readonly items: {
266
92
  readonly type: "number";
@@ -272,6 +98,7 @@ export declare const shapeGeometry: {
272
98
  readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
273
99
  };
274
100
  readonly _worldBounds: {
101
+ readonly nonPersistent: true;
275
102
  readonly type: "object";
276
103
  readonly properties: {
277
104
  readonly min: {
@@ -304,42 +131,103 @@ export declare const shapeGeometry: {
304
131
  readonly max: readonly [0, 0, 0];
305
132
  };
306
133
  };
307
- } & {}>, import("@adobe/data/schema").FromSchemas<{}>, {
308
- readonly Geometry: readonly ["modelUrl"];
309
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
310
134
  } & {
311
- readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
312
- } & {}, {} & {} & {}>, args: {
313
- modelUrl: string;
314
- }) => number;
315
- readonly insertModel: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
316
- readonly modelUrl: {
317
- readonly type: "string";
318
- };
319
- readonly geometry: {
135
+ readonly material: {
320
136
  readonly type: "integer";
321
137
  readonly minimum: -2147483648;
322
138
  readonly maximum: 2147483647;
323
139
  readonly default: number;
324
140
  };
325
- } & {
326
- readonly visible: {
327
- readonly type: "boolean";
328
- readonly const: true;
329
- readonly default: true;
141
+ readonly name: {
142
+ readonly type: "string";
330
143
  };
331
- readonly position: {
332
- readonly type: "array";
333
- readonly items: {
334
- readonly type: "number";
335
- readonly precision: 1;
336
- readonly default: number;
144
+ readonly density: {
145
+ readonly type: "number";
146
+ readonly precision: 1;
147
+ readonly default: number;
148
+ };
149
+ readonly restitution: {
150
+ readonly type: "number";
151
+ readonly precision: 1;
152
+ readonly default: number;
153
+ };
154
+ readonly friction: {
155
+ readonly type: "number";
156
+ readonly precision: 1;
157
+ readonly default: number;
158
+ };
159
+ readonly compliance: {
160
+ readonly type: "number";
161
+ readonly precision: 1;
162
+ readonly default: number;
163
+ };
164
+ readonly heatCapacity: {
165
+ readonly type: "number";
166
+ readonly precision: 1;
167
+ readonly default: number;
168
+ };
169
+ readonly viscosity: {
170
+ readonly type: "number";
171
+ readonly precision: 1;
172
+ readonly default: number;
173
+ };
174
+ readonly thermalConductivity: {
175
+ readonly type: "number";
176
+ readonly precision: 1;
177
+ readonly default: number;
178
+ };
179
+ readonly stressStrainCurve: {
180
+ readonly type: "object";
181
+ readonly layout: "packed";
182
+ readonly properties: {
183
+ readonly tensileYieldStrainStress: {
184
+ readonly type: "array";
185
+ readonly items: {
186
+ readonly type: "number";
187
+ readonly precision: 1;
188
+ readonly default: number;
189
+ };
190
+ readonly minItems: 2;
191
+ readonly maxItems: 2;
192
+ readonly default: readonly [0, 0];
193
+ };
194
+ readonly tensileFractureStrainStress: {
195
+ readonly type: "array";
196
+ readonly items: {
197
+ readonly type: "number";
198
+ readonly precision: 1;
199
+ readonly default: number;
200
+ };
201
+ readonly minItems: 2;
202
+ readonly maxItems: 2;
203
+ readonly default: readonly [0, 0];
204
+ };
205
+ readonly compressiveYieldStrainStress: {
206
+ readonly type: "array";
207
+ readonly items: {
208
+ readonly type: "number";
209
+ readonly precision: 1;
210
+ readonly default: number;
211
+ };
212
+ readonly minItems: 2;
213
+ readonly maxItems: 2;
214
+ readonly default: readonly [0, 0];
215
+ };
216
+ readonly compressiveFractureStrainStress: {
217
+ readonly type: "array";
218
+ readonly items: {
219
+ readonly type: "number";
220
+ readonly precision: 1;
221
+ readonly default: number;
222
+ };
223
+ readonly minItems: 2;
224
+ readonly maxItems: 2;
225
+ readonly default: readonly [0, 0];
226
+ };
337
227
  };
338
- readonly minItems: 3;
339
- readonly maxItems: 3;
340
- readonly default: readonly [0, 0, 0];
228
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
341
229
  };
342
- readonly rotation: {
230
+ readonly baseColorFactor: {
343
231
  readonly type: "array";
344
232
  readonly items: {
345
233
  readonly type: "number";
@@ -348,12 +236,9 @@ export declare const shapeGeometry: {
348
236
  };
349
237
  readonly minItems: 4;
350
238
  readonly maxItems: 4;
351
- readonly default: readonly [0, 0, 0, 1];
352
- readonly interpolators: {
353
- readonly linear: (q1: any, q2: any, t: number) => any;
354
- };
239
+ readonly default: readonly [0, 0, 0, 0];
355
240
  };
356
- readonly scale: {
241
+ readonly emissiveFactor: {
357
242
  readonly type: "array";
358
243
  readonly items: {
359
244
  readonly type: "number";
@@ -364,80 +249,113 @@ export declare const shapeGeometry: {
364
249
  readonly maxItems: 3;
365
250
  readonly default: readonly [0, 0, 0];
366
251
  };
367
- readonly parent: {
252
+ readonly metallicFactor: {
253
+ readonly type: "number";
254
+ readonly precision: 1;
255
+ readonly default: number;
256
+ };
257
+ readonly roughnessFactor: {
258
+ readonly type: "number";
259
+ readonly precision: 1;
260
+ readonly default: number;
261
+ };
262
+ readonly normalScale: {
263
+ readonly type: "number";
264
+ readonly precision: 1;
265
+ readonly default: number;
266
+ };
267
+ readonly occlusionStrength: {
268
+ readonly type: "number";
269
+ readonly precision: 1;
270
+ readonly default: number;
271
+ };
272
+ readonly irReflectance: {
273
+ readonly type: "number";
274
+ readonly precision: 1;
275
+ readonly default: number;
276
+ };
277
+ readonly irEmission: {
278
+ readonly type: "number";
279
+ readonly precision: 1;
280
+ readonly default: number;
281
+ };
282
+ readonly emissionMode: {
283
+ readonly type: "integer";
284
+ readonly minimum: 0;
285
+ readonly maximum: 4294967295;
286
+ readonly default: number;
287
+ };
288
+ readonly baseColorUrl: {
289
+ readonly type: "string";
290
+ };
291
+ readonly metallicRoughnessUrl: {
292
+ readonly type: "string";
293
+ };
294
+ readonly normalUrl: {
295
+ readonly type: "string";
296
+ };
297
+ readonly occlusionUrl: {
298
+ readonly type: "string";
299
+ };
300
+ readonly emissiveUrl: {
301
+ readonly type: "string";
302
+ };
303
+ } & {
304
+ readonly mesh: {
368
305
  readonly type: "integer";
369
306
  readonly minimum: -2147483648;
370
307
  readonly maximum: 2147483647;
371
308
  readonly default: number;
372
309
  };
373
- readonly _worldMatrix: {
374
- readonly type: "array";
375
- readonly items: {
376
- readonly type: "number";
377
- readonly precision: 1;
378
- readonly default: number;
379
- };
380
- readonly minItems: 16;
381
- readonly maxItems: 16;
382
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
310
+ readonly gltfUrl: {
311
+ readonly type: "string";
383
312
  };
384
- readonly _worldBounds: {
385
- readonly type: "object";
386
- readonly properties: {
387
- readonly min: {
388
- readonly type: "array";
389
- readonly items: {
390
- readonly type: "number";
391
- readonly precision: 1;
392
- readonly default: number;
393
- };
394
- readonly minItems: 3;
395
- readonly maxItems: 3;
396
- readonly default: readonly [0, 0, 0];
397
- };
398
- readonly max: {
399
- readonly type: "array";
400
- readonly items: {
401
- readonly type: "number";
402
- readonly precision: 1;
403
- readonly default: number;
404
- };
405
- readonly minItems: 3;
406
- readonly maxItems: 3;
407
- readonly default: readonly [0, 0, 0];
408
- };
409
- };
410
- readonly required: readonly ["min", "max"];
411
- readonly additionalProperties: false;
313
+ readonly shapeSpec: {
314
+ readonly default: ShapeSpec | null;
315
+ };
316
+ readonly voxelVolumeSize: {
317
+ readonly default: import("@adobe/data/math").Vec3 | null;
318
+ };
319
+ readonly localBounds: {
320
+ readonly default: Aabb | null;
321
+ };
322
+ readonly skinJointTemplate: {
323
+ readonly default: import("../gltf/parse-skin.js").JointTemplate[];
324
+ };
325
+ readonly skinInverseBindMatrices: {
326
+ readonly default: Float32Array | null;
327
+ };
328
+ readonly animationClipRefs: {
329
+ readonly default: number[];
330
+ };
331
+ readonly cpuCollisionPositions: {
332
+ readonly default: Float32Array | null;
333
+ };
334
+ readonly cpuCollisionIndices: {
335
+ readonly default: Uint32Array | null;
336
+ };
337
+ readonly cpuSkin: {
412
338
  readonly default: {
413
- readonly min: readonly [0, 0, 0];
414
- readonly max: readonly [0, 0, 0];
415
- };
339
+ positions: Float32Array;
340
+ joints: Uint32Array;
341
+ weights: Float32Array;
342
+ } | null;
416
343
  };
417
- } & {}>, import("@adobe/data/schema").FromSchemas<{}>, {
418
- readonly Geometry: readonly ["modelUrl"];
419
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
420
344
  } & {
421
- readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
422
- } & {}, {} & {} & {}>, args: {
423
- geometry: number;
424
- position?: readonly [number, number, number];
425
- rotation?: import("@adobe/data/math").Quat;
426
- scale?: readonly [number, number, number];
427
- parent?: number;
428
- }) => number;
429
- } & {} & {} & {
430
- readonly insertShapePrimitive: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{} & {
431
345
  readonly _vertexBuffer: {
432
346
  readonly default: GPUBuffer | null;
347
+ readonly nonPersistent: true;
433
348
  };
434
349
  readonly _skinVertexBuffer: {
435
350
  readonly default: GPUBuffer | null;
351
+ readonly nonPersistent: true;
436
352
  };
437
353
  readonly _indexBuffer: {
438
354
  readonly default: GPUBuffer | null;
355
+ readonly nonPersistent: true;
439
356
  };
440
357
  readonly _indexCount: {
358
+ readonly nonPersistent: true;
441
359
  readonly type: "integer";
442
360
  readonly minimum: 0;
443
361
  readonly maximum: 4294967295;
@@ -445,23 +363,28 @@ export declare const shapeGeometry: {
445
363
  };
446
364
  readonly _indexFormat: {
447
365
  readonly default: GPUIndexFormat;
366
+ readonly nonPersistent: true;
448
367
  };
449
368
  readonly _materialBindGroup: {
450
369
  readonly default: GPUBindGroup | null;
370
+ readonly nonPersistent: true;
451
371
  };
452
- readonly _geometry: {
372
+ readonly _mesh: {
373
+ readonly nonPersistent: true;
453
374
  readonly type: "integer";
454
375
  readonly minimum: -2147483648;
455
376
  readonly maximum: 2147483647;
456
377
  readonly default: number;
457
378
  };
458
379
  readonly _material: {
380
+ readonly nonPersistent: true;
459
381
  readonly type: "integer";
460
382
  readonly minimum: -2147483648;
461
383
  readonly maximum: 2147483647;
462
384
  readonly default: number;
463
385
  };
464
386
  readonly _nodeLocalMatrix: {
387
+ readonly nonPersistent: true;
465
388
  readonly type: "array";
466
389
  readonly items: {
467
390
  readonly type: "number";
@@ -473,6 +396,7 @@ export declare const shapeGeometry: {
473
396
  readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
474
397
  };
475
398
  readonly _skeletonModelRef: {
399
+ readonly nonPersistent: true;
476
400
  readonly type: "integer";
477
401
  readonly minimum: -2147483648;
478
402
  readonly maximum: 2147483647;
@@ -480,118 +404,17 @@ export declare const shapeGeometry: {
480
404
  };
481
405
  readonly _skeletonJointMatrixBindGroup: {
482
406
  readonly default: GPUBindGroup | null;
483
- };
484
- } & {
485
- readonly visible: {
486
- readonly type: "boolean";
487
- readonly const: true;
488
- readonly default: true;
489
- };
490
- readonly position: {
491
- readonly type: "array";
492
- readonly items: {
493
- readonly type: "number";
494
- readonly precision: 1;
495
- readonly default: number;
496
- };
497
- readonly minItems: 3;
498
- readonly maxItems: 3;
499
- readonly default: readonly [0, 0, 0];
500
- };
501
- readonly rotation: {
502
- readonly type: "array";
503
- readonly items: {
504
- readonly type: "number";
505
- readonly precision: 1;
506
- readonly default: number;
507
- };
508
- readonly minItems: 4;
509
- readonly maxItems: 4;
510
- readonly default: readonly [0, 0, 0, 1];
511
- readonly interpolators: {
512
- readonly linear: (q1: any, q2: any, t: number) => any;
513
- };
514
- };
515
- readonly scale: {
516
- readonly type: "array";
517
- readonly items: {
518
- readonly type: "number";
519
- readonly precision: 1;
520
- readonly default: number;
521
- };
522
- readonly minItems: 3;
523
- readonly maxItems: 3;
524
- readonly default: readonly [0, 0, 0];
525
- };
526
- readonly parent: {
527
- readonly type: "integer";
528
- readonly minimum: -2147483648;
529
- readonly maximum: 2147483647;
530
- readonly default: number;
531
- };
532
- readonly _worldMatrix: {
533
- readonly type: "array";
534
- readonly items: {
535
- readonly type: "number";
536
- readonly precision: 1;
537
- readonly default: number;
538
- };
539
- readonly minItems: 16;
540
- readonly maxItems: 16;
541
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
542
- };
543
- readonly _worldBounds: {
544
- readonly type: "object";
545
- readonly properties: {
546
- readonly min: {
547
- readonly type: "array";
548
- readonly items: {
549
- readonly type: "number";
550
- readonly precision: 1;
551
- readonly default: number;
552
- };
553
- readonly minItems: 3;
554
- readonly maxItems: 3;
555
- readonly default: readonly [0, 0, 0];
556
- };
557
- readonly max: {
558
- readonly type: "array";
559
- readonly items: {
560
- readonly type: "number";
561
- readonly precision: 1;
562
- readonly default: number;
563
- };
564
- readonly minItems: 3;
565
- readonly maxItems: 3;
566
- readonly default: readonly [0, 0, 0];
567
- };
568
- };
569
- readonly required: readonly ["min", "max"];
570
- readonly additionalProperties: false;
571
- readonly default: {
572
- readonly min: readonly [0, 0, 0];
573
- readonly max: readonly [0, 0, 0];
574
- };
575
- };
576
- } & {
577
- readonly modelUrl: {
578
- readonly type: "string";
579
- };
580
- readonly geometry: {
581
- readonly type: "integer";
582
- readonly minimum: -2147483648;
583
- readonly maximum: 2147483647;
584
- readonly default: number;
407
+ readonly nonPersistent: true;
585
408
  };
586
409
  }>, import("@adobe/data/schema").FromSchemas<{
587
- readonly _shapeGeometry: {
410
+ readonly _shapeMeshes: {
588
411
  readonly default: {
589
412
  sphere: Entity;
590
413
  cube: Entity;
591
414
  } | null;
592
415
  readonly nonPersistent: true;
593
416
  };
594
- } & {} & {
417
+ } & {
595
418
  readonly frameTime: {
596
419
  readonly default: import("../../../../core/frame-time/public.js");
597
420
  readonly nonPersistent: true;
@@ -609,23 +432,47 @@ export declare const shapeGeometry: {
609
432
  readonly default: GPUCommandEncoder | null;
610
433
  readonly nonPersistent: true;
611
434
  };
435
+ } & {} & {
436
+ readonly _gltfMeshByUrl: {
437
+ readonly default: Map<string, Entity> | null;
438
+ readonly nonPersistent: true;
439
+ };
612
440
  }>, {} & {} & {
613
- readonly _VisibleMaterial: readonly ["ephemeral", "_materialBindGroup", "_geometry"];
614
- readonly _PbrPrimitive: readonly ["ephemeral", "_vertexBuffer", "_skinVertexBuffer", "_indexBuffer", "_indexCount", "_indexFormat", "_material", "_geometry", "_nodeLocalMatrix"];
615
- } & {
616
441
  readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
617
442
  } & {} & {
618
- readonly Geometry: readonly ["modelUrl"];
619
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
620
- }, {} & {} & {} & {} & {} & {}>, args: {
443
+ readonly Material: readonly ["name", "density", "restitution", "friction", "compliance", "heatCapacity", "viscosity", "thermalConductivity", "stressStrainCurve", "baseColorFactor", "emissiveFactor", "metallicFactor", "roughnessFactor", "normalScale", "occlusionStrength", "irReflectance", "irEmission", "emissionMode", "baseColorUrl", "metallicRoughnessUrl", "normalUrl", "occlusionUrl", "emissiveUrl"];
444
+ } & {
445
+ readonly GltfMeshPending: readonly ["gltfUrl"];
446
+ readonly ShapeMeshPending: readonly ["shapeSpec"];
447
+ readonly StaticMesh: readonly ["localBounds"];
448
+ readonly SkinnedMesh: readonly ["localBounds", "skinJointTemplate", "skinInverseBindMatrices", "animationClipRefs"];
449
+ readonly MeshInstance: readonly ["mesh", "position", "rotation", "scale", "visible", "material"];
450
+ readonly Model: readonly ["mesh", "position", "rotation", "scale", "visible", "parent"];
451
+ } & {
452
+ readonly _VisibleMaterial: readonly ["nonPersistent", "_materialBindGroup", "_mesh"];
453
+ readonly _PbrPrimitive: readonly ["nonPersistent", "_vertexBuffer", "_skinVertexBuffer", "_indexBuffer", "_indexCount", "_indexFormat", "_material", "_mesh", "_nodeLocalMatrix"];
454
+ }, {} & {} & {
455
+ readonly nodeChildrenOf: {
456
+ readonly key: "parent";
457
+ readonly archetype: "Node";
458
+ };
459
+ } & {} & {
460
+ readonly materialByName: {
461
+ readonly key: "name";
462
+ readonly unique: true;
463
+ readonly archetype: "Material";
464
+ };
465
+ } & {} & {}>, args: {
466
+ mesh?: Entity;
621
467
  vertexBuffer: GPUBuffer;
622
468
  indexBuffer: GPUBuffer;
623
469
  indexCount: number;
470
+ localBounds: Aabb;
624
471
  }) => Entity;
625
472
  };
626
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"transformCreateWorldMatrix" | "transformSystem" | "update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "shapeGeometryInit">;
473
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "shapeGeometryInit" | "shapeMeshBake">;
627
474
  readonly actions: {};
628
475
  readonly services: {};
629
476
  readonly computed: {};
630
- readonly indexes: {} & {} & {} & {} & {} & {};
477
+ readonly indexes: {} & {};
631
478
  };