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