@adobe/data-gpu 0.9.75 → 0.9.77

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
@@ -35,6 +35,67 @@ export declare const rapierSolver: {
35
35
  readonly precision: 1;
36
36
  readonly default: number;
37
37
  };
38
+ readonly viscosity: {
39
+ readonly type: "number";
40
+ readonly precision: 1;
41
+ readonly default: number;
42
+ };
43
+ readonly thermalConductivity: {
44
+ readonly type: "number";
45
+ readonly precision: 1;
46
+ readonly default: number;
47
+ };
48
+ readonly stressStrainCurve: {
49
+ readonly type: "object";
50
+ readonly layout: "packed";
51
+ readonly properties: {
52
+ readonly tensileYieldStrainStress: {
53
+ readonly type: "array";
54
+ readonly items: {
55
+ readonly type: "number";
56
+ readonly precision: 1;
57
+ readonly default: number;
58
+ };
59
+ readonly minItems: 2;
60
+ readonly maxItems: 2;
61
+ readonly default: readonly [0, 0];
62
+ };
63
+ readonly tensileFractureStrainStress: {
64
+ readonly type: "array";
65
+ readonly items: {
66
+ readonly type: "number";
67
+ readonly precision: 1;
68
+ readonly default: number;
69
+ };
70
+ readonly minItems: 2;
71
+ readonly maxItems: 2;
72
+ readonly default: readonly [0, 0];
73
+ };
74
+ readonly compressiveYieldStrainStress: {
75
+ readonly type: "array";
76
+ readonly items: {
77
+ readonly type: "number";
78
+ readonly precision: 1;
79
+ readonly default: number;
80
+ };
81
+ readonly minItems: 2;
82
+ readonly maxItems: 2;
83
+ readonly default: readonly [0, 0];
84
+ };
85
+ readonly compressiveFractureStrainStress: {
86
+ readonly type: "array";
87
+ readonly items: {
88
+ readonly type: "number";
89
+ readonly precision: 1;
90
+ readonly default: number;
91
+ };
92
+ readonly minItems: 2;
93
+ readonly maxItems: 2;
94
+ readonly default: readonly [0, 0];
95
+ };
96
+ };
97
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
98
+ };
38
99
  readonly baseColorFactor: {
39
100
  readonly type: "array";
40
101
  readonly items: {
@@ -77,6 +138,22 @@ export declare const rapierSolver: {
77
138
  readonly precision: 1;
78
139
  readonly default: number;
79
140
  };
141
+ readonly irReflectance: {
142
+ readonly type: "number";
143
+ readonly precision: 1;
144
+ readonly default: number;
145
+ };
146
+ readonly irEmission: {
147
+ readonly type: "number";
148
+ readonly precision: 1;
149
+ readonly default: number;
150
+ };
151
+ readonly emissionMode: {
152
+ readonly type: "integer";
153
+ readonly minimum: 0;
154
+ readonly maximum: 4294967295;
155
+ readonly default: number;
156
+ };
80
157
  readonly baseColorUrl: {
81
158
  readonly type: "string";
82
159
  };
@@ -160,6 +237,7 @@ export declare const rapierSolver: {
160
237
  readonly default: readonly [0, 0, 0];
161
238
  };
162
239
  readonly _prevPosition: {
240
+ readonly nonPersistent: true;
163
241
  readonly type: "array";
164
242
  readonly items: {
165
243
  readonly type: "number";
@@ -171,6 +249,7 @@ export declare const rapierSolver: {
171
249
  readonly default: readonly [0, 0, 0];
172
250
  };
173
251
  readonly _prevRotation: {
252
+ readonly nonPersistent: true;
174
253
  readonly type: "array";
175
254
  readonly items: {
176
255
  readonly type: "number";
@@ -262,17 +341,19 @@ export declare const rapierSolver: {
262
341
  };
263
342
  } & {
264
343
  readonly _rapierBody: {
344
+ readonly nonPersistent: true;
265
345
  readonly type: "boolean";
266
346
  readonly const: true;
267
347
  readonly default: true;
268
348
  };
269
349
  readonly _rapierJoint: {
350
+ readonly nonPersistent: true;
270
351
  readonly type: "boolean";
271
352
  readonly const: true;
272
353
  readonly default: true;
273
354
  };
274
355
  };
275
- readonly resources: {
356
+ readonly resources: {} & {
276
357
  readonly frameTime: {
277
358
  readonly default: import("../../core/frame-time/public.js");
278
359
  readonly nonPersistent: true;
@@ -292,16 +373,12 @@ export declare const rapierSolver: {
292
373
  };
293
374
  } & {
294
375
  readonly physicsClock: {
295
- readonly default: import("../physics-clock-plugin.js").PhysicsClock;
376
+ readonly default: import("../public.js").PhysicsClock;
296
377
  readonly nonPersistent: true;
297
378
  };
298
- } & {} & {
299
- readonly materials: {
300
- readonly default: Record<string, Entity>;
301
- };
302
379
  };
303
380
  readonly archetypes: {} & {
304
- readonly Material: readonly ["name", "density", "restitution", "friction", "compliance", "heatCapacity", "baseColorFactor", "emissiveFactor", "metallicFactor", "roughnessFactor", "normalScale", "occlusionStrength", "baseColorUrl", "metallicRoughnessUrl", "normalUrl", "occlusionUrl", "emissiveUrl"];
381
+ 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"];
305
382
  } & {
306
383
  readonly RigidBody: readonly ["bodyType", "colliderShape", "halfExtents", "material", "position", "rotation", "linearVelocity", "angularVelocity"];
307
384
  readonly StaticCollider: readonly ["colliderShape", "halfExtents", "material", "position", "rotation"];
@@ -310,33 +387,186 @@ export declare const rapierSolver: {
310
387
  } & {
311
388
  readonly Joint: readonly ["jointType", "jointBodyA", "jointBodyB", "jointAnchorA", "jointAnchorB", "jointAxis", "jointMinLimit", "jointMaxLimit", "jointSwingLimit"];
312
389
  } & {};
313
- readonly transactions: {} & {} & {
314
- readonly setFixedTimestep: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{}>, import("@adobe/data/schema").FromSchemas<{
315
- readonly physicsClock: {
316
- readonly default: import("../physics-clock-plugin.js").PhysicsClock;
317
- readonly nonPersistent: true;
390
+ readonly transactions: {
391
+ readonly insertMaterial: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
392
+ readonly material: {
393
+ readonly type: "integer";
394
+ readonly minimum: -2147483648;
395
+ readonly maximum: 2147483647;
396
+ readonly default: number;
318
397
  };
319
- } & {
320
- readonly frameTime: {
321
- readonly default: import("../../core/frame-time/public.js");
322
- readonly nonPersistent: true;
398
+ readonly name: {
399
+ readonly type: "string";
323
400
  };
324
- } & {
325
- readonly schedulerState: {
326
- readonly default: import("@adobe/data/ecs").SchedulerState;
401
+ readonly density: {
402
+ readonly type: "number";
403
+ readonly precision: 1;
404
+ readonly default: number;
327
405
  };
328
- } & {
329
- readonly device: {
330
- readonly default: GPUDevice | null;
331
- readonly nonPersistent: true;
406
+ readonly restitution: {
407
+ readonly type: "number";
408
+ readonly precision: 1;
409
+ readonly default: number;
332
410
  };
333
- readonly commandEncoder: {
334
- readonly default: GPUCommandEncoder | null;
335
- readonly nonPersistent: true;
411
+ readonly friction: {
412
+ readonly type: "number";
413
+ readonly precision: 1;
414
+ readonly default: number;
336
415
  };
337
- }>, {}, {}>, hz: number) => void;
338
- } & {
339
- readonly seedStandardMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
416
+ readonly compliance: {
417
+ readonly type: "number";
418
+ readonly precision: 1;
419
+ readonly default: number;
420
+ };
421
+ readonly heatCapacity: {
422
+ readonly type: "number";
423
+ readonly precision: 1;
424
+ readonly default: number;
425
+ };
426
+ readonly viscosity: {
427
+ readonly type: "number";
428
+ readonly precision: 1;
429
+ readonly default: number;
430
+ };
431
+ readonly thermalConductivity: {
432
+ readonly type: "number";
433
+ readonly precision: 1;
434
+ readonly default: number;
435
+ };
436
+ readonly stressStrainCurve: {
437
+ readonly type: "object";
438
+ readonly layout: "packed";
439
+ readonly properties: {
440
+ readonly tensileYieldStrainStress: {
441
+ readonly type: "array";
442
+ readonly items: {
443
+ readonly type: "number";
444
+ readonly precision: 1;
445
+ readonly default: number;
446
+ };
447
+ readonly minItems: 2;
448
+ readonly maxItems: 2;
449
+ readonly default: readonly [0, 0];
450
+ };
451
+ readonly tensileFractureStrainStress: {
452
+ readonly type: "array";
453
+ readonly items: {
454
+ readonly type: "number";
455
+ readonly precision: 1;
456
+ readonly default: number;
457
+ };
458
+ readonly minItems: 2;
459
+ readonly maxItems: 2;
460
+ readonly default: readonly [0, 0];
461
+ };
462
+ readonly compressiveYieldStrainStress: {
463
+ readonly type: "array";
464
+ readonly items: {
465
+ readonly type: "number";
466
+ readonly precision: 1;
467
+ readonly default: number;
468
+ };
469
+ readonly minItems: 2;
470
+ readonly maxItems: 2;
471
+ readonly default: readonly [0, 0];
472
+ };
473
+ readonly compressiveFractureStrainStress: {
474
+ readonly type: "array";
475
+ readonly items: {
476
+ readonly type: "number";
477
+ readonly precision: 1;
478
+ readonly default: number;
479
+ };
480
+ readonly minItems: 2;
481
+ readonly maxItems: 2;
482
+ readonly default: readonly [0, 0];
483
+ };
484
+ };
485
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
486
+ };
487
+ readonly baseColorFactor: {
488
+ readonly type: "array";
489
+ readonly items: {
490
+ readonly type: "number";
491
+ readonly precision: 1;
492
+ readonly default: number;
493
+ };
494
+ readonly minItems: 4;
495
+ readonly maxItems: 4;
496
+ readonly default: readonly [0, 0, 0, 0];
497
+ };
498
+ readonly emissiveFactor: {
499
+ readonly type: "array";
500
+ readonly items: {
501
+ readonly type: "number";
502
+ readonly precision: 1;
503
+ readonly default: number;
504
+ };
505
+ readonly minItems: 3;
506
+ readonly maxItems: 3;
507
+ readonly default: readonly [0, 0, 0];
508
+ };
509
+ readonly metallicFactor: {
510
+ readonly type: "number";
511
+ readonly precision: 1;
512
+ readonly default: number;
513
+ };
514
+ readonly roughnessFactor: {
515
+ readonly type: "number";
516
+ readonly precision: 1;
517
+ readonly default: number;
518
+ };
519
+ readonly normalScale: {
520
+ readonly type: "number";
521
+ readonly precision: 1;
522
+ readonly default: number;
523
+ };
524
+ readonly occlusionStrength: {
525
+ readonly type: "number";
526
+ readonly precision: 1;
527
+ readonly default: number;
528
+ };
529
+ readonly irReflectance: {
530
+ readonly type: "number";
531
+ readonly precision: 1;
532
+ readonly default: number;
533
+ };
534
+ readonly irEmission: {
535
+ readonly type: "number";
536
+ readonly precision: 1;
537
+ readonly default: number;
538
+ };
539
+ readonly emissionMode: {
540
+ readonly type: "integer";
541
+ readonly minimum: 0;
542
+ readonly maximum: 4294967295;
543
+ readonly default: number;
544
+ };
545
+ readonly baseColorUrl: {
546
+ readonly type: "string";
547
+ };
548
+ readonly metallicRoughnessUrl: {
549
+ readonly type: "string";
550
+ };
551
+ readonly normalUrl: {
552
+ readonly type: "string";
553
+ };
554
+ readonly occlusionUrl: {
555
+ readonly type: "string";
556
+ };
557
+ readonly emissiveUrl: {
558
+ readonly type: "string";
559
+ };
560
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
561
+ 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"];
562
+ }, {
563
+ readonly materialByName: {
564
+ readonly key: "name";
565
+ readonly unique: true;
566
+ readonly archetype: "Material";
567
+ };
568
+ }>, row: import("../../material/public.js")) => Entity;
569
+ readonly insertMaterialDefinition: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
340
570
  readonly material: {
341
571
  readonly type: "integer";
342
572
  readonly minimum: -2147483648;
@@ -371,6 +601,67 @@ export declare const rapierSolver: {
371
601
  readonly precision: 1;
372
602
  readonly default: number;
373
603
  };
604
+ readonly viscosity: {
605
+ readonly type: "number";
606
+ readonly precision: 1;
607
+ readonly default: number;
608
+ };
609
+ readonly thermalConductivity: {
610
+ readonly type: "number";
611
+ readonly precision: 1;
612
+ readonly default: number;
613
+ };
614
+ readonly stressStrainCurve: {
615
+ readonly type: "object";
616
+ readonly layout: "packed";
617
+ readonly properties: {
618
+ readonly tensileYieldStrainStress: {
619
+ readonly type: "array";
620
+ readonly items: {
621
+ readonly type: "number";
622
+ readonly precision: 1;
623
+ readonly default: number;
624
+ };
625
+ readonly minItems: 2;
626
+ readonly maxItems: 2;
627
+ readonly default: readonly [0, 0];
628
+ };
629
+ readonly tensileFractureStrainStress: {
630
+ readonly type: "array";
631
+ readonly items: {
632
+ readonly type: "number";
633
+ readonly precision: 1;
634
+ readonly default: number;
635
+ };
636
+ readonly minItems: 2;
637
+ readonly maxItems: 2;
638
+ readonly default: readonly [0, 0];
639
+ };
640
+ readonly compressiveYieldStrainStress: {
641
+ readonly type: "array";
642
+ readonly items: {
643
+ readonly type: "number";
644
+ readonly precision: 1;
645
+ readonly default: number;
646
+ };
647
+ readonly minItems: 2;
648
+ readonly maxItems: 2;
649
+ readonly default: readonly [0, 0];
650
+ };
651
+ readonly compressiveFractureStrainStress: {
652
+ readonly type: "array";
653
+ readonly items: {
654
+ readonly type: "number";
655
+ readonly precision: 1;
656
+ readonly default: number;
657
+ };
658
+ readonly minItems: 2;
659
+ readonly maxItems: 2;
660
+ readonly default: readonly [0, 0];
661
+ };
662
+ };
663
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
664
+ };
374
665
  readonly baseColorFactor: {
375
666
  readonly type: "array";
376
667
  readonly items: {
@@ -413,6 +704,22 @@ export declare const rapierSolver: {
413
704
  readonly precision: 1;
414
705
  readonly default: number;
415
706
  };
707
+ readonly irReflectance: {
708
+ readonly type: "number";
709
+ readonly precision: 1;
710
+ readonly default: number;
711
+ };
712
+ readonly irEmission: {
713
+ readonly type: "number";
714
+ readonly precision: 1;
715
+ readonly default: number;
716
+ };
717
+ readonly emissionMode: {
718
+ readonly type: "integer";
719
+ readonly minimum: 0;
720
+ readonly maximum: 4294967295;
721
+ readonly default: number;
722
+ };
416
723
  readonly baseColorUrl: {
417
724
  readonly type: "string";
418
725
  };
@@ -428,17 +735,587 @@ export declare const rapierSolver: {
428
735
  readonly emissiveUrl: {
429
736
  readonly type: "string";
430
737
  };
431
- }>, import("@adobe/data/schema").FromSchemas<{
432
- readonly materials: {
433
- readonly default: Record<string, Entity>;
738
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
739
+ 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"];
740
+ }, {
741
+ readonly materialByName: {
742
+ readonly key: "name";
743
+ readonly unique: true;
744
+ readonly archetype: "Material";
434
745
  };
435
- }>, {
436
- readonly Material: readonly ["name", "density", "restitution", "friction", "compliance", "heatCapacity", "baseColorFactor", "emissiveFactor", "metallicFactor", "roughnessFactor", "normalScale", "occlusionStrength", "baseColorUrl", "metallicRoughnessUrl", "normalUrl", "occlusionUrl", "emissiveUrl"];
437
- }, {}>) => void;
438
- } & {} & {} & {};
439
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"_frameTime" | "update" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "advancePhysicsClock" | "rapierStep">;
440
- readonly actions: {};
441
- readonly services: {};
442
- readonly computed: {};
443
- readonly indexes: {} & {} & {} & {} & {};
746
+ }>, args: {
747
+ name: string;
748
+ definition: import("../../material/material-definition.js").MaterialDefinition;
749
+ }) => Entity;
750
+ readonly insertMaterialDefinitions: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
751
+ readonly material: {
752
+ readonly type: "integer";
753
+ readonly minimum: -2147483648;
754
+ readonly maximum: 2147483647;
755
+ readonly default: number;
756
+ };
757
+ readonly name: {
758
+ readonly type: "string";
759
+ };
760
+ readonly density: {
761
+ readonly type: "number";
762
+ readonly precision: 1;
763
+ readonly default: number;
764
+ };
765
+ readonly restitution: {
766
+ readonly type: "number";
767
+ readonly precision: 1;
768
+ readonly default: number;
769
+ };
770
+ readonly friction: {
771
+ readonly type: "number";
772
+ readonly precision: 1;
773
+ readonly default: number;
774
+ };
775
+ readonly compliance: {
776
+ readonly type: "number";
777
+ readonly precision: 1;
778
+ readonly default: number;
779
+ };
780
+ readonly heatCapacity: {
781
+ readonly type: "number";
782
+ readonly precision: 1;
783
+ readonly default: number;
784
+ };
785
+ readonly viscosity: {
786
+ readonly type: "number";
787
+ readonly precision: 1;
788
+ readonly default: number;
789
+ };
790
+ readonly thermalConductivity: {
791
+ readonly type: "number";
792
+ readonly precision: 1;
793
+ readonly default: number;
794
+ };
795
+ readonly stressStrainCurve: {
796
+ readonly type: "object";
797
+ readonly layout: "packed";
798
+ readonly properties: {
799
+ readonly tensileYieldStrainStress: {
800
+ readonly type: "array";
801
+ readonly items: {
802
+ readonly type: "number";
803
+ readonly precision: 1;
804
+ readonly default: number;
805
+ };
806
+ readonly minItems: 2;
807
+ readonly maxItems: 2;
808
+ readonly default: readonly [0, 0];
809
+ };
810
+ readonly tensileFractureStrainStress: {
811
+ readonly type: "array";
812
+ readonly items: {
813
+ readonly type: "number";
814
+ readonly precision: 1;
815
+ readonly default: number;
816
+ };
817
+ readonly minItems: 2;
818
+ readonly maxItems: 2;
819
+ readonly default: readonly [0, 0];
820
+ };
821
+ readonly compressiveYieldStrainStress: {
822
+ readonly type: "array";
823
+ readonly items: {
824
+ readonly type: "number";
825
+ readonly precision: 1;
826
+ readonly default: number;
827
+ };
828
+ readonly minItems: 2;
829
+ readonly maxItems: 2;
830
+ readonly default: readonly [0, 0];
831
+ };
832
+ readonly compressiveFractureStrainStress: {
833
+ readonly type: "array";
834
+ readonly items: {
835
+ readonly type: "number";
836
+ readonly precision: 1;
837
+ readonly default: number;
838
+ };
839
+ readonly minItems: 2;
840
+ readonly maxItems: 2;
841
+ readonly default: readonly [0, 0];
842
+ };
843
+ };
844
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
845
+ };
846
+ readonly baseColorFactor: {
847
+ readonly type: "array";
848
+ readonly items: {
849
+ readonly type: "number";
850
+ readonly precision: 1;
851
+ readonly default: number;
852
+ };
853
+ readonly minItems: 4;
854
+ readonly maxItems: 4;
855
+ readonly default: readonly [0, 0, 0, 0];
856
+ };
857
+ readonly emissiveFactor: {
858
+ readonly type: "array";
859
+ readonly items: {
860
+ readonly type: "number";
861
+ readonly precision: 1;
862
+ readonly default: number;
863
+ };
864
+ readonly minItems: 3;
865
+ readonly maxItems: 3;
866
+ readonly default: readonly [0, 0, 0];
867
+ };
868
+ readonly metallicFactor: {
869
+ readonly type: "number";
870
+ readonly precision: 1;
871
+ readonly default: number;
872
+ };
873
+ readonly roughnessFactor: {
874
+ readonly type: "number";
875
+ readonly precision: 1;
876
+ readonly default: number;
877
+ };
878
+ readonly normalScale: {
879
+ readonly type: "number";
880
+ readonly precision: 1;
881
+ readonly default: number;
882
+ };
883
+ readonly occlusionStrength: {
884
+ readonly type: "number";
885
+ readonly precision: 1;
886
+ readonly default: number;
887
+ };
888
+ readonly irReflectance: {
889
+ readonly type: "number";
890
+ readonly precision: 1;
891
+ readonly default: number;
892
+ };
893
+ readonly irEmission: {
894
+ readonly type: "number";
895
+ readonly precision: 1;
896
+ readonly default: number;
897
+ };
898
+ readonly emissionMode: {
899
+ readonly type: "integer";
900
+ readonly minimum: 0;
901
+ readonly maximum: 4294967295;
902
+ readonly default: number;
903
+ };
904
+ readonly baseColorUrl: {
905
+ readonly type: "string";
906
+ };
907
+ readonly metallicRoughnessUrl: {
908
+ readonly type: "string";
909
+ };
910
+ readonly normalUrl: {
911
+ readonly type: "string";
912
+ };
913
+ readonly occlusionUrl: {
914
+ readonly type: "string";
915
+ };
916
+ readonly emissiveUrl: {
917
+ readonly type: "string";
918
+ };
919
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
920
+ 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"];
921
+ }, {
922
+ readonly materialByName: {
923
+ readonly key: "name";
924
+ readonly unique: true;
925
+ readonly archetype: "Material";
926
+ };
927
+ }>, defs: Readonly<Record<string, import("../../material/material-definition.js").MaterialDefinition>>) => void;
928
+ readonly seedStandardMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
929
+ readonly material: {
930
+ readonly type: "integer";
931
+ readonly minimum: -2147483648;
932
+ readonly maximum: 2147483647;
933
+ readonly default: number;
934
+ };
935
+ readonly name: {
936
+ readonly type: "string";
937
+ };
938
+ readonly density: {
939
+ readonly type: "number";
940
+ readonly precision: 1;
941
+ readonly default: number;
942
+ };
943
+ readonly restitution: {
944
+ readonly type: "number";
945
+ readonly precision: 1;
946
+ readonly default: number;
947
+ };
948
+ readonly friction: {
949
+ readonly type: "number";
950
+ readonly precision: 1;
951
+ readonly default: number;
952
+ };
953
+ readonly compliance: {
954
+ readonly type: "number";
955
+ readonly precision: 1;
956
+ readonly default: number;
957
+ };
958
+ readonly heatCapacity: {
959
+ readonly type: "number";
960
+ readonly precision: 1;
961
+ readonly default: number;
962
+ };
963
+ readonly viscosity: {
964
+ readonly type: "number";
965
+ readonly precision: 1;
966
+ readonly default: number;
967
+ };
968
+ readonly thermalConductivity: {
969
+ readonly type: "number";
970
+ readonly precision: 1;
971
+ readonly default: number;
972
+ };
973
+ readonly stressStrainCurve: {
974
+ readonly type: "object";
975
+ readonly layout: "packed";
976
+ readonly properties: {
977
+ readonly tensileYieldStrainStress: {
978
+ readonly type: "array";
979
+ readonly items: {
980
+ readonly type: "number";
981
+ readonly precision: 1;
982
+ readonly default: number;
983
+ };
984
+ readonly minItems: 2;
985
+ readonly maxItems: 2;
986
+ readonly default: readonly [0, 0];
987
+ };
988
+ readonly tensileFractureStrainStress: {
989
+ readonly type: "array";
990
+ readonly items: {
991
+ readonly type: "number";
992
+ readonly precision: 1;
993
+ readonly default: number;
994
+ };
995
+ readonly minItems: 2;
996
+ readonly maxItems: 2;
997
+ readonly default: readonly [0, 0];
998
+ };
999
+ readonly compressiveYieldStrainStress: {
1000
+ readonly type: "array";
1001
+ readonly items: {
1002
+ readonly type: "number";
1003
+ readonly precision: 1;
1004
+ readonly default: number;
1005
+ };
1006
+ readonly minItems: 2;
1007
+ readonly maxItems: 2;
1008
+ readonly default: readonly [0, 0];
1009
+ };
1010
+ readonly compressiveFractureStrainStress: {
1011
+ readonly type: "array";
1012
+ readonly items: {
1013
+ readonly type: "number";
1014
+ readonly precision: 1;
1015
+ readonly default: number;
1016
+ };
1017
+ readonly minItems: 2;
1018
+ readonly maxItems: 2;
1019
+ readonly default: readonly [0, 0];
1020
+ };
1021
+ };
1022
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
1023
+ };
1024
+ readonly baseColorFactor: {
1025
+ readonly type: "array";
1026
+ readonly items: {
1027
+ readonly type: "number";
1028
+ readonly precision: 1;
1029
+ readonly default: number;
1030
+ };
1031
+ readonly minItems: 4;
1032
+ readonly maxItems: 4;
1033
+ readonly default: readonly [0, 0, 0, 0];
1034
+ };
1035
+ readonly emissiveFactor: {
1036
+ readonly type: "array";
1037
+ readonly items: {
1038
+ readonly type: "number";
1039
+ readonly precision: 1;
1040
+ readonly default: number;
1041
+ };
1042
+ readonly minItems: 3;
1043
+ readonly maxItems: 3;
1044
+ readonly default: readonly [0, 0, 0];
1045
+ };
1046
+ readonly metallicFactor: {
1047
+ readonly type: "number";
1048
+ readonly precision: 1;
1049
+ readonly default: number;
1050
+ };
1051
+ readonly roughnessFactor: {
1052
+ readonly type: "number";
1053
+ readonly precision: 1;
1054
+ readonly default: number;
1055
+ };
1056
+ readonly normalScale: {
1057
+ readonly type: "number";
1058
+ readonly precision: 1;
1059
+ readonly default: number;
1060
+ };
1061
+ readonly occlusionStrength: {
1062
+ readonly type: "number";
1063
+ readonly precision: 1;
1064
+ readonly default: number;
1065
+ };
1066
+ readonly irReflectance: {
1067
+ readonly type: "number";
1068
+ readonly precision: 1;
1069
+ readonly default: number;
1070
+ };
1071
+ readonly irEmission: {
1072
+ readonly type: "number";
1073
+ readonly precision: 1;
1074
+ readonly default: number;
1075
+ };
1076
+ readonly emissionMode: {
1077
+ readonly type: "integer";
1078
+ readonly minimum: 0;
1079
+ readonly maximum: 4294967295;
1080
+ readonly default: number;
1081
+ };
1082
+ readonly baseColorUrl: {
1083
+ readonly type: "string";
1084
+ };
1085
+ readonly metallicRoughnessUrl: {
1086
+ readonly type: "string";
1087
+ };
1088
+ readonly normalUrl: {
1089
+ readonly type: "string";
1090
+ };
1091
+ readonly occlusionUrl: {
1092
+ readonly type: "string";
1093
+ };
1094
+ readonly emissiveUrl: {
1095
+ readonly type: "string";
1096
+ };
1097
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
1098
+ 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"];
1099
+ }, {
1100
+ readonly materialByName: {
1101
+ readonly key: "name";
1102
+ readonly unique: true;
1103
+ readonly archetype: "Material";
1104
+ };
1105
+ }>) => void;
1106
+ readonly seedDefinitionMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
1107
+ readonly material: {
1108
+ readonly type: "integer";
1109
+ readonly minimum: -2147483648;
1110
+ readonly maximum: 2147483647;
1111
+ readonly default: number;
1112
+ };
1113
+ readonly name: {
1114
+ readonly type: "string";
1115
+ };
1116
+ readonly density: {
1117
+ readonly type: "number";
1118
+ readonly precision: 1;
1119
+ readonly default: number;
1120
+ };
1121
+ readonly restitution: {
1122
+ readonly type: "number";
1123
+ readonly precision: 1;
1124
+ readonly default: number;
1125
+ };
1126
+ readonly friction: {
1127
+ readonly type: "number";
1128
+ readonly precision: 1;
1129
+ readonly default: number;
1130
+ };
1131
+ readonly compliance: {
1132
+ readonly type: "number";
1133
+ readonly precision: 1;
1134
+ readonly default: number;
1135
+ };
1136
+ readonly heatCapacity: {
1137
+ readonly type: "number";
1138
+ readonly precision: 1;
1139
+ readonly default: number;
1140
+ };
1141
+ readonly viscosity: {
1142
+ readonly type: "number";
1143
+ readonly precision: 1;
1144
+ readonly default: number;
1145
+ };
1146
+ readonly thermalConductivity: {
1147
+ readonly type: "number";
1148
+ readonly precision: 1;
1149
+ readonly default: number;
1150
+ };
1151
+ readonly stressStrainCurve: {
1152
+ readonly type: "object";
1153
+ readonly layout: "packed";
1154
+ readonly properties: {
1155
+ readonly tensileYieldStrainStress: {
1156
+ readonly type: "array";
1157
+ readonly items: {
1158
+ readonly type: "number";
1159
+ readonly precision: 1;
1160
+ readonly default: number;
1161
+ };
1162
+ readonly minItems: 2;
1163
+ readonly maxItems: 2;
1164
+ readonly default: readonly [0, 0];
1165
+ };
1166
+ readonly tensileFractureStrainStress: {
1167
+ readonly type: "array";
1168
+ readonly items: {
1169
+ readonly type: "number";
1170
+ readonly precision: 1;
1171
+ readonly default: number;
1172
+ };
1173
+ readonly minItems: 2;
1174
+ readonly maxItems: 2;
1175
+ readonly default: readonly [0, 0];
1176
+ };
1177
+ readonly compressiveYieldStrainStress: {
1178
+ readonly type: "array";
1179
+ readonly items: {
1180
+ readonly type: "number";
1181
+ readonly precision: 1;
1182
+ readonly default: number;
1183
+ };
1184
+ readonly minItems: 2;
1185
+ readonly maxItems: 2;
1186
+ readonly default: readonly [0, 0];
1187
+ };
1188
+ readonly compressiveFractureStrainStress: {
1189
+ readonly type: "array";
1190
+ readonly items: {
1191
+ readonly type: "number";
1192
+ readonly precision: 1;
1193
+ readonly default: number;
1194
+ };
1195
+ readonly minItems: 2;
1196
+ readonly maxItems: 2;
1197
+ readonly default: readonly [0, 0];
1198
+ };
1199
+ };
1200
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
1201
+ };
1202
+ readonly baseColorFactor: {
1203
+ readonly type: "array";
1204
+ readonly items: {
1205
+ readonly type: "number";
1206
+ readonly precision: 1;
1207
+ readonly default: number;
1208
+ };
1209
+ readonly minItems: 4;
1210
+ readonly maxItems: 4;
1211
+ readonly default: readonly [0, 0, 0, 0];
1212
+ };
1213
+ readonly emissiveFactor: {
1214
+ readonly type: "array";
1215
+ readonly items: {
1216
+ readonly type: "number";
1217
+ readonly precision: 1;
1218
+ readonly default: number;
1219
+ };
1220
+ readonly minItems: 3;
1221
+ readonly maxItems: 3;
1222
+ readonly default: readonly [0, 0, 0];
1223
+ };
1224
+ readonly metallicFactor: {
1225
+ readonly type: "number";
1226
+ readonly precision: 1;
1227
+ readonly default: number;
1228
+ };
1229
+ readonly roughnessFactor: {
1230
+ readonly type: "number";
1231
+ readonly precision: 1;
1232
+ readonly default: number;
1233
+ };
1234
+ readonly normalScale: {
1235
+ readonly type: "number";
1236
+ readonly precision: 1;
1237
+ readonly default: number;
1238
+ };
1239
+ readonly occlusionStrength: {
1240
+ readonly type: "number";
1241
+ readonly precision: 1;
1242
+ readonly default: number;
1243
+ };
1244
+ readonly irReflectance: {
1245
+ readonly type: "number";
1246
+ readonly precision: 1;
1247
+ readonly default: number;
1248
+ };
1249
+ readonly irEmission: {
1250
+ readonly type: "number";
1251
+ readonly precision: 1;
1252
+ readonly default: number;
1253
+ };
1254
+ readonly emissionMode: {
1255
+ readonly type: "integer";
1256
+ readonly minimum: 0;
1257
+ readonly maximum: 4294967295;
1258
+ readonly default: number;
1259
+ };
1260
+ readonly baseColorUrl: {
1261
+ readonly type: "string";
1262
+ };
1263
+ readonly metallicRoughnessUrl: {
1264
+ readonly type: "string";
1265
+ };
1266
+ readonly normalUrl: {
1267
+ readonly type: "string";
1268
+ };
1269
+ readonly occlusionUrl: {
1270
+ readonly type: "string";
1271
+ };
1272
+ readonly emissiveUrl: {
1273
+ readonly type: "string";
1274
+ };
1275
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
1276
+ 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"];
1277
+ }, {
1278
+ readonly materialByName: {
1279
+ readonly key: "name";
1280
+ readonly unique: true;
1281
+ readonly archetype: "Material";
1282
+ };
1283
+ }>) => void;
1284
+ } & {} & {} & {} & {
1285
+ readonly setFixedTimestep: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{}>, import("@adobe/data/schema").FromSchemas<{
1286
+ readonly physicsClock: {
1287
+ readonly default: import("../public.js").PhysicsClock;
1288
+ readonly nonPersistent: true;
1289
+ };
1290
+ } & {
1291
+ readonly frameTime: {
1292
+ readonly default: import("../../core/frame-time/public.js");
1293
+ readonly nonPersistent: true;
1294
+ };
1295
+ } & {
1296
+ readonly schedulerState: {
1297
+ readonly default: import("@adobe/data/ecs").SchedulerState;
1298
+ };
1299
+ } & {
1300
+ readonly device: {
1301
+ readonly default: GPUDevice | null;
1302
+ readonly nonPersistent: true;
1303
+ };
1304
+ readonly commandEncoder: {
1305
+ readonly default: GPUCommandEncoder | null;
1306
+ readonly nonPersistent: true;
1307
+ };
1308
+ }>, {}, {}>, hz: number) => void;
1309
+ } & {} & {};
1310
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "advancePhysicsClock" | "rapierStep">;
1311
+ readonly actions: {};
1312
+ readonly services: {};
1313
+ readonly computed: {};
1314
+ readonly indexes: {} & {
1315
+ readonly materialByName: {
1316
+ readonly key: "name";
1317
+ readonly unique: true;
1318
+ readonly archetype: "Material";
1319
+ };
1320
+ } & {} & {} & {};
444
1321
  };