@adobe/data-gpu 0.9.75 → 0.9.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/CLAUDE.md +9 -0
  2. package/README.md +36 -0
  3. package/dist/core/core-plugin.d.ts +1 -1
  4. package/dist/core/public.d.ts +2 -0
  5. package/dist/core/public.js +4 -0
  6. package/dist/core/public.js.map +1 -0
  7. package/dist/graphics/animation/animation-data-plugin.d.ts +8 -0
  8. package/dist/graphics/animation/animation-plugin.d.ts +10 -2
  9. package/dist/graphics/camera/camera-plugin.d.ts +3 -3
  10. package/dist/graphics/camera/orbit/attach-orbit-drag.d.ts +1 -21
  11. package/dist/graphics/camera/orbit/attach-orbit-drag.js +0 -10
  12. package/dist/graphics/camera/orbit/attach-orbit-drag.js.map +1 -1
  13. package/dist/graphics/camera/orbit/orbit-data-plugin.d.ts +6 -6
  14. package/dist/graphics/camera/orbit/orbit-data-plugin.js +1 -1
  15. package/dist/graphics/camera/orbit/orbit-data-plugin.js.map +1 -1
  16. package/dist/graphics/camera/orbit/orbit-drag-service.d.ts +11 -0
  17. package/dist/graphics/camera/orbit/orbit-drag-service.js +3 -0
  18. package/dist/graphics/camera/orbit/orbit-drag-service.js.map +1 -0
  19. package/dist/graphics/camera/orbit/orbit-plugin.d.ts +6 -6
  20. package/dist/graphics/camera/orbit/orbit-system-plugin.d.ts +8 -8
  21. package/dist/graphics/camera/orbit/orbit-system-plugin.js +6 -9
  22. package/dist/graphics/camera/orbit/orbit-system-plugin.js.map +1 -1
  23. package/dist/graphics/camera/orbit/orbit.d.ts +5 -5
  24. package/dist/graphics/camera/orbit/public.d.ts +2 -2
  25. package/dist/graphics/camera/orbit/public.js +2 -1
  26. package/dist/graphics/camera/orbit/public.js.map +1 -1
  27. package/dist/graphics/graphics-plugin.d.ts +1 -1
  28. package/dist/graphics/index.d.ts +1 -0
  29. package/dist/graphics/index.js +3 -0
  30. package/dist/graphics/index.js.map +1 -0
  31. package/dist/graphics/picking/picking-plugin.d.ts +9871 -1912
  32. package/dist/graphics/picking/picking-plugin.js +3 -3
  33. package/dist/graphics/picking/picking-plugin.js.map +1 -1
  34. package/dist/graphics/public.d.ts +38 -0
  35. package/dist/graphics/public.js +40 -0
  36. package/dist/graphics/public.js.map +1 -0
  37. package/dist/graphics/rendering/bone-collider-plugin.d.ts +2967 -486
  38. package/dist/graphics/rendering/bone-collider-plugin.js +13 -12
  39. package/dist/graphics/rendering/bone-collider-plugin.js.map +1 -1
  40. package/dist/graphics/rendering/display-transform-plugin.d.ts +2 -0
  41. package/dist/graphics/rendering/display-transform-plugin.js +2 -2
  42. package/dist/graphics/rendering/display-transform-plugin.js.map +1 -1
  43. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.d.ts +2857 -403
  44. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.js +9 -9
  45. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.js.map +1 -1
  46. package/dist/graphics/rendering/interpolation-plugin.d.ts +1040 -156
  47. package/dist/graphics/rendering/jolt-ragdoll-plugin.d.ts +3017 -538
  48. package/dist/graphics/rendering/jolt-ragdoll-plugin.js +6 -6
  49. package/dist/graphics/rendering/jolt-ragdoll-plugin.js.map +1 -1
  50. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.d.ts +1123 -0
  51. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.js +79 -0
  52. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.js.map +1 -0
  53. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.d.ts +1 -0
  54. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.js +18 -0
  55. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.js.map +1 -0
  56. package/dist/graphics/rendering/material-palette-gpu/material-palette.d.ts +25 -0
  57. package/dist/graphics/rendering/material-palette-gpu/material-palette.js +27 -0
  58. package/dist/graphics/rendering/material-palette-gpu/material-palette.js.map +1 -0
  59. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.d.ts +3 -0
  60. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.js +22 -0
  61. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.js.map +1 -0
  62. package/dist/graphics/rendering/model-collider-plugin.d.ts +2903 -663
  63. package/dist/graphics/rendering/model-collider-plugin.js +11 -34
  64. package/dist/graphics/rendering/model-collider-plugin.js.map +1 -1
  65. package/dist/graphics/rendering/pbr-core-plugin.d.ts +16 -8
  66. package/dist/graphics/rendering/pbr-core-plugin.js +16 -19
  67. package/dist/graphics/rendering/pbr-core-plugin.js.map +1 -1
  68. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.d.ts +3514 -0
  69. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.js +189 -0
  70. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.js.map +1 -0
  71. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.d.ts +7 -0
  72. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.js +124 -0
  73. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.js.map +1 -0
  74. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.d.ts +769 -571
  75. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.js +98 -79
  76. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.js.map +1 -1
  77. package/dist/graphics/rendering/pbr-render/primitive-render-shared.d.ts +43 -0
  78. package/dist/graphics/rendering/pbr-render/primitive-render-shared.js +59 -0
  79. package/dist/graphics/rendering/pbr-render/primitive-render-shared.js.map +1 -0
  80. package/dist/graphics/rendering/skinning/skinning-plugin.d.ts +2930 -270
  81. package/dist/graphics/rendering/skinning/skinning-plugin.js +19 -40
  82. package/dist/graphics/rendering/skinning/skinning-plugin.js.map +1 -1
  83. package/dist/graphics/scene/model/geometry/public.d.ts +1 -0
  84. package/dist/graphics/scene/model/mesh/mesh.d.ts +13 -0
  85. package/dist/graphics/scene/model/mesh/mesh.js +3 -0
  86. package/dist/graphics/scene/model/mesh/mesh.js.map +1 -0
  87. package/dist/graphics/scene/model/mesh/public.d.ts +1 -0
  88. package/dist/graphics/scene/model/mesh/public.js +3 -0
  89. package/dist/graphics/scene/model/mesh/public.js.map +1 -0
  90. package/dist/graphics/scene/model/mesh-plugin.d.ts +5177 -0
  91. package/dist/graphics/scene/model/mesh-plugin.js +87 -0
  92. package/dist/graphics/scene/model/mesh-plugin.js.map +1 -0
  93. package/dist/graphics/scene/model/model-loader-plugin.d.ts +2728 -295
  94. package/dist/graphics/scene/model/model-loader-plugin.js +24 -42
  95. package/dist/graphics/scene/model/model-loader-plugin.js.map +1 -1
  96. package/dist/graphics/scene/model/model-plugin.d.ts +1 -352
  97. package/dist/graphics/scene/model/model-plugin.js +1 -37
  98. package/dist/graphics/scene/model/model-plugin.js.map +1 -1
  99. package/dist/graphics/scene/model/model.d.ts +2 -6
  100. package/dist/graphics/scene/model/model.js.map +1 -1
  101. package/dist/graphics/scene/model/public.d.ts +1 -1
  102. package/dist/graphics/scene/model/public.js +2 -1
  103. package/dist/graphics/scene/model/public.js.map +1 -1
  104. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.d.ts +4 -0
  105. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.js +25 -0
  106. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.js.map +1 -0
  107. package/dist/graphics/scene/model/shape/shape-geometry-plugin.d.ts +233 -386
  108. package/dist/graphics/scene/model/shape/shape-geometry-plugin.js +87 -18
  109. package/dist/graphics/scene/model/shape/shape-geometry-plugin.js.map +1 -1
  110. package/dist/graphics/scene/model/shape/shape-spec.d.ts +17 -0
  111. package/dist/graphics/scene/model/shape/shape-spec.js +3 -0
  112. package/dist/graphics/scene/model/shape/shape-spec.js.map +1 -0
  113. package/dist/graphics/scene/model/world-bounds-plugin.d.ts +2670 -245
  114. package/dist/graphics/scene/model/world-bounds-plugin.js +6 -25
  115. package/dist/graphics/scene/model/world-bounds-plugin.js.map +1 -1
  116. package/dist/graphics/scene/node/node-data-plugin.d.ts +15 -4
  117. package/dist/graphics/scene/node/node-data-plugin.js +12 -5
  118. package/dist/graphics/scene/node/node-data-plugin.js.map +1 -1
  119. package/dist/graphics/scene/node/node-data-plugin.test.d.ts +1 -0
  120. package/dist/graphics/scene/node/node-data-plugin.test.js +40 -0
  121. package/dist/graphics/scene/node/node-data-plugin.test.js.map +1 -0
  122. package/dist/graphics/scene/node/node-plugin.d.ts +8 -1
  123. package/dist/graphics/scene/node/transform-plugin.d.ts +8 -1
  124. package/dist/graphics/scene/scene-plugin.d.ts +2353 -100
  125. package/dist/graphics/scene/scene-plugin.js +3 -3
  126. package/dist/graphics/scene/scene-plugin.js.map +1 -1
  127. package/dist/graphics/scene/scene-uniforms/scene-uniforms-plugin.d.ts +3 -3
  128. package/dist/index.d.ts +1 -53
  129. package/dist/index.js +1 -54
  130. package/dist/index.js.map +1 -1
  131. package/dist/material/assemble-material-row.d.ts +4 -0
  132. package/dist/material/assemble-material-row.js +22 -0
  133. package/dist/material/assemble-material-row.js.map +1 -0
  134. package/dist/material/definitions.d.ts +833 -0
  135. package/dist/material/definitions.js +423 -0
  136. package/dist/material/definitions.js.map +1 -0
  137. package/dist/material/emission-mode.d.ts +8 -0
  138. package/dist/material/emission-mode.js +9 -0
  139. package/dist/material/emission-mode.js.map +1 -0
  140. package/dist/material/index.d.ts +1 -0
  141. package/dist/material/index.js +3 -0
  142. package/dist/material/index.js.map +1 -0
  143. package/dist/material/json/from-json-string.d.ts +2 -0
  144. package/dist/material/json/from-json-string.js +12 -0
  145. package/dist/material/json/from-json-string.js.map +1 -0
  146. package/dist/material/json/from-json.d.ts +10 -0
  147. package/dist/material/json/from-json.js +16 -0
  148. package/dist/material/json/from-json.js.map +1 -0
  149. package/dist/material/json/from-json.test.d.ts +1 -0
  150. package/dist/material/json/from-json.test.js +46 -0
  151. package/dist/material/json/from-json.test.js.map +1 -0
  152. package/dist/material/json/is-properties-json.d.ts +2 -0
  153. package/dist/material/json/is-properties-json.js +65 -0
  154. package/dist/material/json/is-properties-json.js.map +1 -0
  155. package/dist/material/json/library-json.d.ts +3 -0
  156. package/dist/material/json/library-json.js +2 -0
  157. package/dist/material/json/library-json.js.map +1 -0
  158. package/dist/material/json/load-json.d.ts +7 -0
  159. package/dist/material/json/load-json.js +10 -0
  160. package/dist/material/json/load-json.js.map +1 -0
  161. package/dist/material/json/properties-json.d.ts +25 -0
  162. package/dist/material/json/properties-json.js +2 -0
  163. package/dist/material/json/properties-json.js.map +1 -0
  164. package/dist/material/json/public.d.ts +9 -0
  165. package/dist/material/json/public.js +6 -0
  166. package/dist/material/json/public.js.map +1 -0
  167. package/dist/material/json/to-definition.d.ts +5 -0
  168. package/dist/material/json/to-definition.js +65 -0
  169. package/dist/material/json/to-definition.js.map +1 -0
  170. package/dist/material/material-by-name-lookup.d.ts +11 -0
  171. package/dist/material/material-by-name-lookup.js +3 -0
  172. package/dist/material/material-by-name-lookup.js.map +1 -0
  173. package/dist/material/material-defaults.d.ts +23 -0
  174. package/dist/material/material-defaults.js +25 -0
  175. package/dist/material/material-defaults.js.map +1 -0
  176. package/dist/material/material-definition.d.ts +3 -0
  177. package/dist/material/material-definition.js +2 -0
  178. package/dist/material/material-definition.js.map +1 -0
  179. package/dist/material/material-name.d.ts +2 -0
  180. package/dist/material/material-name.js +2 -0
  181. package/dist/material/material-name.js.map +1 -0
  182. package/dist/material/material-plugin.d.ts +891 -22
  183. package/dist/material/material-plugin.js +46 -21
  184. package/dist/material/material-plugin.js.map +1 -1
  185. package/dist/material/material-plugin.test.d.ts +1 -0
  186. package/dist/material/material-plugin.test.js +87 -0
  187. package/dist/material/material-plugin.test.js.map +1 -0
  188. package/dist/material/material.d.ts +27 -29
  189. package/dist/material/material.js +0 -1
  190. package/dist/material/material.js.map +1 -1
  191. package/dist/material/public.d.ts +12 -2
  192. package/dist/material/public.js +12 -2
  193. package/dist/material/public.js.map +1 -1
  194. package/dist/material/require-material.d.ts +4 -0
  195. package/dist/material/require-material.js +10 -0
  196. package/dist/material/require-material.js.map +1 -0
  197. package/dist/material/standard-material-names.d.ts +2 -0
  198. package/dist/material/standard-material-names.js +4 -0
  199. package/dist/material/standard-material-names.js.map +1 -0
  200. package/dist/material/standard-materials.d.ts +1 -1
  201. package/dist/material/standard-materials.js +17 -24
  202. package/dist/material/standard-materials.js.map +1 -1
  203. package/dist/material/stress-strain-curve/create.d.ts +8 -0
  204. package/dist/material/stress-strain-curve/create.js +2 -0
  205. package/dist/material/stress-strain-curve/create.js.map +1 -0
  206. package/dist/material/stress-strain-curve/public.d.ts +2 -0
  207. package/dist/material/stress-strain-curve/public.js +3 -0
  208. package/dist/material/stress-strain-curve/public.js.map +1 -0
  209. package/dist/material/stress-strain-curve/schema.d.ts +52 -0
  210. package/dist/material/stress-strain-curve/schema.js +19 -0
  211. package/dist/material/stress-strain-curve/schema.js.map +1 -0
  212. package/dist/material/stress-strain-curve/schema.test.d.ts +1 -0
  213. package/dist/material/stress-strain-curve/schema.test.js +18 -0
  214. package/dist/material/stress-strain-curve/schema.test.js.map +1 -0
  215. package/dist/material/stress-strain-curve/stress-strain-curve.d.ts +4 -0
  216. package/dist/material/stress-strain-curve/stress-strain-curve.js +2 -0
  217. package/dist/material/stress-strain-curve/stress-strain-curve.js.map +1 -0
  218. package/dist/physics/body/collider-shape/mass-from-volume.d.ts +2 -0
  219. package/dist/physics/body/collider-shape/mass-from-volume.js +4 -0
  220. package/dist/physics/body/collider-shape/mass-from-volume.js.map +1 -0
  221. package/dist/physics/body/collider-shape/mass-from-volume.test.d.ts +1 -0
  222. package/dist/physics/body/collider-shape/mass-from-volume.test.js +8 -0
  223. package/dist/physics/body/collider-shape/mass-from-volume.test.js.map +1 -0
  224. package/dist/physics/collider-primitive-render-archetype.d.ts +2 -0
  225. package/dist/physics/collider-primitive-render-archetype.js +3 -0
  226. package/dist/physics/collider-primitive-render-archetype.js.map +1 -0
  227. package/dist/physics/collider-primitive-render-archetypes.d.ts +2 -0
  228. package/dist/physics/collider-primitive-render-archetypes.js +9 -0
  229. package/dist/physics/collider-primitive-render-archetypes.js.map +1 -0
  230. package/dist/physics/index.d.ts +1 -0
  231. package/dist/physics/index.js +3 -0
  232. package/dist/physics/index.js.map +1 -0
  233. package/dist/physics/is-voxel-shape-physics-pending.d.ts +3 -0
  234. package/dist/physics/is-voxel-shape-physics-pending.js +7 -0
  235. package/dist/physics/is-voxel-shape-physics-pending.js.map +1 -0
  236. package/dist/physics/physics-clock/physics-clock.d.ts +15 -0
  237. package/dist/physics/physics-clock/physics-clock.js +3 -0
  238. package/dist/physics/physics-clock/physics-clock.js.map +1 -0
  239. package/dist/physics/physics-clock-plugin.d.ts +2 -22
  240. package/dist/physics/physics-clock-plugin.js +0 -2
  241. package/dist/physics/physics-clock-plugin.js.map +1 -1
  242. package/dist/physics/physics-clock.test.js.map +1 -1
  243. package/dist/physics/physics-data-plugin.d.ts +889 -13
  244. package/dist/physics/physics-data-plugin.js +8 -6
  245. package/dist/physics/physics-data-plugin.js.map +1 -1
  246. package/dist/physics/public.d.ts +21 -0
  247. package/dist/physics/public.js +23 -0
  248. package/dist/physics/public.js.map +1 -0
  249. package/dist/physics/ragdoll/bone-capsule.d.ts +8 -0
  250. package/dist/physics/ragdoll/bone-capsule.js +3 -0
  251. package/dist/physics/ragdoll/bone-capsule.js.map +1 -0
  252. package/dist/physics/ragdoll/fit-bone-capsules-input.d.ts +11 -0
  253. package/dist/physics/ragdoll/fit-bone-capsules-input.js +3 -0
  254. package/dist/physics/ragdoll/fit-bone-capsules-input.js.map +1 -0
  255. package/dist/physics/ragdoll/fit-bone-capsules.d.ts +2 -38
  256. package/dist/physics/ragdoll/fit-bone-capsules.js +13 -0
  257. package/dist/physics/ragdoll/fit-bone-capsules.js.map +1 -1
  258. package/dist/physics/ragdoll/fit-bone-capsules.test.js.map +1 -1
  259. package/dist/physics/ragdoll/skin-vertices.d.ts +6 -0
  260. package/dist/physics/ragdoll/skin-vertices.js +3 -0
  261. package/dist/physics/ragdoll/skin-vertices.js.map +1 -0
  262. package/dist/physics/rigid-body-components.d.ts +2 -0
  263. package/dist/physics/rigid-body-components.js +13 -0
  264. package/dist/physics/rigid-body-components.js.map +1 -0
  265. package/dist/physics/solvers/jolt-solver-plugin.d.ts +918 -41
  266. package/dist/physics/solvers/jolt-solver-plugin.js +19 -3
  267. package/dist/physics/solvers/jolt-solver-plugin.js.map +1 -1
  268. package/dist/physics/solvers/rapier-solver-plugin.d.ts +918 -41
  269. package/dist/physics/solvers/rapier-solver-plugin.js +7 -2
  270. package/dist/physics/solvers/rapier-solver-plugin.js.map +1 -1
  271. package/dist/physics/solvers/solver-benchmark-options.d.ts +14 -0
  272. package/dist/physics/solvers/solver-benchmark-options.js +3 -0
  273. package/dist/physics/solvers/solver-benchmark-options.js.map +1 -0
  274. package/dist/physics/solvers/solver-benchmark-result.d.ts +15 -0
  275. package/dist/physics/solvers/solver-benchmark-result.js +3 -0
  276. package/dist/physics/solvers/solver-benchmark-result.js.map +1 -0
  277. package/dist/physics/solvers/solver-benchmark.d.ts +2 -43
  278. package/dist/physics/solvers/solver-benchmark.js.map +1 -1
  279. package/dist/physics/static-collider-components.d.ts +2 -0
  280. package/dist/physics/static-collider-components.js +10 -0
  281. package/dist/physics/static-collider-components.js.map +1 -0
  282. package/package.json +14 -2
  283. package/src/core/public.ts +4 -0
  284. package/src/graphics/camera/orbit/attach-orbit-drag.ts +7 -27
  285. package/src/graphics/camera/orbit/orbit-data-plugin.ts +1 -1
  286. package/src/graphics/camera/orbit/orbit-drag-service.ts +13 -0
  287. package/src/graphics/camera/orbit/orbit-system-plugin.ts +6 -9
  288. package/src/graphics/camera/orbit/orbit.ts +5 -5
  289. package/src/graphics/camera/orbit/public.ts +2 -2
  290. package/src/graphics/index.ts +3 -0
  291. package/src/graphics/picking/picking-plugin.ts +4 -4
  292. package/src/graphics/public.ts +40 -0
  293. package/src/graphics/rendering/bone-collider-plugin.ts +16 -12
  294. package/src/graphics/rendering/display-transform-plugin.ts +2 -2
  295. package/src/graphics/rendering/ibl-render/ibl-render-plugin.ts +9 -9
  296. package/src/graphics/rendering/interpolation.test.ts +1 -1
  297. package/src/graphics/rendering/jolt-ragdoll-plugin.ts +11 -7
  298. package/src/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.ts +86 -0
  299. package/src/graphics/rendering/material-palette-gpu/material-palette-gpu.test.ts +20 -0
  300. package/src/graphics/rendering/material-palette-gpu/material-palette.ts +41 -0
  301. package/src/graphics/rendering/material-palette-gpu/palette-bind-group.ts +24 -0
  302. package/src/graphics/rendering/model-collider-plugin.ts +19 -35
  303. package/src/graphics/rendering/pbr-core-plugin.ts +16 -19
  304. package/src/graphics/rendering/pbr-render/{pbr-render-plugin.ts → pbr-factor-render-plugin.ts} +60 -111
  305. package/src/graphics/rendering/pbr-render/{pbr-array-shader.wgsl.ts → pbr-factor-shader.wgsl.ts} +19 -40
  306. package/src/graphics/rendering/pbr-render/physics-bridge-plugin.ts +95 -69
  307. package/src/graphics/rendering/pbr-render/primitive-render-shared.ts +76 -0
  308. package/src/graphics/rendering/skinning/skinning-plugin.ts +23 -41
  309. package/src/graphics/scene/model/geometry/public.ts +1 -1
  310. package/src/graphics/scene/model/mesh/mesh.ts +18 -0
  311. package/src/graphics/scene/model/mesh/public.ts +3 -0
  312. package/src/graphics/scene/model/mesh-plugin.ts +102 -0
  313. package/src/graphics/scene/model/model-loader-plugin.ts +25 -43
  314. package/src/graphics/scene/model/model-plugin.ts +1 -44
  315. package/src/graphics/scene/model/model.ts +2 -6
  316. package/src/graphics/scene/model/public.ts +3 -1
  317. package/src/graphics/scene/model/shape/bounds-from-shape-mesh.ts +20 -0
  318. package/src/graphics/scene/model/shape/shape-geometry-plugin.ts +97 -18
  319. package/src/graphics/scene/model/shape/shape-spec.ts +9 -0
  320. package/src/graphics/scene/model/world-bounds-plugin.ts +6 -25
  321. package/src/graphics/scene/node/node-data-plugin.test.ts +47 -0
  322. package/src/graphics/scene/node/node-data-plugin.ts +12 -5
  323. package/src/graphics/scene/scene-plugin.ts +3 -3
  324. package/src/index.ts +1 -70
  325. package/src/material/assemble-material-row.ts +26 -0
  326. package/src/material/definitions.ts +427 -0
  327. package/src/material/emission-mode.ts +11 -0
  328. package/src/material/index.ts +3 -0
  329. package/src/material/json/from-json-string.ts +11 -0
  330. package/src/material/json/from-json.test.ts +50 -0
  331. package/src/material/json/from-json.ts +23 -0
  332. package/src/material/json/is-properties-json.ts +77 -0
  333. package/src/material/json/library-json.ts +4 -0
  334. package/src/material/json/load-json.ts +15 -0
  335. package/src/material/json/properties-json.ts +25 -0
  336. package/src/material/json/public.ts +9 -0
  337. package/src/material/json/to-definition.ts +70 -0
  338. package/src/material/material-by-name-lookup.ts +10 -0
  339. package/src/material/material-defaults.ts +26 -0
  340. package/src/material/material-definition.ts +4 -0
  341. package/src/material/material-name.ts +3 -0
  342. package/src/material/material-plugin.test.ts +97 -0
  343. package/src/material/material-plugin.ts +67 -39
  344. package/src/material/material.ts +35 -34
  345. package/src/material/public.ts +12 -2
  346. package/src/material/require-material.ts +15 -0
  347. package/src/material/standard-material-names.ts +4 -0
  348. package/src/material/standard-materials.ts +21 -27
  349. package/src/material/stress-strain-curve/create.ts +9 -0
  350. package/src/material/stress-strain-curve/public.ts +2 -0
  351. package/src/material/stress-strain-curve/schema.test.ts +20 -0
  352. package/src/material/stress-strain-curve/schema.ts +20 -0
  353. package/src/material/stress-strain-curve/stress-strain-curve.ts +11 -0
  354. package/src/physics/README.md +9 -1
  355. package/src/physics/body/collider-shape/mass-from-volume.test.ts +8 -0
  356. package/src/physics/body/collider-shape/mass-from-volume.ts +4 -0
  357. package/src/physics/collider-primitive-render-archetype.ts +5 -0
  358. package/src/physics/collider-primitive-render-archetypes.ts +9 -0
  359. package/src/physics/index.ts +3 -0
  360. package/src/physics/is-voxel-shape-physics-pending.ts +9 -0
  361. package/src/physics/physics-clock/physics-clock.ts +17 -0
  362. package/src/physics/physics-clock-plugin.ts +1 -24
  363. package/src/physics/physics-clock.test.ts +2 -1
  364. package/src/physics/physics-data-plugin.ts +8 -6
  365. package/src/physics/public.ts +23 -0
  366. package/src/physics/ragdoll/bone-capsule.ts +11 -0
  367. package/src/physics/ragdoll/fit-bone-capsules-input.ts +14 -0
  368. package/src/physics/ragdoll/fit-bone-capsules.test.ts +2 -1
  369. package/src/physics/ragdoll/fit-bone-capsules.ts +2 -27
  370. package/src/physics/ragdoll/skin-vertices.ts +8 -0
  371. package/src/physics/rigid-body-components.ts +13 -0
  372. package/src/physics/solvers/README.md +4 -0
  373. package/src/physics/solvers/jolt-solver-plugin.ts +19 -5
  374. package/src/physics/solvers/rapier-solver-plugin.ts +5 -2
  375. package/src/physics/solvers/solver-benchmark-options.ts +16 -0
  376. package/src/physics/solvers/solver-benchmark-result.ts +17 -0
  377. package/src/physics/solvers/solver-benchmark.ts +2 -35
  378. package/src/physics/static-collider-components.ts +10 -0
  379. package/tsconfig.tsbuildinfo +1 -1
  380. package/src/graphics/rendering/material-gpu/material-arrays.ts +0 -113
  381. package/src/graphics/rendering/material-gpu/material-bind-group.ts +0 -61
  382. package/src/graphics/rendering/material-gpu/material-gpu-plugin.ts +0 -95
  383. package/src/graphics/scene/model/geometry/geometry.ts +0 -12
@@ -1,125 +1,15 @@
1
1
  import { type Entity } from "@adobe/data/ecs";
2
2
  import type { ColliderMesh } from "../../../physics/body/collider-mesh.js";
3
3
  /**
4
- * physicsRenderBridge — makes colliders renderable by `pbrRender`. Once the
5
- * shape geometries exist, every body with a collider shape (dynamic RigidBody
6
- * or immovable StaticCollider alike) gains a `geometry` ref (sphere / cube by
7
- * collider shape), a `scale` (its half-extents — the unit shapes are size-1),
8
- * and `visible`. Because physics `rotation`/`position` are the same components
9
- * the renderer reads, there is no per-frame sync: this only migrates new bodies.
10
- *
11
- * It also folds in `interpolation`, so dynamic bodies render at the smooth,
12
- * render-rate display pose for free (the solver steps on a fixed clock that need
13
- * not match the render rate) — bridging physics to the renderer is exactly when
14
- * you want that. Use `interpolation` directly only with a custom (non-bridge) path.
15
- *
16
- * Also declares `Prop` — a render-only placed geometry with a material that is
17
- * not a physics body at all (decorative scenery with no collider).
4
+ * physicsRenderBridge — assigns default primitive render meshes for standard
5
+ * physics bodies whose visual is the collider primitive (RigidBody,
6
+ * StaticCollider, ConvexBody, MeshCollider — including solver-tagged variants).
7
+ * Collider shape
8
+ * drives the mesh; bodies on other archetypes (e.g. `VoxelRigidBody`) are not
9
+ * touched — their visual path owns `mesh` assignment separately.
18
10
  */
19
11
  export declare const physicsRenderBridge: {
20
12
  readonly components: {
21
- readonly visible: {
22
- readonly type: "boolean";
23
- readonly const: true;
24
- readonly default: true;
25
- };
26
- readonly position: {
27
- readonly type: "array";
28
- readonly items: {
29
- readonly type: "number";
30
- readonly precision: 1;
31
- readonly default: number;
32
- };
33
- readonly minItems: 3;
34
- readonly maxItems: 3;
35
- readonly default: readonly [0, 0, 0];
36
- };
37
- readonly rotation: {
38
- readonly type: "array";
39
- readonly items: {
40
- readonly type: "number";
41
- readonly precision: 1;
42
- readonly default: number;
43
- };
44
- readonly minItems: 4;
45
- readonly maxItems: 4;
46
- readonly default: readonly [0, 0, 0, 1];
47
- readonly interpolators: {
48
- readonly linear: (q1: any, q2: any, t: number) => any;
49
- };
50
- };
51
- readonly scale: {
52
- readonly type: "array";
53
- readonly items: {
54
- readonly type: "number";
55
- readonly precision: 1;
56
- readonly default: number;
57
- };
58
- readonly minItems: 3;
59
- readonly maxItems: 3;
60
- readonly default: readonly [0, 0, 0];
61
- };
62
- readonly parent: {
63
- readonly type: "integer";
64
- readonly minimum: -2147483648;
65
- readonly maximum: 2147483647;
66
- readonly default: number;
67
- };
68
- readonly _worldMatrix: {
69
- readonly type: "array";
70
- readonly items: {
71
- readonly type: "number";
72
- readonly precision: 1;
73
- readonly default: number;
74
- };
75
- readonly minItems: 16;
76
- readonly maxItems: 16;
77
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
78
- };
79
- readonly _worldBounds: {
80
- readonly type: "object";
81
- readonly properties: {
82
- readonly min: {
83
- readonly type: "array";
84
- readonly items: {
85
- readonly type: "number";
86
- readonly precision: 1;
87
- readonly default: number;
88
- };
89
- readonly minItems: 3;
90
- readonly maxItems: 3;
91
- readonly default: readonly [0, 0, 0];
92
- };
93
- readonly max: {
94
- readonly type: "array";
95
- readonly items: {
96
- readonly type: "number";
97
- readonly precision: 1;
98
- readonly default: number;
99
- };
100
- readonly minItems: 3;
101
- readonly maxItems: 3;
102
- readonly default: readonly [0, 0, 0];
103
- };
104
- };
105
- readonly required: readonly ["min", "max"];
106
- readonly additionalProperties: false;
107
- readonly default: {
108
- readonly min: readonly [0, 0, 0];
109
- readonly max: readonly [0, 0, 0];
110
- };
111
- };
112
- } & {} & {
113
- readonly modelUrl: {
114
- readonly type: "string";
115
- };
116
- readonly geometry: {
117
- readonly type: "integer";
118
- readonly minimum: -2147483648;
119
- readonly maximum: 2147483647;
120
- readonly default: number;
121
- };
122
- } & {
123
13
  readonly material: {
124
14
  readonly type: "integer";
125
15
  readonly minimum: -2147483648;
@@ -154,6 +44,67 @@ export declare const physicsRenderBridge: {
154
44
  readonly precision: 1;
155
45
  readonly default: number;
156
46
  };
47
+ readonly viscosity: {
48
+ readonly type: "number";
49
+ readonly precision: 1;
50
+ readonly default: number;
51
+ };
52
+ readonly thermalConductivity: {
53
+ readonly type: "number";
54
+ readonly precision: 1;
55
+ readonly default: number;
56
+ };
57
+ readonly stressStrainCurve: {
58
+ readonly type: "object";
59
+ readonly layout: "packed";
60
+ readonly properties: {
61
+ readonly tensileYieldStrainStress: {
62
+ readonly type: "array";
63
+ readonly items: {
64
+ readonly type: "number";
65
+ readonly precision: 1;
66
+ readonly default: number;
67
+ };
68
+ readonly minItems: 2;
69
+ readonly maxItems: 2;
70
+ readonly default: readonly [0, 0];
71
+ };
72
+ readonly tensileFractureStrainStress: {
73
+ readonly type: "array";
74
+ readonly items: {
75
+ readonly type: "number";
76
+ readonly precision: 1;
77
+ readonly default: number;
78
+ };
79
+ readonly minItems: 2;
80
+ readonly maxItems: 2;
81
+ readonly default: readonly [0, 0];
82
+ };
83
+ readonly compressiveYieldStrainStress: {
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 compressiveFractureStrainStress: {
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
+ };
106
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
107
+ };
157
108
  readonly baseColorFactor: {
158
109
  readonly type: "array";
159
110
  readonly items: {
@@ -196,6 +147,22 @@ export declare const physicsRenderBridge: {
196
147
  readonly precision: 1;
197
148
  readonly default: number;
198
149
  };
150
+ readonly irReflectance: {
151
+ readonly type: "number";
152
+ readonly precision: 1;
153
+ readonly default: number;
154
+ };
155
+ readonly irEmission: {
156
+ readonly type: "number";
157
+ readonly precision: 1;
158
+ readonly default: number;
159
+ };
160
+ readonly emissionMode: {
161
+ readonly type: "integer";
162
+ readonly minimum: 0;
163
+ readonly maximum: 4294967295;
164
+ readonly default: number;
165
+ };
199
166
  readonly baseColorUrl: {
200
167
  readonly type: "string";
201
168
  };
@@ -279,6 +246,7 @@ export declare const physicsRenderBridge: {
279
246
  readonly default: readonly [0, 0, 0];
280
247
  };
281
248
  readonly _prevPosition: {
249
+ readonly nonPersistent: true;
282
250
  readonly type: "array";
283
251
  readonly items: {
284
252
  readonly type: "number";
@@ -290,6 +258,7 @@ export declare const physicsRenderBridge: {
290
258
  readonly default: readonly [0, 0, 0];
291
259
  };
292
260
  readonly _prevRotation: {
261
+ readonly nonPersistent: true;
293
262
  readonly type: "array";
294
263
  readonly items: {
295
264
  readonly type: "number";
@@ -314,280 +283,114 @@ export declare const physicsRenderBridge: {
314
283
  readonly colliderMesh: {
315
284
  readonly default: ColliderMesh | null;
316
285
  };
286
+ } & {};
287
+ readonly resources: {};
288
+ readonly archetypes: {
289
+ 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"];
317
290
  } & {
318
- readonly _vertexBuffer: {
319
- readonly default: GPUBuffer | null;
320
- };
321
- readonly _skinVertexBuffer: {
322
- readonly default: GPUBuffer | null;
323
- };
324
- readonly _indexBuffer: {
325
- readonly default: GPUBuffer | null;
326
- };
327
- readonly _indexCount: {
328
- readonly type: "integer";
329
- readonly minimum: 0;
330
- readonly maximum: 4294967295;
331
- readonly default: number;
332
- };
333
- readonly _indexFormat: {
334
- readonly default: GPUIndexFormat;
335
- };
336
- readonly _materialBindGroup: {
337
- readonly default: GPUBindGroup | null;
338
- };
339
- readonly _geometry: {
340
- readonly type: "integer";
341
- readonly minimum: -2147483648;
342
- readonly maximum: 2147483647;
343
- readonly default: number;
344
- };
345
- readonly _material: {
346
- readonly type: "integer";
347
- readonly minimum: -2147483648;
348
- readonly maximum: 2147483647;
349
- readonly default: number;
350
- };
351
- readonly _nodeLocalMatrix: {
352
- readonly type: "array";
353
- readonly items: {
291
+ readonly RigidBody: readonly ["bodyType", "colliderShape", "halfExtents", "material", "position", "rotation", "linearVelocity", "angularVelocity"];
292
+ readonly StaticCollider: readonly ["colliderShape", "halfExtents", "material", "position", "rotation"];
293
+ readonly ConvexBody: readonly ["bodyType", "colliderShape", "halfExtents", "material", "position", "rotation", "linearVelocity", "angularVelocity", "convexPoints"];
294
+ readonly MeshCollider: readonly ["colliderShape", "halfExtents", "material", "position", "rotation", "colliderMesh"];
295
+ } & {};
296
+ readonly transactions: {
297
+ readonly insertMaterial: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
298
+ readonly material: {
299
+ readonly type: "integer";
300
+ readonly minimum: -2147483648;
301
+ readonly maximum: 2147483647;
302
+ readonly default: number;
303
+ };
304
+ readonly name: {
305
+ readonly type: "string";
306
+ };
307
+ readonly density: {
354
308
  readonly type: "number";
355
309
  readonly precision: 1;
356
310
  readonly default: number;
357
311
  };
358
- readonly minItems: 16;
359
- readonly maxItems: 16;
360
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
361
- };
362
- readonly _skeletonModelRef: {
363
- readonly type: "integer";
364
- readonly minimum: -2147483648;
365
- readonly maximum: 2147483647;
366
- readonly default: number;
367
- };
368
- readonly _skeletonJointMatrixBindGroup: {
369
- readonly default: GPUBindGroup | null;
370
- };
371
- } & {
372
- readonly _renderPosition: {
373
- readonly type: "array";
374
- readonly items: {
312
+ readonly restitution: {
375
313
  readonly type: "number";
376
314
  readonly precision: 1;
377
315
  readonly default: number;
378
316
  };
379
- readonly minItems: 3;
380
- readonly maxItems: 3;
381
- readonly default: readonly [0, 0, 0];
382
- };
383
- readonly _renderRotation: {
384
- readonly type: "array";
385
- readonly items: {
317
+ readonly friction: {
386
318
  readonly type: "number";
387
319
  readonly precision: 1;
388
320
  readonly default: number;
389
321
  };
390
- readonly minItems: 4;
391
- readonly maxItems: 4;
392
- readonly default: readonly [0, 0, 0, 1];
393
- readonly interpolators: {
394
- readonly linear: (q1: any, q2: any, t: number) => any;
395
- };
396
- };
397
- };
398
- readonly resources: {} & {
399
- readonly materials: {
400
- readonly default: Record<string, Entity>;
401
- };
402
- } & {
403
- readonly frameTime: {
404
- readonly default: import("../../../core/frame-time/public.js");
405
- readonly nonPersistent: true;
406
- };
407
- } & {
408
- readonly schedulerState: {
409
- readonly default: import("@adobe/data/ecs").SchedulerState;
410
- };
411
- } & {
412
- readonly device: {
413
- readonly default: GPUDevice | null;
414
- readonly nonPersistent: true;
415
- };
416
- readonly commandEncoder: {
417
- readonly default: GPUCommandEncoder | null;
418
- readonly nonPersistent: true;
419
- };
420
- } & {
421
- readonly _shapeGeometry: {
422
- readonly default: {
423
- sphere: Entity;
424
- cube: Entity;
425
- } | null;
426
- readonly nonPersistent: true;
427
- };
428
- } & {
429
- readonly physicsClock: {
430
- readonly default: import("../../../index.js").PhysicsClock;
431
- readonly nonPersistent: true;
432
- };
433
- };
434
- readonly archetypes: {
435
- readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
436
- } & {} & {
437
- readonly Geometry: readonly ["modelUrl"];
438
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
439
- } & {
440
- readonly Material: readonly ["name", "density", "restitution", "friction", "compliance", "heatCapacity", "baseColorFactor", "emissiveFactor", "metallicFactor", "roughnessFactor", "normalScale", "occlusionStrength", "baseColorUrl", "metallicRoughnessUrl", "normalUrl", "occlusionUrl", "emissiveUrl"];
441
- } & {
442
- readonly RigidBody: readonly ["bodyType", "colliderShape", "halfExtents", "material", "position", "rotation", "linearVelocity", "angularVelocity"];
443
- readonly StaticCollider: readonly ["colliderShape", "halfExtents", "material", "position", "rotation"];
444
- readonly ConvexBody: readonly ["bodyType", "colliderShape", "halfExtents", "material", "position", "rotation", "linearVelocity", "angularVelocity", "convexPoints"];
445
- readonly MeshCollider: readonly ["colliderShape", "halfExtents", "material", "position", "rotation", "colliderMesh"];
446
- } & {} & {
447
- readonly _VisibleMaterial: readonly ["ephemeral", "_materialBindGroup", "_geometry"];
448
- readonly _PbrPrimitive: readonly ["ephemeral", "_vertexBuffer", "_skinVertexBuffer", "_indexBuffer", "_indexCount", "_indexFormat", "_material", "_geometry", "_nodeLocalMatrix"];
449
- } & {} & {} & {} & {
450
- readonly Prop: readonly ["geometry", "position", "rotation", "scale", "visible", "material"];
451
- };
452
- readonly transactions: {} & {} & {
453
- readonly insertGeometry: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
454
- readonly modelUrl: {
455
- readonly type: "string";
456
- };
457
- readonly geometry: {
458
- readonly type: "integer";
459
- readonly minimum: -2147483648;
460
- readonly maximum: 2147483647;
322
+ readonly compliance: {
323
+ readonly type: "number";
324
+ readonly precision: 1;
461
325
  readonly default: number;
462
326
  };
463
- } & {
464
- readonly visible: {
465
- readonly type: "boolean";
466
- readonly const: true;
467
- readonly default: true;
327
+ readonly heatCapacity: {
328
+ readonly type: "number";
329
+ readonly precision: 1;
330
+ readonly default: number;
468
331
  };
469
- readonly position: {
470
- readonly type: "array";
471
- readonly items: {
472
- readonly type: "number";
473
- readonly precision: 1;
474
- readonly default: number;
475
- };
476
- readonly minItems: 3;
477
- readonly maxItems: 3;
478
- readonly default: readonly [0, 0, 0];
332
+ readonly viscosity: {
333
+ readonly type: "number";
334
+ readonly precision: 1;
335
+ readonly default: number;
479
336
  };
480
- readonly rotation: {
481
- readonly type: "array";
482
- readonly items: {
483
- readonly type: "number";
484
- readonly precision: 1;
485
- readonly default: number;
486
- };
487
- readonly minItems: 4;
488
- readonly maxItems: 4;
489
- readonly default: readonly [0, 0, 0, 1];
490
- readonly interpolators: {
491
- readonly linear: (q1: any, q2: any, t: number) => any;
492
- };
337
+ readonly thermalConductivity: {
338
+ readonly type: "number";
339
+ readonly precision: 1;
340
+ readonly default: number;
493
341
  };
494
- readonly scale: {
495
- readonly type: "array";
496
- readonly items: {
497
- readonly type: "number";
498
- readonly precision: 1;
499
- readonly default: number;
500
- };
501
- readonly minItems: 3;
502
- readonly maxItems: 3;
503
- readonly default: readonly [0, 0, 0];
504
- };
505
- readonly parent: {
506
- readonly type: "integer";
507
- readonly minimum: -2147483648;
508
- readonly maximum: 2147483647;
509
- readonly default: number;
510
- };
511
- readonly _worldMatrix: {
512
- readonly type: "array";
513
- readonly items: {
514
- readonly type: "number";
515
- readonly precision: 1;
516
- readonly default: number;
517
- };
518
- readonly minItems: 16;
519
- readonly maxItems: 16;
520
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
521
- };
522
- readonly _worldBounds: {
342
+ readonly stressStrainCurve: {
523
343
  readonly type: "object";
344
+ readonly layout: "packed";
524
345
  readonly properties: {
525
- readonly min: {
346
+ readonly tensileYieldStrainStress: {
526
347
  readonly type: "array";
527
348
  readonly items: {
528
349
  readonly type: "number";
529
350
  readonly precision: 1;
530
351
  readonly default: number;
531
352
  };
532
- readonly minItems: 3;
533
- readonly maxItems: 3;
534
- readonly default: readonly [0, 0, 0];
353
+ readonly minItems: 2;
354
+ readonly maxItems: 2;
355
+ readonly default: readonly [0, 0];
535
356
  };
536
- readonly max: {
357
+ readonly tensileFractureStrainStress: {
537
358
  readonly type: "array";
538
359
  readonly items: {
539
360
  readonly type: "number";
540
361
  readonly precision: 1;
541
362
  readonly default: number;
542
363
  };
543
- readonly minItems: 3;
544
- readonly maxItems: 3;
545
- readonly default: readonly [0, 0, 0];
364
+ readonly minItems: 2;
365
+ readonly maxItems: 2;
366
+ readonly default: readonly [0, 0];
367
+ };
368
+ readonly compressiveYieldStrainStress: {
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 compressiveFractureStrainStress: {
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];
546
389
  };
547
390
  };
548
- readonly required: readonly ["min", "max"];
549
- readonly additionalProperties: false;
550
- readonly default: {
551
- readonly min: readonly [0, 0, 0];
552
- readonly max: readonly [0, 0, 0];
553
- };
554
- };
555
- } & {}>, import("@adobe/data/schema").FromSchemas<{}>, {
556
- readonly Geometry: readonly ["modelUrl"];
557
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
558
- } & {
559
- readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
560
- } & {}, {} & {} & {}>, args: {
561
- modelUrl: string;
562
- }) => number;
563
- readonly insertModel: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
564
- readonly modelUrl: {
565
- readonly type: "string";
566
- };
567
- readonly geometry: {
568
- readonly type: "integer";
569
- readonly minimum: -2147483648;
570
- readonly maximum: 2147483647;
571
- readonly default: number;
572
- };
573
- } & {
574
- readonly visible: {
575
- readonly type: "boolean";
576
- readonly const: true;
577
- readonly default: true;
578
- };
579
- readonly position: {
580
- readonly type: "array";
581
- readonly items: {
582
- readonly type: "number";
583
- readonly precision: 1;
584
- readonly default: number;
585
- };
586
- readonly minItems: 3;
587
- readonly maxItems: 3;
588
- readonly default: readonly [0, 0, 0];
391
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
589
392
  };
590
- readonly rotation: {
393
+ readonly baseColorFactor: {
591
394
  readonly type: "array";
592
395
  readonly items: {
593
396
  readonly type: "number";
@@ -596,12 +399,9 @@ export declare const physicsRenderBridge: {
596
399
  };
597
400
  readonly minItems: 4;
598
401
  readonly maxItems: 4;
599
- readonly default: readonly [0, 0, 0, 1];
600
- readonly interpolators: {
601
- readonly linear: (q1: any, q2: any, t: number) => any;
602
- };
402
+ readonly default: readonly [0, 0, 0, 0];
603
403
  };
604
- readonly scale: {
404
+ readonly emissiveFactor: {
605
405
  readonly type: "array";
606
406
  readonly items: {
607
407
  readonly type: "number";
@@ -612,70 +412,67 @@ export declare const physicsRenderBridge: {
612
412
  readonly maxItems: 3;
613
413
  readonly default: readonly [0, 0, 0];
614
414
  };
615
- readonly parent: {
415
+ readonly metallicFactor: {
416
+ readonly type: "number";
417
+ readonly precision: 1;
418
+ readonly default: number;
419
+ };
420
+ readonly roughnessFactor: {
421
+ readonly type: "number";
422
+ readonly precision: 1;
423
+ readonly default: number;
424
+ };
425
+ readonly normalScale: {
426
+ readonly type: "number";
427
+ readonly precision: 1;
428
+ readonly default: number;
429
+ };
430
+ readonly occlusionStrength: {
431
+ readonly type: "number";
432
+ readonly precision: 1;
433
+ readonly default: number;
434
+ };
435
+ readonly irReflectance: {
436
+ readonly type: "number";
437
+ readonly precision: 1;
438
+ readonly default: number;
439
+ };
440
+ readonly irEmission: {
441
+ readonly type: "number";
442
+ readonly precision: 1;
443
+ readonly default: number;
444
+ };
445
+ readonly emissionMode: {
616
446
  readonly type: "integer";
617
- readonly minimum: -2147483648;
618
- readonly maximum: 2147483647;
447
+ readonly minimum: 0;
448
+ readonly maximum: 4294967295;
619
449
  readonly default: number;
620
450
  };
621
- readonly _worldMatrix: {
622
- readonly type: "array";
623
- readonly items: {
624
- readonly type: "number";
625
- readonly precision: 1;
626
- readonly default: number;
627
- };
628
- readonly minItems: 16;
629
- readonly maxItems: 16;
630
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
451
+ readonly baseColorUrl: {
452
+ readonly type: "string";
631
453
  };
632
- readonly _worldBounds: {
633
- readonly type: "object";
634
- readonly properties: {
635
- readonly min: {
636
- readonly type: "array";
637
- readonly items: {
638
- readonly type: "number";
639
- readonly precision: 1;
640
- readonly default: number;
641
- };
642
- readonly minItems: 3;
643
- readonly maxItems: 3;
644
- readonly default: readonly [0, 0, 0];
645
- };
646
- readonly max: {
647
- readonly type: "array";
648
- readonly items: {
649
- readonly type: "number";
650
- readonly precision: 1;
651
- readonly default: number;
652
- };
653
- readonly minItems: 3;
654
- readonly maxItems: 3;
655
- readonly default: readonly [0, 0, 0];
656
- };
657
- };
658
- readonly required: readonly ["min", "max"];
659
- readonly additionalProperties: false;
660
- readonly default: {
661
- readonly min: readonly [0, 0, 0];
662
- readonly max: readonly [0, 0, 0];
663
- };
454
+ readonly metallicRoughnessUrl: {
455
+ readonly type: "string";
664
456
  };
665
- } & {}>, import("@adobe/data/schema").FromSchemas<{}>, {
666
- readonly Geometry: readonly ["modelUrl"];
667
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
668
- } & {
669
- readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
670
- } & {}, {} & {} & {}>, args: {
671
- geometry: number;
672
- position?: readonly [number, number, number];
673
- rotation?: import("@adobe/data/math").Quat;
674
- scale?: readonly [number, number, number];
675
- parent?: number;
676
- }) => number;
677
- } & {
678
- readonly seedStandardMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
457
+ readonly normalUrl: {
458
+ readonly type: "string";
459
+ };
460
+ readonly occlusionUrl: {
461
+ readonly type: "string";
462
+ };
463
+ readonly emissiveUrl: {
464
+ readonly type: "string";
465
+ };
466
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
467
+ 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"];
468
+ }, {
469
+ readonly materialByName: {
470
+ readonly key: "name";
471
+ readonly unique: true;
472
+ readonly archetype: "Material";
473
+ };
474
+ }>, row: import("../../../material/public.js")) => Entity;
475
+ readonly insertMaterialDefinition: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
679
476
  readonly material: {
680
477
  readonly type: "integer";
681
478
  readonly minimum: -2147483648;
@@ -710,6 +507,67 @@ export declare const physicsRenderBridge: {
710
507
  readonly precision: 1;
711
508
  readonly default: number;
712
509
  };
510
+ readonly viscosity: {
511
+ readonly type: "number";
512
+ readonly precision: 1;
513
+ readonly default: number;
514
+ };
515
+ readonly thermalConductivity: {
516
+ readonly type: "number";
517
+ readonly precision: 1;
518
+ readonly default: number;
519
+ };
520
+ readonly stressStrainCurve: {
521
+ readonly type: "object";
522
+ readonly layout: "packed";
523
+ readonly properties: {
524
+ readonly tensileYieldStrainStress: {
525
+ readonly type: "array";
526
+ readonly items: {
527
+ readonly type: "number";
528
+ readonly precision: 1;
529
+ readonly default: number;
530
+ };
531
+ readonly minItems: 2;
532
+ readonly maxItems: 2;
533
+ readonly default: readonly [0, 0];
534
+ };
535
+ readonly tensileFractureStrainStress: {
536
+ readonly type: "array";
537
+ readonly items: {
538
+ readonly type: "number";
539
+ readonly precision: 1;
540
+ readonly default: number;
541
+ };
542
+ readonly minItems: 2;
543
+ readonly maxItems: 2;
544
+ readonly default: readonly [0, 0];
545
+ };
546
+ readonly compressiveYieldStrainStress: {
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 compressiveFractureStrainStress: {
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
+ };
569
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
570
+ };
713
571
  readonly baseColorFactor: {
714
572
  readonly type: "array";
715
573
  readonly items: {
@@ -752,6 +610,22 @@ export declare const physicsRenderBridge: {
752
610
  readonly precision: 1;
753
611
  readonly default: number;
754
612
  };
613
+ readonly irReflectance: {
614
+ readonly type: "number";
615
+ readonly precision: 1;
616
+ readonly default: number;
617
+ };
618
+ readonly irEmission: {
619
+ readonly type: "number";
620
+ readonly precision: 1;
621
+ readonly default: number;
622
+ };
623
+ readonly emissionMode: {
624
+ readonly type: "integer";
625
+ readonly minimum: 0;
626
+ readonly maximum: 4294967295;
627
+ readonly default: number;
628
+ };
755
629
  readonly baseColorUrl: {
756
630
  readonly type: "string";
757
631
  };
@@ -767,75 +641,126 @@ export declare const physicsRenderBridge: {
767
641
  readonly emissiveUrl: {
768
642
  readonly type: "string";
769
643
  };
770
- }>, import("@adobe/data/schema").FromSchemas<{
771
- readonly materials: {
772
- readonly default: Record<string, Entity>;
644
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
645
+ 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"];
646
+ }, {
647
+ readonly materialByName: {
648
+ readonly key: "name";
649
+ readonly unique: true;
650
+ readonly archetype: "Material";
651
+ };
652
+ }>, args: {
653
+ name: string;
654
+ definition: import("../../../material/material-definition.js").MaterialDefinition;
655
+ }) => Entity;
656
+ readonly insertMaterialDefinitions: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
657
+ readonly material: {
658
+ readonly type: "integer";
659
+ readonly minimum: -2147483648;
660
+ readonly maximum: 2147483647;
661
+ readonly default: number;
773
662
  };
774
- }>, {
775
- readonly Material: readonly ["name", "density", "restitution", "friction", "compliance", "heatCapacity", "baseColorFactor", "emissiveFactor", "metallicFactor", "roughnessFactor", "normalScale", "occlusionStrength", "baseColorUrl", "metallicRoughnessUrl", "normalUrl", "occlusionUrl", "emissiveUrl"];
776
- }, {}>) => void;
777
- } & {} & {} & {} & {} & {
778
- readonly insertShapePrimitive: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{} & {
779
- readonly _vertexBuffer: {
780
- readonly default: GPUBuffer | null;
663
+ readonly name: {
664
+ readonly type: "string";
781
665
  };
782
- readonly _skinVertexBuffer: {
783
- readonly default: GPUBuffer | null;
666
+ readonly density: {
667
+ readonly type: "number";
668
+ readonly precision: 1;
669
+ readonly default: number;
784
670
  };
785
- readonly _indexBuffer: {
786
- readonly default: GPUBuffer | null;
671
+ readonly restitution: {
672
+ readonly type: "number";
673
+ readonly precision: 1;
674
+ readonly default: number;
787
675
  };
788
- readonly _indexCount: {
789
- readonly type: "integer";
790
- readonly minimum: 0;
791
- readonly maximum: 4294967295;
676
+ readonly friction: {
677
+ readonly type: "number";
678
+ readonly precision: 1;
792
679
  readonly default: number;
793
680
  };
794
- readonly _indexFormat: {
795
- readonly default: GPUIndexFormat;
681
+ readonly compliance: {
682
+ readonly type: "number";
683
+ readonly precision: 1;
684
+ readonly default: number;
796
685
  };
797
- readonly _materialBindGroup: {
798
- readonly default: GPUBindGroup | null;
686
+ readonly heatCapacity: {
687
+ readonly type: "number";
688
+ readonly precision: 1;
689
+ readonly default: number;
799
690
  };
800
- readonly _geometry: {
801
- readonly type: "integer";
802
- readonly minimum: -2147483648;
803
- readonly maximum: 2147483647;
691
+ readonly viscosity: {
692
+ readonly type: "number";
693
+ readonly precision: 1;
804
694
  readonly default: number;
805
695
  };
806
- readonly _material: {
807
- readonly type: "integer";
808
- readonly minimum: -2147483648;
809
- readonly maximum: 2147483647;
696
+ readonly thermalConductivity: {
697
+ readonly type: "number";
698
+ readonly precision: 1;
810
699
  readonly default: number;
811
700
  };
812
- readonly _nodeLocalMatrix: {
701
+ readonly stressStrainCurve: {
702
+ readonly type: "object";
703
+ readonly layout: "packed";
704
+ readonly properties: {
705
+ readonly tensileYieldStrainStress: {
706
+ readonly type: "array";
707
+ readonly items: {
708
+ readonly type: "number";
709
+ readonly precision: 1;
710
+ readonly default: number;
711
+ };
712
+ readonly minItems: 2;
713
+ readonly maxItems: 2;
714
+ readonly default: readonly [0, 0];
715
+ };
716
+ readonly tensileFractureStrainStress: {
717
+ readonly type: "array";
718
+ readonly items: {
719
+ readonly type: "number";
720
+ readonly precision: 1;
721
+ readonly default: number;
722
+ };
723
+ readonly minItems: 2;
724
+ readonly maxItems: 2;
725
+ readonly default: readonly [0, 0];
726
+ };
727
+ readonly compressiveYieldStrainStress: {
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 compressiveFractureStrainStress: {
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
+ };
750
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
751
+ };
752
+ readonly baseColorFactor: {
813
753
  readonly type: "array";
814
754
  readonly items: {
815
755
  readonly type: "number";
816
756
  readonly precision: 1;
817
757
  readonly default: number;
818
758
  };
819
- readonly minItems: 16;
820
- readonly maxItems: 16;
821
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
759
+ readonly minItems: 4;
760
+ readonly maxItems: 4;
761
+ readonly default: readonly [0, 0, 0, 0];
822
762
  };
823
- readonly _skeletonModelRef: {
824
- readonly type: "integer";
825
- readonly minimum: -2147483648;
826
- readonly maximum: 2147483647;
827
- readonly default: number;
828
- };
829
- readonly _skeletonJointMatrixBindGroup: {
830
- readonly default: GPUBindGroup | null;
831
- };
832
- } & {
833
- readonly visible: {
834
- readonly type: "boolean";
835
- readonly const: true;
836
- readonly default: true;
837
- };
838
- readonly position: {
763
+ readonly emissiveFactor: {
839
764
  readonly type: "array";
840
765
  readonly items: {
841
766
  readonly type: "number";
@@ -846,7 +771,163 @@ export declare const physicsRenderBridge: {
846
771
  readonly maxItems: 3;
847
772
  readonly default: readonly [0, 0, 0];
848
773
  };
849
- readonly rotation: {
774
+ readonly metallicFactor: {
775
+ readonly type: "number";
776
+ readonly precision: 1;
777
+ readonly default: number;
778
+ };
779
+ readonly roughnessFactor: {
780
+ readonly type: "number";
781
+ readonly precision: 1;
782
+ readonly default: number;
783
+ };
784
+ readonly normalScale: {
785
+ readonly type: "number";
786
+ readonly precision: 1;
787
+ readonly default: number;
788
+ };
789
+ readonly occlusionStrength: {
790
+ readonly type: "number";
791
+ readonly precision: 1;
792
+ readonly default: number;
793
+ };
794
+ readonly irReflectance: {
795
+ readonly type: "number";
796
+ readonly precision: 1;
797
+ readonly default: number;
798
+ };
799
+ readonly irEmission: {
800
+ readonly type: "number";
801
+ readonly precision: 1;
802
+ readonly default: number;
803
+ };
804
+ readonly emissionMode: {
805
+ readonly type: "integer";
806
+ readonly minimum: 0;
807
+ readonly maximum: 4294967295;
808
+ readonly default: number;
809
+ };
810
+ readonly baseColorUrl: {
811
+ readonly type: "string";
812
+ };
813
+ readonly metallicRoughnessUrl: {
814
+ readonly type: "string";
815
+ };
816
+ readonly normalUrl: {
817
+ readonly type: "string";
818
+ };
819
+ readonly occlusionUrl: {
820
+ readonly type: "string";
821
+ };
822
+ readonly emissiveUrl: {
823
+ readonly type: "string";
824
+ };
825
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
826
+ 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"];
827
+ }, {
828
+ readonly materialByName: {
829
+ readonly key: "name";
830
+ readonly unique: true;
831
+ readonly archetype: "Material";
832
+ };
833
+ }>, defs: Readonly<Record<string, import("../../../material/material-definition.js").MaterialDefinition>>) => void;
834
+ readonly seedStandardMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
835
+ readonly material: {
836
+ readonly type: "integer";
837
+ readonly minimum: -2147483648;
838
+ readonly maximum: 2147483647;
839
+ readonly default: number;
840
+ };
841
+ readonly name: {
842
+ readonly type: "string";
843
+ };
844
+ readonly density: {
845
+ readonly type: "number";
846
+ readonly precision: 1;
847
+ readonly default: number;
848
+ };
849
+ readonly restitution: {
850
+ readonly type: "number";
851
+ readonly precision: 1;
852
+ readonly default: number;
853
+ };
854
+ readonly friction: {
855
+ readonly type: "number";
856
+ readonly precision: 1;
857
+ readonly default: number;
858
+ };
859
+ readonly compliance: {
860
+ readonly type: "number";
861
+ readonly precision: 1;
862
+ readonly default: number;
863
+ };
864
+ readonly heatCapacity: {
865
+ readonly type: "number";
866
+ readonly precision: 1;
867
+ readonly default: number;
868
+ };
869
+ readonly viscosity: {
870
+ readonly type: "number";
871
+ readonly precision: 1;
872
+ readonly default: number;
873
+ };
874
+ readonly thermalConductivity: {
875
+ readonly type: "number";
876
+ readonly precision: 1;
877
+ readonly default: number;
878
+ };
879
+ readonly stressStrainCurve: {
880
+ readonly type: "object";
881
+ readonly layout: "packed";
882
+ readonly properties: {
883
+ readonly tensileYieldStrainStress: {
884
+ readonly type: "array";
885
+ readonly items: {
886
+ readonly type: "number";
887
+ readonly precision: 1;
888
+ readonly default: number;
889
+ };
890
+ readonly minItems: 2;
891
+ readonly maxItems: 2;
892
+ readonly default: readonly [0, 0];
893
+ };
894
+ readonly tensileFractureStrainStress: {
895
+ readonly type: "array";
896
+ readonly items: {
897
+ readonly type: "number";
898
+ readonly precision: 1;
899
+ readonly default: number;
900
+ };
901
+ readonly minItems: 2;
902
+ readonly maxItems: 2;
903
+ readonly default: readonly [0, 0];
904
+ };
905
+ readonly compressiveYieldStrainStress: {
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 compressiveFractureStrainStress: {
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
+ };
928
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
929
+ };
930
+ readonly baseColorFactor: {
850
931
  readonly type: "array";
851
932
  readonly items: {
852
933
  readonly type: "number";
@@ -855,12 +936,9 @@ export declare const physicsRenderBridge: {
855
936
  };
856
937
  readonly minItems: 4;
857
938
  readonly maxItems: 4;
858
- readonly default: readonly [0, 0, 0, 1];
859
- readonly interpolators: {
860
- readonly linear: (q1: any, q2: any, t: number) => any;
861
- };
939
+ readonly default: readonly [0, 0, 0, 0];
862
940
  };
863
- readonly scale: {
941
+ readonly emissiveFactor: {
864
942
  readonly type: "array";
865
943
  readonly items: {
866
944
  readonly type: "number";
@@ -871,134 +949,254 @@ export declare const physicsRenderBridge: {
871
949
  readonly maxItems: 3;
872
950
  readonly default: readonly [0, 0, 0];
873
951
  };
874
- readonly parent: {
952
+ readonly metallicFactor: {
953
+ readonly type: "number";
954
+ readonly precision: 1;
955
+ readonly default: number;
956
+ };
957
+ readonly roughnessFactor: {
958
+ readonly type: "number";
959
+ readonly precision: 1;
960
+ readonly default: number;
961
+ };
962
+ readonly normalScale: {
963
+ readonly type: "number";
964
+ readonly precision: 1;
965
+ readonly default: number;
966
+ };
967
+ readonly occlusionStrength: {
968
+ readonly type: "number";
969
+ readonly precision: 1;
970
+ readonly default: number;
971
+ };
972
+ readonly irReflectance: {
973
+ readonly type: "number";
974
+ readonly precision: 1;
975
+ readonly default: number;
976
+ };
977
+ readonly irEmission: {
978
+ readonly type: "number";
979
+ readonly precision: 1;
980
+ readonly default: number;
981
+ };
982
+ readonly emissionMode: {
983
+ readonly type: "integer";
984
+ readonly minimum: 0;
985
+ readonly maximum: 4294967295;
986
+ readonly default: number;
987
+ };
988
+ readonly baseColorUrl: {
989
+ readonly type: "string";
990
+ };
991
+ readonly metallicRoughnessUrl: {
992
+ readonly type: "string";
993
+ };
994
+ readonly normalUrl: {
995
+ readonly type: "string";
996
+ };
997
+ readonly occlusionUrl: {
998
+ readonly type: "string";
999
+ };
1000
+ readonly emissiveUrl: {
1001
+ readonly type: "string";
1002
+ };
1003
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
1004
+ 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"];
1005
+ }, {
1006
+ readonly materialByName: {
1007
+ readonly key: "name";
1008
+ readonly unique: true;
1009
+ readonly archetype: "Material";
1010
+ };
1011
+ }>) => void;
1012
+ readonly seedDefinitionMaterials: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{
1013
+ readonly material: {
875
1014
  readonly type: "integer";
876
1015
  readonly minimum: -2147483648;
877
1016
  readonly maximum: 2147483647;
878
1017
  readonly default: number;
879
1018
  };
880
- readonly _worldMatrix: {
881
- readonly type: "array";
882
- readonly items: {
883
- readonly type: "number";
884
- readonly precision: 1;
885
- readonly default: number;
886
- };
887
- readonly minItems: 16;
888
- readonly maxItems: 16;
889
- readonly default: readonly [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
1019
+ readonly name: {
1020
+ readonly type: "string";
1021
+ };
1022
+ readonly density: {
1023
+ readonly type: "number";
1024
+ readonly precision: 1;
1025
+ readonly default: number;
1026
+ };
1027
+ readonly restitution: {
1028
+ readonly type: "number";
1029
+ readonly precision: 1;
1030
+ readonly default: number;
1031
+ };
1032
+ readonly friction: {
1033
+ readonly type: "number";
1034
+ readonly precision: 1;
1035
+ readonly default: number;
1036
+ };
1037
+ readonly compliance: {
1038
+ readonly type: "number";
1039
+ readonly precision: 1;
1040
+ readonly default: number;
890
1041
  };
891
- readonly _worldBounds: {
1042
+ readonly heatCapacity: {
1043
+ readonly type: "number";
1044
+ readonly precision: 1;
1045
+ readonly default: number;
1046
+ };
1047
+ readonly viscosity: {
1048
+ readonly type: "number";
1049
+ readonly precision: 1;
1050
+ readonly default: number;
1051
+ };
1052
+ readonly thermalConductivity: {
1053
+ readonly type: "number";
1054
+ readonly precision: 1;
1055
+ readonly default: number;
1056
+ };
1057
+ readonly stressStrainCurve: {
892
1058
  readonly type: "object";
1059
+ readonly layout: "packed";
893
1060
  readonly properties: {
894
- readonly min: {
1061
+ readonly tensileYieldStrainStress: {
1062
+ readonly type: "array";
1063
+ readonly items: {
1064
+ readonly type: "number";
1065
+ readonly precision: 1;
1066
+ readonly default: number;
1067
+ };
1068
+ readonly minItems: 2;
1069
+ readonly maxItems: 2;
1070
+ readonly default: readonly [0, 0];
1071
+ };
1072
+ readonly tensileFractureStrainStress: {
1073
+ readonly type: "array";
1074
+ readonly items: {
1075
+ readonly type: "number";
1076
+ readonly precision: 1;
1077
+ readonly default: number;
1078
+ };
1079
+ readonly minItems: 2;
1080
+ readonly maxItems: 2;
1081
+ readonly default: readonly [0, 0];
1082
+ };
1083
+ readonly compressiveYieldStrainStress: {
895
1084
  readonly type: "array";
896
1085
  readonly items: {
897
1086
  readonly type: "number";
898
1087
  readonly precision: 1;
899
1088
  readonly default: number;
900
1089
  };
901
- readonly minItems: 3;
902
- readonly maxItems: 3;
903
- readonly default: readonly [0, 0, 0];
1090
+ readonly minItems: 2;
1091
+ readonly maxItems: 2;
1092
+ readonly default: readonly [0, 0];
904
1093
  };
905
- readonly max: {
1094
+ readonly compressiveFractureStrainStress: {
906
1095
  readonly type: "array";
907
1096
  readonly items: {
908
1097
  readonly type: "number";
909
1098
  readonly precision: 1;
910
1099
  readonly default: number;
911
1100
  };
912
- readonly minItems: 3;
913
- readonly maxItems: 3;
914
- readonly default: readonly [0, 0, 0];
1101
+ readonly minItems: 2;
1102
+ readonly maxItems: 2;
1103
+ readonly default: readonly [0, 0];
915
1104
  };
916
1105
  };
917
- readonly required: readonly ["min", "max"];
918
- readonly additionalProperties: false;
919
- readonly default: {
920
- readonly min: readonly [0, 0, 0];
921
- readonly max: readonly [0, 0, 0];
1106
+ readonly required: readonly ["tensileYieldStrainStress", "tensileFractureStrainStress", "compressiveYieldStrainStress", "compressiveFractureStrainStress"];
1107
+ };
1108
+ readonly baseColorFactor: {
1109
+ readonly type: "array";
1110
+ readonly items: {
1111
+ readonly type: "number";
1112
+ readonly precision: 1;
1113
+ readonly default: number;
922
1114
  };
1115
+ readonly minItems: 4;
1116
+ readonly maxItems: 4;
1117
+ readonly default: readonly [0, 0, 0, 0];
923
1118
  };
924
- } & {
925
- readonly modelUrl: {
926
- readonly type: "string";
1119
+ readonly emissiveFactor: {
1120
+ readonly type: "array";
1121
+ readonly items: {
1122
+ readonly type: "number";
1123
+ readonly precision: 1;
1124
+ readonly default: number;
1125
+ };
1126
+ readonly minItems: 3;
1127
+ readonly maxItems: 3;
1128
+ readonly default: readonly [0, 0, 0];
1129
+ };
1130
+ readonly metallicFactor: {
1131
+ readonly type: "number";
1132
+ readonly precision: 1;
1133
+ readonly default: number;
1134
+ };
1135
+ readonly roughnessFactor: {
1136
+ readonly type: "number";
1137
+ readonly precision: 1;
1138
+ readonly default: number;
1139
+ };
1140
+ readonly normalScale: {
1141
+ readonly type: "number";
1142
+ readonly precision: 1;
1143
+ readonly default: number;
1144
+ };
1145
+ readonly occlusionStrength: {
1146
+ readonly type: "number";
1147
+ readonly precision: 1;
1148
+ readonly default: number;
1149
+ };
1150
+ readonly irReflectance: {
1151
+ readonly type: "number";
1152
+ readonly precision: 1;
1153
+ readonly default: number;
1154
+ };
1155
+ readonly irEmission: {
1156
+ readonly type: "number";
1157
+ readonly precision: 1;
1158
+ readonly default: number;
927
1159
  };
928
- readonly geometry: {
1160
+ readonly emissionMode: {
929
1161
  readonly type: "integer";
930
- readonly minimum: -2147483648;
931
- readonly maximum: 2147483647;
1162
+ readonly minimum: 0;
1163
+ readonly maximum: 4294967295;
932
1164
  readonly default: number;
933
1165
  };
934
- }>, import("@adobe/data/schema").FromSchemas<{
935
- readonly _shapeGeometry: {
936
- readonly default: {
937
- sphere: Entity;
938
- cube: Entity;
939
- } | null;
940
- readonly nonPersistent: true;
941
- };
942
- } & {} & {
943
- readonly frameTime: {
944
- readonly default: import("../../../core/frame-time/public.js");
945
- readonly nonPersistent: true;
946
- };
947
- } & {
948
- readonly schedulerState: {
949
- readonly default: import("@adobe/data/ecs").SchedulerState;
950
- };
951
- } & {
952
- readonly device: {
953
- readonly default: GPUDevice | null;
954
- readonly nonPersistent: true;
955
- };
956
- readonly commandEncoder: {
957
- readonly default: GPUCommandEncoder | null;
958
- readonly nonPersistent: true;
959
- };
960
- }>, {} & {} & {
961
- readonly _VisibleMaterial: readonly ["ephemeral", "_materialBindGroup", "_geometry"];
962
- readonly _PbrPrimitive: readonly ["ephemeral", "_vertexBuffer", "_skinVertexBuffer", "_indexBuffer", "_indexCount", "_indexFormat", "_material", "_geometry", "_nodeLocalMatrix"];
963
- } & {
964
- readonly Node: readonly ["position", "rotation", "scale", "parent", "visible"];
965
- } & {} & {
966
- readonly Geometry: readonly ["modelUrl"];
967
- readonly Model: readonly ["geometry", "position", "rotation", "scale", "visible", "parent"];
968
- }, {} & {} & {} & {} & {} & {}>, args: {
969
- vertexBuffer: GPUBuffer;
970
- indexBuffer: GPUBuffer;
971
- indexCount: number;
972
- }) => Entity;
973
- } & {} & {
974
- readonly setFixedTimestep: (t: import("@adobe/data/ecs").TransactionContext<import("@adobe/data/schema").FromSchemas<{}>, import("@adobe/data/schema").FromSchemas<{
975
- readonly physicsClock: {
976
- readonly default: import("../../../index.js").PhysicsClock;
977
- readonly nonPersistent: true;
978
- };
979
- } & {
980
- readonly frameTime: {
981
- readonly default: import("../../../core/frame-time/public.js");
982
- readonly nonPersistent: true;
983
- };
984
- } & {
985
- readonly schedulerState: {
986
- readonly default: import("@adobe/data/ecs").SchedulerState;
987
- };
988
- } & {
989
- readonly device: {
990
- readonly default: GPUDevice | null;
991
- readonly nonPersistent: true;
992
- };
993
- readonly commandEncoder: {
994
- readonly default: GPUCommandEncoder | null;
995
- readonly nonPersistent: true;
996
- };
997
- }>, {}, {}>, hz: number) => void;
1166
+ readonly baseColorUrl: {
1167
+ readonly type: "string";
1168
+ };
1169
+ readonly metallicRoughnessUrl: {
1170
+ readonly type: "string";
1171
+ };
1172
+ readonly normalUrl: {
1173
+ readonly type: "string";
1174
+ };
1175
+ readonly occlusionUrl: {
1176
+ readonly type: "string";
1177
+ };
1178
+ readonly emissiveUrl: {
1179
+ readonly type: "string";
1180
+ };
1181
+ }>, import("@adobe/data/schema").FromSchemas<{}>, {
1182
+ 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"];
1183
+ }, {
1184
+ readonly materialByName: {
1185
+ readonly key: "name";
1186
+ readonly unique: true;
1187
+ readonly archetype: "Material";
1188
+ };
1189
+ }>) => void;
998
1190
  } & {} & {};
999
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"transformCreateWorldMatrix" | "transformSystem" | "update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "shapeGeometryInit" | "advancePhysicsClock" | "interpolateDisplayPose" | "interpolateWorldMatrix" | "physicsBridge">;
1191
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"physicsBridge">;
1000
1192
  readonly actions: {};
1001
1193
  readonly services: {};
1002
1194
  readonly computed: {};
1003
- readonly indexes: {} & {} & {} & {} & {} & {} & {} & {} & {} & {} & {};
1195
+ readonly indexes: {
1196
+ readonly materialByName: {
1197
+ readonly key: "name";
1198
+ readonly unique: true;
1199
+ readonly archetype: "Material";
1200
+ };
1201
+ } & {} & {};
1004
1202
  };