@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
@@ -1,4 +1,5 @@
1
1
  import type { ColliderMesh } from "./body/collider-mesh.js";
2
+ import { Material } from "../material/material.js";
2
3
  /**
3
4
  * The shared, solver-agnostic rigid-body data model — the seam every physics
4
5
  * solver plugs into. It declares *only* authored/canonical state (no systems):
@@ -65,6 +66,67 @@ export declare const physicsData: {
65
66
  readonly precision: 1;
66
67
  readonly default: number;
67
68
  };
69
+ readonly viscosity: {
70
+ readonly type: "number";
71
+ readonly precision: 1;
72
+ readonly default: number;
73
+ };
74
+ readonly thermalConductivity: {
75
+ readonly type: "number";
76
+ readonly precision: 1;
77
+ readonly default: number;
78
+ };
79
+ readonly stressStrainCurve: {
80
+ readonly type: "object";
81
+ readonly layout: "packed";
82
+ readonly properties: {
83
+ readonly tensileYieldStrainStress: {
84
+ readonly type: "array";
85
+ readonly items: {
86
+ readonly type: "number";
87
+ readonly precision: 1;
88
+ readonly default: number;
89
+ };
90
+ readonly minItems: 2;
91
+ readonly maxItems: 2;
92
+ readonly default: readonly [0, 0];
93
+ };
94
+ readonly tensileFractureStrainStress: {
95
+ readonly type: "array";
96
+ readonly items: {
97
+ readonly type: "number";
98
+ readonly precision: 1;
99
+ readonly default: number;
100
+ };
101
+ readonly minItems: 2;
102
+ readonly maxItems: 2;
103
+ readonly default: readonly [0, 0];
104
+ };
105
+ readonly compressiveYieldStrainStress: {
106
+ readonly type: "array";
107
+ readonly items: {
108
+ readonly type: "number";
109
+ readonly precision: 1;
110
+ readonly default: number;
111
+ };
112
+ readonly minItems: 2;
113
+ readonly maxItems: 2;
114
+ readonly default: readonly [0, 0];
115
+ };
116
+ readonly compressiveFractureStrainStress: {
117
+ readonly type: "array";
118
+ readonly items: {
119
+ readonly type: "number";
120
+ readonly precision: 1;
121
+ readonly default: number;
122
+ };
123
+ readonly minItems: 2;
124
+ readonly maxItems: 2;
125
+ readonly default: readonly [0, 0];
126
+ };
127
+ };
128
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
129
+ };
68
130
  readonly baseColorFactor: {
69
131
  readonly type: "array";
70
132
  readonly items: {
@@ -107,6 +169,22 @@ export declare const physicsData: {
107
169
  readonly precision: 1;
108
170
  readonly default: number;
109
171
  };
172
+ readonly irReflectance: {
173
+ readonly type: "number";
174
+ readonly precision: 1;
175
+ readonly default: number;
176
+ };
177
+ readonly irEmission: {
178
+ readonly type: "number";
179
+ readonly precision: 1;
180
+ readonly default: number;
181
+ };
182
+ readonly emissionMode: {
183
+ readonly type: "integer";
184
+ readonly minimum: 0;
185
+ readonly maximum: 4294967295;
186
+ readonly default: number;
187
+ };
110
188
  readonly baseColorUrl: {
111
189
  readonly type: "string";
112
190
  };
@@ -190,6 +268,7 @@ export declare const physicsData: {
190
268
  readonly default: readonly [0, 0, 0];
191
269
  };
192
270
  readonly _prevPosition: {
271
+ readonly nonPersistent: true;
193
272
  readonly type: "array";
194
273
  readonly items: {
195
274
  readonly type: "number";
@@ -201,6 +280,7 @@ export declare const physicsData: {
201
280
  readonly default: readonly [0, 0, 0];
202
281
  };
203
282
  readonly _prevRotation: {
283
+ readonly nonPersistent: true;
204
284
  readonly type: "array";
205
285
  readonly items: {
206
286
  readonly type: "number";
@@ -226,13 +306,9 @@ export declare const physicsData: {
226
306
  readonly default: ColliderMesh | null;
227
307
  };
228
308
  };
229
- readonly resources: {
230
- readonly materials: {
231
- readonly default: Record<string, number>;
232
- };
233
- } & {};
309
+ readonly resources: {};
234
310
  readonly archetypes: {
235
- readonly Material: readonly ["name", "density", "restitution", "friction", "compliance", "heatCapacity", "baseColorFactor", "emissiveFactor", "metallicFactor", "roughnessFactor", "normalScale", "occlusionStrength", "baseColorUrl", "metallicRoughnessUrl", "normalUrl", "occlusionUrl", "emissiveUrl"];
311
+ 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"];
236
312
  } & {
237
313
  readonly RigidBody: readonly ["bodyType", "colliderShape", "halfExtents", "material", "position", "rotation", "linearVelocity", "angularVelocity"];
238
314
  readonly StaticCollider: readonly ["colliderShape", "halfExtents", "material", "position", "rotation"];
@@ -240,6 +316,543 @@ export declare const physicsData: {
240
316
  readonly MeshCollider: readonly ["colliderShape", "halfExtents", "material", "position", "rotation", "colliderMesh"];
241
317
  };
242
318
  readonly transactions: {
319
+ readonly insertMaterial: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
320
+ readonly material: {
321
+ readonly type: "integer";
322
+ readonly minimum: -2147483648;
323
+ readonly maximum: 2147483647;
324
+ readonly default: number;
325
+ };
326
+ readonly name: {
327
+ readonly type: "string";
328
+ };
329
+ readonly density: {
330
+ readonly type: "number";
331
+ readonly precision: 1;
332
+ readonly default: number;
333
+ };
334
+ readonly restitution: {
335
+ readonly type: "number";
336
+ readonly precision: 1;
337
+ readonly default: number;
338
+ };
339
+ readonly friction: {
340
+ readonly type: "number";
341
+ readonly precision: 1;
342
+ readonly default: number;
343
+ };
344
+ readonly compliance: {
345
+ readonly type: "number";
346
+ readonly precision: 1;
347
+ readonly default: number;
348
+ };
349
+ readonly heatCapacity: {
350
+ readonly type: "number";
351
+ readonly precision: 1;
352
+ readonly default: number;
353
+ };
354
+ readonly viscosity: {
355
+ readonly type: "number";
356
+ readonly precision: 1;
357
+ readonly default: number;
358
+ };
359
+ readonly thermalConductivity: {
360
+ readonly type: "number";
361
+ readonly precision: 1;
362
+ readonly default: number;
363
+ };
364
+ readonly stressStrainCurve: {
365
+ readonly type: "object";
366
+ readonly layout: "packed";
367
+ readonly properties: {
368
+ readonly tensileYieldStrainStress: {
369
+ readonly type: "array";
370
+ readonly items: {
371
+ readonly type: "number";
372
+ readonly precision: 1;
373
+ readonly default: number;
374
+ };
375
+ readonly minItems: 2;
376
+ readonly maxItems: 2;
377
+ readonly default: readonly [0, 0];
378
+ };
379
+ readonly tensileFractureStrainStress: {
380
+ readonly type: "array";
381
+ readonly items: {
382
+ readonly type: "number";
383
+ readonly precision: 1;
384
+ readonly default: number;
385
+ };
386
+ readonly minItems: 2;
387
+ readonly maxItems: 2;
388
+ readonly default: readonly [0, 0];
389
+ };
390
+ readonly compressiveYieldStrainStress: {
391
+ readonly type: "array";
392
+ readonly items: {
393
+ readonly type: "number";
394
+ readonly precision: 1;
395
+ readonly default: number;
396
+ };
397
+ readonly minItems: 2;
398
+ readonly maxItems: 2;
399
+ readonly default: readonly [0, 0];
400
+ };
401
+ readonly compressiveFractureStrainStress: {
402
+ readonly type: "array";
403
+ readonly items: {
404
+ readonly type: "number";
405
+ readonly precision: 1;
406
+ readonly default: number;
407
+ };
408
+ readonly minItems: 2;
409
+ readonly maxItems: 2;
410
+ readonly default: readonly [0, 0];
411
+ };
412
+ };
413
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
414
+ };
415
+ readonly baseColorFactor: {
416
+ readonly type: "array";
417
+ readonly items: {
418
+ readonly type: "number";
419
+ readonly precision: 1;
420
+ readonly default: number;
421
+ };
422
+ readonly minItems: 4;
423
+ readonly maxItems: 4;
424
+ readonly default: readonly [0, 0, 0, 0];
425
+ };
426
+ readonly emissiveFactor: {
427
+ readonly type: "array";
428
+ readonly items: {
429
+ readonly type: "number";
430
+ readonly precision: 1;
431
+ readonly default: number;
432
+ };
433
+ readonly minItems: 3;
434
+ readonly maxItems: 3;
435
+ readonly default: readonly [0, 0, 0];
436
+ };
437
+ readonly metallicFactor: {
438
+ readonly type: "number";
439
+ readonly precision: 1;
440
+ readonly default: number;
441
+ };
442
+ readonly roughnessFactor: {
443
+ readonly type: "number";
444
+ readonly precision: 1;
445
+ readonly default: number;
446
+ };
447
+ readonly normalScale: {
448
+ readonly type: "number";
449
+ readonly precision: 1;
450
+ readonly default: number;
451
+ };
452
+ readonly occlusionStrength: {
453
+ readonly type: "number";
454
+ readonly precision: 1;
455
+ readonly default: number;
456
+ };
457
+ readonly irReflectance: {
458
+ readonly type: "number";
459
+ readonly precision: 1;
460
+ readonly default: number;
461
+ };
462
+ readonly irEmission: {
463
+ readonly type: "number";
464
+ readonly precision: 1;
465
+ readonly default: number;
466
+ };
467
+ readonly emissionMode: {
468
+ readonly type: "integer";
469
+ readonly minimum: 0;
470
+ readonly maximum: 4294967295;
471
+ readonly default: number;
472
+ };
473
+ readonly baseColorUrl: {
474
+ readonly type: "string";
475
+ };
476
+ readonly metallicRoughnessUrl: {
477
+ readonly type: "string";
478
+ };
479
+ readonly normalUrl: {
480
+ readonly type: "string";
481
+ };
482
+ readonly occlusionUrl: {
483
+ readonly type: "string";
484
+ };
485
+ readonly emissiveUrl: {
486
+ readonly type: "string";
487
+ };
488
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
489
+ 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"];
490
+ }, {
491
+ readonly materialByName: {
492
+ readonly key: "name";
493
+ readonly unique: true;
494
+ readonly archetype: "Material";
495
+ };
496
+ }>, row: Material) => number;
497
+ readonly insertMaterialDefinition: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
498
+ readonly material: {
499
+ readonly type: "integer";
500
+ readonly minimum: -2147483648;
501
+ readonly maximum: 2147483647;
502
+ readonly default: number;
503
+ };
504
+ readonly name: {
505
+ readonly type: "string";
506
+ };
507
+ readonly density: {
508
+ readonly type: "number";
509
+ readonly precision: 1;
510
+ readonly default: number;
511
+ };
512
+ readonly restitution: {
513
+ readonly type: "number";
514
+ readonly precision: 1;
515
+ readonly default: number;
516
+ };
517
+ readonly friction: {
518
+ readonly type: "number";
519
+ readonly precision: 1;
520
+ readonly default: number;
521
+ };
522
+ readonly compliance: {
523
+ readonly type: "number";
524
+ readonly precision: 1;
525
+ readonly default: number;
526
+ };
527
+ readonly heatCapacity: {
528
+ readonly type: "number";
529
+ readonly precision: 1;
530
+ readonly default: number;
531
+ };
532
+ readonly viscosity: {
533
+ readonly type: "number";
534
+ readonly precision: 1;
535
+ readonly default: number;
536
+ };
537
+ readonly thermalConductivity: {
538
+ readonly type: "number";
539
+ readonly precision: 1;
540
+ readonly default: number;
541
+ };
542
+ readonly stressStrainCurve: {
543
+ readonly type: "object";
544
+ readonly layout: "packed";
545
+ readonly properties: {
546
+ readonly tensileYieldStrainStress: {
547
+ readonly type: "array";
548
+ readonly items: {
549
+ readonly type: "number";
550
+ readonly precision: 1;
551
+ readonly default: number;
552
+ };
553
+ readonly minItems: 2;
554
+ readonly maxItems: 2;
555
+ readonly default: readonly [0, 0];
556
+ };
557
+ readonly tensileFractureStrainStress: {
558
+ readonly type: "array";
559
+ readonly items: {
560
+ readonly type: "number";
561
+ readonly precision: 1;
562
+ readonly default: number;
563
+ };
564
+ readonly minItems: 2;
565
+ readonly maxItems: 2;
566
+ readonly default: readonly [0, 0];
567
+ };
568
+ readonly compressiveYieldStrainStress: {
569
+ readonly type: "array";
570
+ readonly items: {
571
+ readonly type: "number";
572
+ readonly precision: 1;
573
+ readonly default: number;
574
+ };
575
+ readonly minItems: 2;
576
+ readonly maxItems: 2;
577
+ readonly default: readonly [0, 0];
578
+ };
579
+ readonly compressiveFractureStrainStress: {
580
+ readonly type: "array";
581
+ readonly items: {
582
+ readonly type: "number";
583
+ readonly precision: 1;
584
+ readonly default: number;
585
+ };
586
+ readonly minItems: 2;
587
+ readonly maxItems: 2;
588
+ readonly default: readonly [0, 0];
589
+ };
590
+ };
591
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
592
+ };
593
+ readonly baseColorFactor: {
594
+ readonly type: "array";
595
+ readonly items: {
596
+ readonly type: "number";
597
+ readonly precision: 1;
598
+ readonly default: number;
599
+ };
600
+ readonly minItems: 4;
601
+ readonly maxItems: 4;
602
+ readonly default: readonly [0, 0, 0, 0];
603
+ };
604
+ readonly emissiveFactor: {
605
+ readonly type: "array";
606
+ readonly items: {
607
+ readonly type: "number";
608
+ readonly precision: 1;
609
+ readonly default: number;
610
+ };
611
+ readonly minItems: 3;
612
+ readonly maxItems: 3;
613
+ readonly default: readonly [0, 0, 0];
614
+ };
615
+ readonly metallicFactor: {
616
+ readonly type: "number";
617
+ readonly precision: 1;
618
+ readonly default: number;
619
+ };
620
+ readonly roughnessFactor: {
621
+ readonly type: "number";
622
+ readonly precision: 1;
623
+ readonly default: number;
624
+ };
625
+ readonly normalScale: {
626
+ readonly type: "number";
627
+ readonly precision: 1;
628
+ readonly default: number;
629
+ };
630
+ readonly occlusionStrength: {
631
+ readonly type: "number";
632
+ readonly precision: 1;
633
+ readonly default: number;
634
+ };
635
+ readonly irReflectance: {
636
+ readonly type: "number";
637
+ readonly precision: 1;
638
+ readonly default: number;
639
+ };
640
+ readonly irEmission: {
641
+ readonly type: "number";
642
+ readonly precision: 1;
643
+ readonly default: number;
644
+ };
645
+ readonly emissionMode: {
646
+ readonly type: "integer";
647
+ readonly minimum: 0;
648
+ readonly maximum: 4294967295;
649
+ readonly default: number;
650
+ };
651
+ readonly baseColorUrl: {
652
+ readonly type: "string";
653
+ };
654
+ readonly metallicRoughnessUrl: {
655
+ readonly type: "string";
656
+ };
657
+ readonly normalUrl: {
658
+ readonly type: "string";
659
+ };
660
+ readonly occlusionUrl: {
661
+ readonly type: "string";
662
+ };
663
+ readonly emissiveUrl: {
664
+ readonly type: "string";
665
+ };
666
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
667
+ 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"];
668
+ }, {
669
+ readonly materialByName: {
670
+ readonly key: "name";
671
+ readonly unique: true;
672
+ readonly archetype: "Material";
673
+ };
674
+ }>, args: {
675
+ name: string;
676
+ definition: import("../material/material-definition.js").MaterialDefinition;
677
+ }) => number;
678
+ readonly insertMaterialDefinitions: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
679
+ readonly material: {
680
+ readonly type: "integer";
681
+ readonly minimum: -2147483648;
682
+ readonly maximum: 2147483647;
683
+ readonly default: number;
684
+ };
685
+ readonly name: {
686
+ readonly type: "string";
687
+ };
688
+ readonly density: {
689
+ readonly type: "number";
690
+ readonly precision: 1;
691
+ readonly default: number;
692
+ };
693
+ readonly restitution: {
694
+ readonly type: "number";
695
+ readonly precision: 1;
696
+ readonly default: number;
697
+ };
698
+ readonly friction: {
699
+ readonly type: "number";
700
+ readonly precision: 1;
701
+ readonly default: number;
702
+ };
703
+ readonly compliance: {
704
+ readonly type: "number";
705
+ readonly precision: 1;
706
+ readonly default: number;
707
+ };
708
+ readonly heatCapacity: {
709
+ readonly type: "number";
710
+ readonly precision: 1;
711
+ readonly default: number;
712
+ };
713
+ readonly viscosity: {
714
+ readonly type: "number";
715
+ readonly precision: 1;
716
+ readonly default: number;
717
+ };
718
+ readonly thermalConductivity: {
719
+ readonly type: "number";
720
+ readonly precision: 1;
721
+ readonly default: number;
722
+ };
723
+ readonly stressStrainCurve: {
724
+ readonly type: "object";
725
+ readonly layout: "packed";
726
+ readonly properties: {
727
+ readonly tensileYieldStrainStress: {
728
+ readonly type: "array";
729
+ readonly items: {
730
+ readonly type: "number";
731
+ readonly precision: 1;
732
+ readonly default: number;
733
+ };
734
+ readonly minItems: 2;
735
+ readonly maxItems: 2;
736
+ readonly default: readonly [0, 0];
737
+ };
738
+ readonly tensileFractureStrainStress: {
739
+ readonly type: "array";
740
+ readonly items: {
741
+ readonly type: "number";
742
+ readonly precision: 1;
743
+ readonly default: number;
744
+ };
745
+ readonly minItems: 2;
746
+ readonly maxItems: 2;
747
+ readonly default: readonly [0, 0];
748
+ };
749
+ readonly compressiveYieldStrainStress: {
750
+ readonly type: "array";
751
+ readonly items: {
752
+ readonly type: "number";
753
+ readonly precision: 1;
754
+ readonly default: number;
755
+ };
756
+ readonly minItems: 2;
757
+ readonly maxItems: 2;
758
+ readonly default: readonly [0, 0];
759
+ };
760
+ readonly compressiveFractureStrainStress: {
761
+ readonly type: "array";
762
+ readonly items: {
763
+ readonly type: "number";
764
+ readonly precision: 1;
765
+ readonly default: number;
766
+ };
767
+ readonly minItems: 2;
768
+ readonly maxItems: 2;
769
+ readonly default: readonly [0, 0];
770
+ };
771
+ };
772
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
773
+ };
774
+ readonly baseColorFactor: {
775
+ readonly type: "array";
776
+ readonly items: {
777
+ readonly type: "number";
778
+ readonly precision: 1;
779
+ readonly default: number;
780
+ };
781
+ readonly minItems: 4;
782
+ readonly maxItems: 4;
783
+ readonly default: readonly [0, 0, 0, 0];
784
+ };
785
+ readonly emissiveFactor: {
786
+ readonly type: "array";
787
+ readonly items: {
788
+ readonly type: "number";
789
+ readonly precision: 1;
790
+ readonly default: number;
791
+ };
792
+ readonly minItems: 3;
793
+ readonly maxItems: 3;
794
+ readonly default: readonly [0, 0, 0];
795
+ };
796
+ readonly metallicFactor: {
797
+ readonly type: "number";
798
+ readonly precision: 1;
799
+ readonly default: number;
800
+ };
801
+ readonly roughnessFactor: {
802
+ readonly type: "number";
803
+ readonly precision: 1;
804
+ readonly default: number;
805
+ };
806
+ readonly normalScale: {
807
+ readonly type: "number";
808
+ readonly precision: 1;
809
+ readonly default: number;
810
+ };
811
+ readonly occlusionStrength: {
812
+ readonly type: "number";
813
+ readonly precision: 1;
814
+ readonly default: number;
815
+ };
816
+ readonly irReflectance: {
817
+ readonly type: "number";
818
+ readonly precision: 1;
819
+ readonly default: number;
820
+ };
821
+ readonly irEmission: {
822
+ readonly type: "number";
823
+ readonly precision: 1;
824
+ readonly default: number;
825
+ };
826
+ readonly emissionMode: {
827
+ readonly type: "integer";
828
+ readonly minimum: 0;
829
+ readonly maximum: 4294967295;
830
+ readonly default: number;
831
+ };
832
+ readonly baseColorUrl: {
833
+ readonly type: "string";
834
+ };
835
+ readonly metallicRoughnessUrl: {
836
+ readonly type: "string";
837
+ };
838
+ readonly normalUrl: {
839
+ readonly type: "string";
840
+ };
841
+ readonly occlusionUrl: {
842
+ readonly type: "string";
843
+ };
844
+ readonly emissiveUrl: {
845
+ readonly type: "string";
846
+ };
847
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
848
+ 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"];
849
+ }, {
850
+ readonly materialByName: {
851
+ readonly key: "name";
852
+ readonly unique: true;
853
+ readonly archetype: "Material";
854
+ };
855
+ }>, defs: Readonly<Record<string, import("../material/material-definition.js").MaterialDefinition>>) => void;
243
856
  readonly seedStandardMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
244
857
  readonly material: {
245
858
  readonly type: "integer";
@@ -275,6 +888,67 @@ export declare const physicsData: {
275
888
  readonly precision: 1;
276
889
  readonly default: number;
277
890
  };
891
+ readonly viscosity: {
892
+ readonly type: "number";
893
+ readonly precision: 1;
894
+ readonly default: number;
895
+ };
896
+ readonly thermalConductivity: {
897
+ readonly type: "number";
898
+ readonly precision: 1;
899
+ readonly default: number;
900
+ };
901
+ readonly stressStrainCurve: {
902
+ readonly type: "object";
903
+ readonly layout: "packed";
904
+ readonly properties: {
905
+ readonly tensileYieldStrainStress: {
906
+ readonly type: "array";
907
+ readonly items: {
908
+ readonly type: "number";
909
+ readonly precision: 1;
910
+ readonly default: number;
911
+ };
912
+ readonly minItems: 2;
913
+ readonly maxItems: 2;
914
+ readonly default: readonly [0, 0];
915
+ };
916
+ readonly tensileFractureStrainStress: {
917
+ readonly type: "array";
918
+ readonly items: {
919
+ readonly type: "number";
920
+ readonly precision: 1;
921
+ readonly default: number;
922
+ };
923
+ readonly minItems: 2;
924
+ readonly maxItems: 2;
925
+ readonly default: readonly [0, 0];
926
+ };
927
+ readonly compressiveYieldStrainStress: {
928
+ readonly type: "array";
929
+ readonly items: {
930
+ readonly type: "number";
931
+ readonly precision: 1;
932
+ readonly default: number;
933
+ };
934
+ readonly minItems: 2;
935
+ readonly maxItems: 2;
936
+ readonly default: readonly [0, 0];
937
+ };
938
+ readonly compressiveFractureStrainStress: {
939
+ readonly type: "array";
940
+ readonly items: {
941
+ readonly type: "number";
942
+ readonly precision: 1;
943
+ readonly default: number;
944
+ };
945
+ readonly minItems: 2;
946
+ readonly maxItems: 2;
947
+ readonly default: readonly [0, 0];
948
+ };
949
+ };
950
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
951
+ };
278
952
  readonly baseColorFactor: {
279
953
  readonly type: "array";
280
954
  readonly items: {
@@ -317,6 +991,22 @@ export declare const physicsData: {
317
991
  readonly precision: 1;
318
992
  readonly default: number;
319
993
  };
994
+ readonly irReflectance: {
995
+ readonly type: "number";
996
+ readonly precision: 1;
997
+ readonly default: number;
998
+ };
999
+ readonly irEmission: {
1000
+ readonly type: "number";
1001
+ readonly precision: 1;
1002
+ readonly default: number;
1003
+ };
1004
+ readonly emissionMode: {
1005
+ readonly type: "integer";
1006
+ readonly minimum: 0;
1007
+ readonly maximum: 4294967295;
1008
+ readonly default: number;
1009
+ };
320
1010
  readonly baseColorUrl: {
321
1011
  readonly type: "string";
322
1012
  };
@@ -332,17 +1022,203 @@ export declare const physicsData: {
332
1022
  readonly emissiveUrl: {
333
1023
  readonly type: "string";
334
1024
  };
335
- }>, import("@adobe/data/schema").FromSchemas<{
336
- readonly materials: {
337
- readonly default: Record<string, number>;
1025
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
1026
+ 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"];
1027
+ }, {
1028
+ readonly materialByName: {
1029
+ readonly key: "name";
1030
+ readonly unique: true;
1031
+ readonly archetype: "Material";
1032
+ };
1033
+ }>) => void;
1034
+ readonly seedDefinitionMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
1035
+ readonly material: {
1036
+ readonly type: "integer";
1037
+ readonly minimum: -2147483648;
1038
+ readonly maximum: 2147483647;
1039
+ readonly default: number;
1040
+ };
1041
+ readonly name: {
1042
+ readonly type: "string";
1043
+ };
1044
+ readonly density: {
1045
+ readonly type: "number";
1046
+ readonly precision: 1;
1047
+ readonly default: number;
1048
+ };
1049
+ readonly restitution: {
1050
+ readonly type: "number";
1051
+ readonly precision: 1;
1052
+ readonly default: number;
338
1053
  };
339
- }>, {
340
- readonly Material: readonly ["name", "density", "restitution", "friction", "compliance", "heatCapacity", "baseColorFactor", "emissiveFactor", "metallicFactor", "roughnessFactor", "normalScale", "occlusionStrength", "baseColorUrl", "metallicRoughnessUrl", "normalUrl", "occlusionUrl", "emissiveUrl"];
341
- }, {}>) => void;
1054
+ readonly friction: {
1055
+ readonly type: "number";
1056
+ readonly precision: 1;
1057
+ readonly default: number;
1058
+ };
1059
+ readonly compliance: {
1060
+ readonly type: "number";
1061
+ readonly precision: 1;
1062
+ readonly default: number;
1063
+ };
1064
+ readonly heatCapacity: {
1065
+ readonly type: "number";
1066
+ readonly precision: 1;
1067
+ readonly default: number;
1068
+ };
1069
+ readonly viscosity: {
1070
+ readonly type: "number";
1071
+ readonly precision: 1;
1072
+ readonly default: number;
1073
+ };
1074
+ readonly thermalConductivity: {
1075
+ readonly type: "number";
1076
+ readonly precision: 1;
1077
+ readonly default: number;
1078
+ };
1079
+ readonly stressStrainCurve: {
1080
+ readonly type: "object";
1081
+ readonly layout: "packed";
1082
+ readonly properties: {
1083
+ readonly tensileYieldStrainStress: {
1084
+ readonly type: "array";
1085
+ readonly items: {
1086
+ readonly type: "number";
1087
+ readonly precision: 1;
1088
+ readonly default: number;
1089
+ };
1090
+ readonly minItems: 2;
1091
+ readonly maxItems: 2;
1092
+ readonly default: readonly [0, 0];
1093
+ };
1094
+ readonly tensileFractureStrainStress: {
1095
+ readonly type: "array";
1096
+ readonly items: {
1097
+ readonly type: "number";
1098
+ readonly precision: 1;
1099
+ readonly default: number;
1100
+ };
1101
+ readonly minItems: 2;
1102
+ readonly maxItems: 2;
1103
+ readonly default: readonly [0, 0];
1104
+ };
1105
+ readonly compressiveYieldStrainStress: {
1106
+ readonly type: "array";
1107
+ readonly items: {
1108
+ readonly type: "number";
1109
+ readonly precision: 1;
1110
+ readonly default: number;
1111
+ };
1112
+ readonly minItems: 2;
1113
+ readonly maxItems: 2;
1114
+ readonly default: readonly [0, 0];
1115
+ };
1116
+ readonly compressiveFractureStrainStress: {
1117
+ readonly type: "array";
1118
+ readonly items: {
1119
+ readonly type: "number";
1120
+ readonly precision: 1;
1121
+ readonly default: number;
1122
+ };
1123
+ readonly minItems: 2;
1124
+ readonly maxItems: 2;
1125
+ readonly default: readonly [0, 0];
1126
+ };
1127
+ };
1128
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
1129
+ };
1130
+ readonly baseColorFactor: {
1131
+ readonly type: "array";
1132
+ readonly items: {
1133
+ readonly type: "number";
1134
+ readonly precision: 1;
1135
+ readonly default: number;
1136
+ };
1137
+ readonly minItems: 4;
1138
+ readonly maxItems: 4;
1139
+ readonly default: readonly [0, 0, 0, 0];
1140
+ };
1141
+ readonly emissiveFactor: {
1142
+ readonly type: "array";
1143
+ readonly items: {
1144
+ readonly type: "number";
1145
+ readonly precision: 1;
1146
+ readonly default: number;
1147
+ };
1148
+ readonly minItems: 3;
1149
+ readonly maxItems: 3;
1150
+ readonly default: readonly [0, 0, 0];
1151
+ };
1152
+ readonly metallicFactor: {
1153
+ readonly type: "number";
1154
+ readonly precision: 1;
1155
+ readonly default: number;
1156
+ };
1157
+ readonly roughnessFactor: {
1158
+ readonly type: "number";
1159
+ readonly precision: 1;
1160
+ readonly default: number;
1161
+ };
1162
+ readonly normalScale: {
1163
+ readonly type: "number";
1164
+ readonly precision: 1;
1165
+ readonly default: number;
1166
+ };
1167
+ readonly occlusionStrength: {
1168
+ readonly type: "number";
1169
+ readonly precision: 1;
1170
+ readonly default: number;
1171
+ };
1172
+ readonly irReflectance: {
1173
+ readonly type: "number";
1174
+ readonly precision: 1;
1175
+ readonly default: number;
1176
+ };
1177
+ readonly irEmission: {
1178
+ readonly type: "number";
1179
+ readonly precision: 1;
1180
+ readonly default: number;
1181
+ };
1182
+ readonly emissionMode: {
1183
+ readonly type: "integer";
1184
+ readonly minimum: 0;
1185
+ readonly maximum: 4294967295;
1186
+ readonly default: number;
1187
+ };
1188
+ readonly baseColorUrl: {
1189
+ readonly type: "string";
1190
+ };
1191
+ readonly metallicRoughnessUrl: {
1192
+ readonly type: "string";
1193
+ };
1194
+ readonly normalUrl: {
1195
+ readonly type: "string";
1196
+ };
1197
+ readonly occlusionUrl: {
1198
+ readonly type: "string";
1199
+ };
1200
+ readonly emissiveUrl: {
1201
+ readonly type: "string";
1202
+ };
1203
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
1204
+ 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"];
1205
+ }, {
1206
+ readonly materialByName: {
1207
+ readonly key: "name";
1208
+ readonly unique: true;
1209
+ readonly archetype: "Material";
1210
+ };
1211
+ }>) => void;
342
1212
  } & {};
343
1213
  readonly systems: import("@adobe/data/ecs").SystemDeclarations<never>;
344
1214
  readonly actions: {};
345
1215
  readonly services: {};
346
1216
  readonly computed: {};
347
- readonly indexes: {} & {};
1217
+ readonly indexes: {
1218
+ readonly materialByName: {
1219
+ readonly key: "name";
1220
+ readonly unique: true;
1221
+ readonly archetype: "Material";
1222
+ };
1223
+ } & {};
348
1224
  };