@adobe/data-gpu 0.9.75 → 0.9.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/CLAUDE.md +9 -0
  2. package/README.md +36 -0
  3. package/dist/core/core-plugin.d.ts +1 -1
  4. package/dist/core/public.d.ts +2 -0
  5. package/dist/core/public.js +4 -0
  6. package/dist/core/public.js.map +1 -0
  7. package/dist/graphics/animation/animation-data-plugin.d.ts +8 -0
  8. package/dist/graphics/animation/animation-plugin.d.ts +10 -2
  9. package/dist/graphics/camera/camera-plugin.d.ts +3 -3
  10. package/dist/graphics/camera/orbit/attach-orbit-drag.d.ts +1 -21
  11. package/dist/graphics/camera/orbit/attach-orbit-drag.js +0 -10
  12. package/dist/graphics/camera/orbit/attach-orbit-drag.js.map +1 -1
  13. package/dist/graphics/camera/orbit/orbit-data-plugin.d.ts +6 -6
  14. package/dist/graphics/camera/orbit/orbit-data-plugin.js +1 -1
  15. package/dist/graphics/camera/orbit/orbit-data-plugin.js.map +1 -1
  16. package/dist/graphics/camera/orbit/orbit-drag-service.d.ts +11 -0
  17. package/dist/graphics/camera/orbit/orbit-drag-service.js +3 -0
  18. package/dist/graphics/camera/orbit/orbit-drag-service.js.map +1 -0
  19. package/dist/graphics/camera/orbit/orbit-plugin.d.ts +6 -6
  20. package/dist/graphics/camera/orbit/orbit-system-plugin.d.ts +8 -8
  21. package/dist/graphics/camera/orbit/orbit-system-plugin.js +6 -9
  22. package/dist/graphics/camera/orbit/orbit-system-plugin.js.map +1 -1
  23. package/dist/graphics/camera/orbit/orbit.d.ts +5 -5
  24. package/dist/graphics/camera/orbit/public.d.ts +2 -2
  25. package/dist/graphics/camera/orbit/public.js +2 -1
  26. package/dist/graphics/camera/orbit/public.js.map +1 -1
  27. package/dist/graphics/graphics-plugin.d.ts +1 -1
  28. package/dist/graphics/index.d.ts +1 -0
  29. package/dist/graphics/index.js +3 -0
  30. package/dist/graphics/index.js.map +1 -0
  31. package/dist/graphics/picking/picking-plugin.d.ts +9871 -1912
  32. package/dist/graphics/picking/picking-plugin.js +3 -3
  33. package/dist/graphics/picking/picking-plugin.js.map +1 -1
  34. package/dist/graphics/public.d.ts +38 -0
  35. package/dist/graphics/public.js +40 -0
  36. package/dist/graphics/public.js.map +1 -0
  37. package/dist/graphics/rendering/bone-collider-plugin.d.ts +2967 -486
  38. package/dist/graphics/rendering/bone-collider-plugin.js +13 -12
  39. package/dist/graphics/rendering/bone-collider-plugin.js.map +1 -1
  40. package/dist/graphics/rendering/display-transform-plugin.d.ts +2 -0
  41. package/dist/graphics/rendering/display-transform-plugin.js +2 -2
  42. package/dist/graphics/rendering/display-transform-plugin.js.map +1 -1
  43. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.d.ts +2857 -403
  44. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.js +9 -9
  45. package/dist/graphics/rendering/ibl-render/ibl-render-plugin.js.map +1 -1
  46. package/dist/graphics/rendering/interpolation-plugin.d.ts +1040 -156
  47. package/dist/graphics/rendering/jolt-ragdoll-plugin.d.ts +3017 -538
  48. package/dist/graphics/rendering/jolt-ragdoll-plugin.js +6 -6
  49. package/dist/graphics/rendering/jolt-ragdoll-plugin.js.map +1 -1
  50. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.d.ts +1123 -0
  51. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.js +79 -0
  52. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.js.map +1 -0
  53. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.d.ts +1 -0
  54. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.js +18 -0
  55. package/dist/graphics/rendering/material-palette-gpu/material-palette-gpu.test.js.map +1 -0
  56. package/dist/graphics/rendering/material-palette-gpu/material-palette.d.ts +25 -0
  57. package/dist/graphics/rendering/material-palette-gpu/material-palette.js +27 -0
  58. package/dist/graphics/rendering/material-palette-gpu/material-palette.js.map +1 -0
  59. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.d.ts +3 -0
  60. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.js +22 -0
  61. package/dist/graphics/rendering/material-palette-gpu/palette-bind-group.js.map +1 -0
  62. package/dist/graphics/rendering/model-collider-plugin.d.ts +2903 -663
  63. package/dist/graphics/rendering/model-collider-plugin.js +11 -34
  64. package/dist/graphics/rendering/model-collider-plugin.js.map +1 -1
  65. package/dist/graphics/rendering/pbr-core-plugin.d.ts +16 -8
  66. package/dist/graphics/rendering/pbr-core-plugin.js +16 -19
  67. package/dist/graphics/rendering/pbr-core-plugin.js.map +1 -1
  68. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.d.ts +3514 -0
  69. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.js +189 -0
  70. package/dist/graphics/rendering/pbr-render/pbr-factor-render-plugin.js.map +1 -0
  71. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.d.ts +7 -0
  72. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.js +124 -0
  73. package/dist/graphics/rendering/pbr-render/pbr-factor-shader.wgsl.js.map +1 -0
  74. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.d.ts +769 -571
  75. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.js +98 -79
  76. package/dist/graphics/rendering/pbr-render/physics-bridge-plugin.js.map +1 -1
  77. package/dist/graphics/rendering/pbr-render/primitive-render-shared.d.ts +43 -0
  78. package/dist/graphics/rendering/pbr-render/primitive-render-shared.js +59 -0
  79. package/dist/graphics/rendering/pbr-render/primitive-render-shared.js.map +1 -0
  80. package/dist/graphics/rendering/skinning/skinning-plugin.d.ts +2930 -270
  81. package/dist/graphics/rendering/skinning/skinning-plugin.js +19 -40
  82. package/dist/graphics/rendering/skinning/skinning-plugin.js.map +1 -1
  83. package/dist/graphics/scene/model/geometry/public.d.ts +1 -0
  84. package/dist/graphics/scene/model/mesh/mesh.d.ts +13 -0
  85. package/dist/graphics/scene/model/mesh/mesh.js +3 -0
  86. package/dist/graphics/scene/model/mesh/mesh.js.map +1 -0
  87. package/dist/graphics/scene/model/mesh/public.d.ts +1 -0
  88. package/dist/graphics/scene/model/mesh/public.js +3 -0
  89. package/dist/graphics/scene/model/mesh/public.js.map +1 -0
  90. package/dist/graphics/scene/model/mesh-plugin.d.ts +5177 -0
  91. package/dist/graphics/scene/model/mesh-plugin.js +87 -0
  92. package/dist/graphics/scene/model/mesh-plugin.js.map +1 -0
  93. package/dist/graphics/scene/model/model-loader-plugin.d.ts +2728 -295
  94. package/dist/graphics/scene/model/model-loader-plugin.js +24 -42
  95. package/dist/graphics/scene/model/model-loader-plugin.js.map +1 -1
  96. package/dist/graphics/scene/model/model-plugin.d.ts +1 -352
  97. package/dist/graphics/scene/model/model-plugin.js +1 -37
  98. package/dist/graphics/scene/model/model-plugin.js.map +1 -1
  99. package/dist/graphics/scene/model/model.d.ts +2 -6
  100. package/dist/graphics/scene/model/model.js.map +1 -1
  101. package/dist/graphics/scene/model/public.d.ts +1 -1
  102. package/dist/graphics/scene/model/public.js +2 -1
  103. package/dist/graphics/scene/model/public.js.map +1 -1
  104. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.d.ts +4 -0
  105. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.js +25 -0
  106. package/dist/graphics/scene/model/shape/bounds-from-shape-mesh.js.map +1 -0
  107. package/dist/graphics/scene/model/shape/shape-geometry-plugin.d.ts +233 -386
  108. package/dist/graphics/scene/model/shape/shape-geometry-plugin.js +87 -18
  109. package/dist/graphics/scene/model/shape/shape-geometry-plugin.js.map +1 -1
  110. package/dist/graphics/scene/model/shape/shape-spec.d.ts +17 -0
  111. package/dist/graphics/scene/model/shape/shape-spec.js +3 -0
  112. package/dist/graphics/scene/model/shape/shape-spec.js.map +1 -0
  113. package/dist/graphics/scene/model/world-bounds-plugin.d.ts +2670 -245
  114. package/dist/graphics/scene/model/world-bounds-plugin.js +6 -25
  115. package/dist/graphics/scene/model/world-bounds-plugin.js.map +1 -1
  116. package/dist/graphics/scene/node/node-data-plugin.d.ts +15 -4
  117. package/dist/graphics/scene/node/node-data-plugin.js +12 -5
  118. package/dist/graphics/scene/node/node-data-plugin.js.map +1 -1
  119. package/dist/graphics/scene/node/node-data-plugin.test.d.ts +1 -0
  120. package/dist/graphics/scene/node/node-data-plugin.test.js +40 -0
  121. package/dist/graphics/scene/node/node-data-plugin.test.js.map +1 -0
  122. package/dist/graphics/scene/node/node-plugin.d.ts +8 -1
  123. package/dist/graphics/scene/node/transform-plugin.d.ts +8 -1
  124. package/dist/graphics/scene/scene-plugin.d.ts +2353 -100
  125. package/dist/graphics/scene/scene-plugin.js +3 -3
  126. package/dist/graphics/scene/scene-plugin.js.map +1 -1
  127. package/dist/graphics/scene/scene-uniforms/scene-uniforms-plugin.d.ts +3 -3
  128. package/dist/index.d.ts +1 -53
  129. package/dist/index.js +1 -54
  130. package/dist/index.js.map +1 -1
  131. package/dist/material/assemble-material-row.d.ts +4 -0
  132. package/dist/material/assemble-material-row.js +22 -0
  133. package/dist/material/assemble-material-row.js.map +1 -0
  134. package/dist/material/definitions.d.ts +833 -0
  135. package/dist/material/definitions.js +423 -0
  136. package/dist/material/definitions.js.map +1 -0
  137. package/dist/material/emission-mode.d.ts +8 -0
  138. package/dist/material/emission-mode.js +9 -0
  139. package/dist/material/emission-mode.js.map +1 -0
  140. package/dist/material/index.d.ts +1 -0
  141. package/dist/material/index.js +3 -0
  142. package/dist/material/index.js.map +1 -0
  143. package/dist/material/json/from-json-string.d.ts +2 -0
  144. package/dist/material/json/from-json-string.js +12 -0
  145. package/dist/material/json/from-json-string.js.map +1 -0
  146. package/dist/material/json/from-json.d.ts +10 -0
  147. package/dist/material/json/from-json.js +16 -0
  148. package/dist/material/json/from-json.js.map +1 -0
  149. package/dist/material/json/from-json.test.d.ts +1 -0
  150. package/dist/material/json/from-json.test.js +46 -0
  151. package/dist/material/json/from-json.test.js.map +1 -0
  152. package/dist/material/json/is-properties-json.d.ts +2 -0
  153. package/dist/material/json/is-properties-json.js +65 -0
  154. package/dist/material/json/is-properties-json.js.map +1 -0
  155. package/dist/material/json/library-json.d.ts +3 -0
  156. package/dist/material/json/library-json.js +2 -0
  157. package/dist/material/json/library-json.js.map +1 -0
  158. package/dist/material/json/load-json.d.ts +7 -0
  159. package/dist/material/json/load-json.js +10 -0
  160. package/dist/material/json/load-json.js.map +1 -0
  161. package/dist/material/json/properties-json.d.ts +25 -0
  162. package/dist/material/json/properties-json.js +2 -0
  163. package/dist/material/json/properties-json.js.map +1 -0
  164. package/dist/material/json/public.d.ts +9 -0
  165. package/dist/material/json/public.js +6 -0
  166. package/dist/material/json/public.js.map +1 -0
  167. package/dist/material/json/to-definition.d.ts +5 -0
  168. package/dist/material/json/to-definition.js +65 -0
  169. package/dist/material/json/to-definition.js.map +1 -0
  170. package/dist/material/material-by-name-lookup.d.ts +11 -0
  171. package/dist/material/material-by-name-lookup.js +3 -0
  172. package/dist/material/material-by-name-lookup.js.map +1 -0
  173. package/dist/material/material-defaults.d.ts +23 -0
  174. package/dist/material/material-defaults.js +25 -0
  175. package/dist/material/material-defaults.js.map +1 -0
  176. package/dist/material/material-definition.d.ts +3 -0
  177. package/dist/material/material-definition.js +2 -0
  178. package/dist/material/material-definition.js.map +1 -0
  179. package/dist/material/material-name.d.ts +2 -0
  180. package/dist/material/material-name.js +2 -0
  181. package/dist/material/material-name.js.map +1 -0
  182. package/dist/material/material-plugin.d.ts +891 -22
  183. package/dist/material/material-plugin.js +46 -21
  184. package/dist/material/material-plugin.js.map +1 -1
  185. package/dist/material/material-plugin.test.d.ts +1 -0
  186. package/dist/material/material-plugin.test.js +87 -0
  187. package/dist/material/material-plugin.test.js.map +1 -0
  188. package/dist/material/material.d.ts +27 -29
  189. package/dist/material/material.js +0 -1
  190. package/dist/material/material.js.map +1 -1
  191. package/dist/material/public.d.ts +12 -2
  192. package/dist/material/public.js +12 -2
  193. package/dist/material/public.js.map +1 -1
  194. package/dist/material/require-material.d.ts +4 -0
  195. package/dist/material/require-material.js +10 -0
  196. package/dist/material/require-material.js.map +1 -0
  197. package/dist/material/standard-material-names.d.ts +2 -0
  198. package/dist/material/standard-material-names.js +4 -0
  199. package/dist/material/standard-material-names.js.map +1 -0
  200. package/dist/material/standard-materials.d.ts +1 -1
  201. package/dist/material/standard-materials.js +17 -24
  202. package/dist/material/standard-materials.js.map +1 -1
  203. package/dist/material/stress-strain-curve/create.d.ts +8 -0
  204. package/dist/material/stress-strain-curve/create.js +2 -0
  205. package/dist/material/stress-strain-curve/create.js.map +1 -0
  206. package/dist/material/stress-strain-curve/public.d.ts +2 -0
  207. package/dist/material/stress-strain-curve/public.js +3 -0
  208. package/dist/material/stress-strain-curve/public.js.map +1 -0
  209. package/dist/material/stress-strain-curve/schema.d.ts +52 -0
  210. package/dist/material/stress-strain-curve/schema.js +19 -0
  211. package/dist/material/stress-strain-curve/schema.js.map +1 -0
  212. package/dist/material/stress-strain-curve/schema.test.d.ts +1 -0
  213. package/dist/material/stress-strain-curve/schema.test.js +18 -0
  214. package/dist/material/stress-strain-curve/schema.test.js.map +1 -0
  215. package/dist/material/stress-strain-curve/stress-strain-curve.d.ts +4 -0
  216. package/dist/material/stress-strain-curve/stress-strain-curve.js +2 -0
  217. package/dist/material/stress-strain-curve/stress-strain-curve.js.map +1 -0
  218. package/dist/physics/body/collider-shape/mass-from-volume.d.ts +2 -0
  219. package/dist/physics/body/collider-shape/mass-from-volume.js +4 -0
  220. package/dist/physics/body/collider-shape/mass-from-volume.js.map +1 -0
  221. package/dist/physics/body/collider-shape/mass-from-volume.test.d.ts +1 -0
  222. package/dist/physics/body/collider-shape/mass-from-volume.test.js +8 -0
  223. package/dist/physics/body/collider-shape/mass-from-volume.test.js.map +1 -0
  224. package/dist/physics/collider-primitive-render-archetype.d.ts +2 -0
  225. package/dist/physics/collider-primitive-render-archetype.js +3 -0
  226. package/dist/physics/collider-primitive-render-archetype.js.map +1 -0
  227. package/dist/physics/collider-primitive-render-archetypes.d.ts +2 -0
  228. package/dist/physics/collider-primitive-render-archetypes.js +9 -0
  229. package/dist/physics/collider-primitive-render-archetypes.js.map +1 -0
  230. package/dist/physics/index.d.ts +1 -0
  231. package/dist/physics/index.js +3 -0
  232. package/dist/physics/index.js.map +1 -0
  233. package/dist/physics/is-voxel-shape-physics-pending.d.ts +3 -0
  234. package/dist/physics/is-voxel-shape-physics-pending.js +7 -0
  235. package/dist/physics/is-voxel-shape-physics-pending.js.map +1 -0
  236. package/dist/physics/physics-clock/physics-clock.d.ts +15 -0
  237. package/dist/physics/physics-clock/physics-clock.js +3 -0
  238. package/dist/physics/physics-clock/physics-clock.js.map +1 -0
  239. package/dist/physics/physics-clock-plugin.d.ts +2 -22
  240. package/dist/physics/physics-clock-plugin.js +0 -2
  241. package/dist/physics/physics-clock-plugin.js.map +1 -1
  242. package/dist/physics/physics-clock.test.js.map +1 -1
  243. package/dist/physics/physics-data-plugin.d.ts +889 -13
  244. package/dist/physics/physics-data-plugin.js +8 -6
  245. package/dist/physics/physics-data-plugin.js.map +1 -1
  246. package/dist/physics/public.d.ts +21 -0
  247. package/dist/physics/public.js +23 -0
  248. package/dist/physics/public.js.map +1 -0
  249. package/dist/physics/ragdoll/bone-capsule.d.ts +8 -0
  250. package/dist/physics/ragdoll/bone-capsule.js +3 -0
  251. package/dist/physics/ragdoll/bone-capsule.js.map +1 -0
  252. package/dist/physics/ragdoll/fit-bone-capsules-input.d.ts +11 -0
  253. package/dist/physics/ragdoll/fit-bone-capsules-input.js +3 -0
  254. package/dist/physics/ragdoll/fit-bone-capsules-input.js.map +1 -0
  255. package/dist/physics/ragdoll/fit-bone-capsules.d.ts +2 -38
  256. package/dist/physics/ragdoll/fit-bone-capsules.js +13 -0
  257. package/dist/physics/ragdoll/fit-bone-capsules.js.map +1 -1
  258. package/dist/physics/ragdoll/fit-bone-capsules.test.js.map +1 -1
  259. package/dist/physics/ragdoll/skin-vertices.d.ts +6 -0
  260. package/dist/physics/ragdoll/skin-vertices.js +3 -0
  261. package/dist/physics/ragdoll/skin-vertices.js.map +1 -0
  262. package/dist/physics/rigid-body-components.d.ts +2 -0
  263. package/dist/physics/rigid-body-components.js +13 -0
  264. package/dist/physics/rigid-body-components.js.map +1 -0
  265. package/dist/physics/solvers/jolt-solver-plugin.d.ts +918 -41
  266. package/dist/physics/solvers/jolt-solver-plugin.js +19 -3
  267. package/dist/physics/solvers/jolt-solver-plugin.js.map +1 -1
  268. package/dist/physics/solvers/rapier-solver-plugin.d.ts +918 -41
  269. package/dist/physics/solvers/rapier-solver-plugin.js +7 -2
  270. package/dist/physics/solvers/rapier-solver-plugin.js.map +1 -1
  271. package/dist/physics/solvers/solver-benchmark-options.d.ts +14 -0
  272. package/dist/physics/solvers/solver-benchmark-options.js +3 -0
  273. package/dist/physics/solvers/solver-benchmark-options.js.map +1 -0
  274. package/dist/physics/solvers/solver-benchmark-result.d.ts +15 -0
  275. package/dist/physics/solvers/solver-benchmark-result.js +3 -0
  276. package/dist/physics/solvers/solver-benchmark-result.js.map +1 -0
  277. package/dist/physics/solvers/solver-benchmark.d.ts +2 -43
  278. package/dist/physics/solvers/solver-benchmark.js.map +1 -1
  279. package/dist/physics/static-collider-components.d.ts +2 -0
  280. package/dist/physics/static-collider-components.js +10 -0
  281. package/dist/physics/static-collider-components.js.map +1 -0
  282. package/package.json +14 -2
  283. package/src/core/public.ts +4 -0
  284. package/src/graphics/camera/orbit/attach-orbit-drag.ts +7 -27
  285. package/src/graphics/camera/orbit/orbit-data-plugin.ts +1 -1
  286. package/src/graphics/camera/orbit/orbit-drag-service.ts +13 -0
  287. package/src/graphics/camera/orbit/orbit-system-plugin.ts +6 -9
  288. package/src/graphics/camera/orbit/orbit.ts +5 -5
  289. package/src/graphics/camera/orbit/public.ts +2 -2
  290. package/src/graphics/index.ts +3 -0
  291. package/src/graphics/picking/picking-plugin.ts +4 -4
  292. package/src/graphics/public.ts +40 -0
  293. package/src/graphics/rendering/bone-collider-plugin.ts +16 -12
  294. package/src/graphics/rendering/display-transform-plugin.ts +2 -2
  295. package/src/graphics/rendering/ibl-render/ibl-render-plugin.ts +9 -9
  296. package/src/graphics/rendering/interpolation.test.ts +1 -1
  297. package/src/graphics/rendering/jolt-ragdoll-plugin.ts +11 -7
  298. package/src/graphics/rendering/material-palette-gpu/material-palette-gpu-plugin.ts +86 -0
  299. package/src/graphics/rendering/material-palette-gpu/material-palette-gpu.test.ts +20 -0
  300. package/src/graphics/rendering/material-palette-gpu/material-palette.ts +41 -0
  301. package/src/graphics/rendering/material-palette-gpu/palette-bind-group.ts +24 -0
  302. package/src/graphics/rendering/model-collider-plugin.ts +19 -35
  303. package/src/graphics/rendering/pbr-core-plugin.ts +16 -19
  304. package/src/graphics/rendering/pbr-render/{pbr-render-plugin.ts → pbr-factor-render-plugin.ts} +60 -111
  305. package/src/graphics/rendering/pbr-render/{pbr-array-shader.wgsl.ts → pbr-factor-shader.wgsl.ts} +19 -40
  306. package/src/graphics/rendering/pbr-render/physics-bridge-plugin.ts +95 -69
  307. package/src/graphics/rendering/pbr-render/primitive-render-shared.ts +76 -0
  308. package/src/graphics/rendering/skinning/skinning-plugin.ts +23 -41
  309. package/src/graphics/scene/model/geometry/public.ts +1 -1
  310. package/src/graphics/scene/model/mesh/mesh.ts +18 -0
  311. package/src/graphics/scene/model/mesh/public.ts +3 -0
  312. package/src/graphics/scene/model/mesh-plugin.ts +102 -0
  313. package/src/graphics/scene/model/model-loader-plugin.ts +25 -43
  314. package/src/graphics/scene/model/model-plugin.ts +1 -44
  315. package/src/graphics/scene/model/model.ts +2 -6
  316. package/src/graphics/scene/model/public.ts +3 -1
  317. package/src/graphics/scene/model/shape/bounds-from-shape-mesh.ts +20 -0
  318. package/src/graphics/scene/model/shape/shape-geometry-plugin.ts +97 -18
  319. package/src/graphics/scene/model/shape/shape-spec.ts +9 -0
  320. package/src/graphics/scene/model/world-bounds-plugin.ts +6 -25
  321. package/src/graphics/scene/node/node-data-plugin.test.ts +47 -0
  322. package/src/graphics/scene/node/node-data-plugin.ts +12 -5
  323. package/src/graphics/scene/scene-plugin.ts +3 -3
  324. package/src/index.ts +1 -70
  325. package/src/material/assemble-material-row.ts +26 -0
  326. package/src/material/definitions.ts +427 -0
  327. package/src/material/emission-mode.ts +11 -0
  328. package/src/material/index.ts +3 -0
  329. package/src/material/json/from-json-string.ts +11 -0
  330. package/src/material/json/from-json.test.ts +50 -0
  331. package/src/material/json/from-json.ts +23 -0
  332. package/src/material/json/is-properties-json.ts +77 -0
  333. package/src/material/json/library-json.ts +4 -0
  334. package/src/material/json/load-json.ts +15 -0
  335. package/src/material/json/properties-json.ts +25 -0
  336. package/src/material/json/public.ts +9 -0
  337. package/src/material/json/to-definition.ts +70 -0
  338. package/src/material/material-by-name-lookup.ts +10 -0
  339. package/src/material/material-defaults.ts +26 -0
  340. package/src/material/material-definition.ts +4 -0
  341. package/src/material/material-name.ts +3 -0
  342. package/src/material/material-plugin.test.ts +97 -0
  343. package/src/material/material-plugin.ts +67 -39
  344. package/src/material/material.ts +35 -34
  345. package/src/material/public.ts +12 -2
  346. package/src/material/require-material.ts +15 -0
  347. package/src/material/standard-material-names.ts +4 -0
  348. package/src/material/standard-materials.ts +21 -27
  349. package/src/material/stress-strain-curve/create.ts +9 -0
  350. package/src/material/stress-strain-curve/public.ts +2 -0
  351. package/src/material/stress-strain-curve/schema.test.ts +20 -0
  352. package/src/material/stress-strain-curve/schema.ts +20 -0
  353. package/src/material/stress-strain-curve/stress-strain-curve.ts +11 -0
  354. package/src/physics/README.md +9 -1
  355. package/src/physics/body/collider-shape/mass-from-volume.test.ts +8 -0
  356. package/src/physics/body/collider-shape/mass-from-volume.ts +4 -0
  357. package/src/physics/collider-primitive-render-archetype.ts +5 -0
  358. package/src/physics/collider-primitive-render-archetypes.ts +9 -0
  359. package/src/physics/index.ts +3 -0
  360. package/src/physics/is-voxel-shape-physics-pending.ts +9 -0
  361. package/src/physics/physics-clock/physics-clock.ts +17 -0
  362. package/src/physics/physics-clock-plugin.ts +1 -24
  363. package/src/physics/physics-clock.test.ts +2 -1
  364. package/src/physics/physics-data-plugin.ts +8 -6
  365. package/src/physics/public.ts +23 -0
  366. package/src/physics/ragdoll/bone-capsule.ts +11 -0
  367. package/src/physics/ragdoll/fit-bone-capsules-input.ts +14 -0
  368. package/src/physics/ragdoll/fit-bone-capsules.test.ts +2 -1
  369. package/src/physics/ragdoll/fit-bone-capsules.ts +2 -27
  370. package/src/physics/ragdoll/skin-vertices.ts +8 -0
  371. package/src/physics/rigid-body-components.ts +13 -0
  372. package/src/physics/solvers/README.md +4 -0
  373. package/src/physics/solvers/jolt-solver-plugin.ts +19 -5
  374. package/src/physics/solvers/rapier-solver-plugin.ts +5 -2
  375. package/src/physics/solvers/solver-benchmark-options.ts +16 -0
  376. package/src/physics/solvers/solver-benchmark-result.ts +17 -0
  377. package/src/physics/solvers/solver-benchmark.ts +2 -35
  378. package/src/physics/static-collider-components.ts +10 -0
  379. package/tsconfig.tsbuildinfo +1 -1
  380. package/src/graphics/rendering/material-gpu/material-arrays.ts +0 -113
  381. package/src/graphics/rendering/material-gpu/material-bind-group.ts +0 -61
  382. package/src/graphics/rendering/material-gpu/material-gpu-plugin.ts +0 -95
  383. package/src/graphics/scene/model/geometry/geometry.ts +0 -12
package/CLAUDE.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # CLAUDE.md — data-gpu
2
2
 
3
+ ## Package layout
4
+
5
+ - **`@adobe/data-gpu`** (root) — `core` plugin + `FrameTime` only
6
+ - **`@adobe/data-gpu/graphics`** — scene, camera, render, mesh/shape plugins
7
+ - **`@adobe/data-gpu/physics`** — `physicsData`, solvers, joints, ragdoll
8
+ - **`@adobe/data-gpu/material`** — material palette and definitions
9
+
10
+ Each domain follows the type-namespace pattern (one export per file, `public.ts` re-exports). See `README.md` for consumer import examples.
11
+
3
12
  ## Hot-loop performance: direct typed-array column access in systems
4
13
 
5
14
  Per-frame systems (the physics solver, the renderers, anything in `update`/
package/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # @adobe/data-gpu
2
+
3
+ WebGPU ECS plugins for graphics, physics, and materials. Built on `@adobe/data`.
4
+
5
+ ## Package exports
6
+
7
+ The package uses **subpath exports** so bundlers tree-shake unused domains (e.g. a graphics-only app never pulls in Rapier/Jolt WASM).
8
+
9
+ | Import path | Contents |
10
+ | --- | --- |
11
+ | `@adobe/data-gpu` | Core only — `core` plugin, `FrameTime` |
12
+ | `@adobe/data-gpu/graphics` | Scene graph, camera, orbit, PBR render, mesh/shape, skinning, picking |
13
+ | `@adobe/data-gpu/physics` | `physicsData`, body/joint types, `joltSolver`, `rapierSolver`, ragdoll helpers |
14
+ | `@adobe/data-gpu/material` | Material palette, `requireMaterial`, standard material definitions |
15
+
16
+ ```ts
17
+ import { core } from "@adobe/data-gpu";
18
+ import { Orbit, pbrIblRender, shapeGeometry } from "@adobe/data-gpu/graphics";
19
+ import { joltSolver, physicsData } from "@adobe/data-gpu/physics";
20
+ import { Material, requireMaterial } from "@adobe/data-gpu/material";
21
+ ```
22
+
23
+ Solvers are opt-in: import only the solver you use. With `sideEffects: false`, unused solver WASM is tree-shaken out.
24
+
25
+ ## Build
26
+
27
+ ```bash
28
+ pnpm --filter @adobe/data-gpu build
29
+ ```
30
+
31
+ Samples live in `data-gpu-samples` (port 3008). See `CLAUDE.md` in this package for ECS performance conventions.
32
+
33
+ ## Further reading
34
+
35
+ - `src/physics/README.md` — physics feature roadmap
36
+ - `src/physics/solvers/README.md` — choosing Jolt vs Rapier
@@ -36,7 +36,7 @@ export declare const core: {
36
36
  };
37
37
  readonly archetypes: {};
38
38
  readonly transactions: {} & {};
39
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"_frameTime" | "update" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender">;
39
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender">;
40
40
  readonly actions: {};
41
41
  readonly services: {};
42
42
  readonly computed: {};
@@ -0,0 +1,2 @@
1
+ export * from "./core-plugin.js";
2
+ export * from "./frame-time/frame-time.js";
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ export * from "./core-plugin.js";
3
+ export * from "./frame-time/frame-time.js";
4
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/core/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC"}
@@ -31,9 +31,11 @@ declare const animationBase: {
31
31
  };
32
32
  readonly animationLoop: {
33
33
  readonly type: "boolean";
34
+ readonly default: boolean;
34
35
  };
35
36
  readonly animationPlaying: {
36
37
  readonly type: "boolean";
38
+ readonly default: boolean;
37
39
  };
38
40
  readonly animationObservable: {
39
41
  readonly type: "boolean";
@@ -86,9 +88,11 @@ export declare const animationData: {
86
88
  };
87
89
  readonly animationLoop: {
88
90
  readonly type: "boolean";
91
+ readonly default: boolean;
89
92
  };
90
93
  readonly animationPlaying: {
91
94
  readonly type: "boolean";
95
+ readonly default: boolean;
92
96
  };
93
97
  readonly animationObservable: {
94
98
  readonly type: "boolean";
@@ -133,9 +137,11 @@ export declare const animationData: {
133
137
  };
134
138
  readonly animationLoop: {
135
139
  readonly type: "boolean";
140
+ readonly default: boolean;
136
141
  };
137
142
  readonly animationPlaying: {
138
143
  readonly type: "boolean";
144
+ readonly default: boolean;
139
145
  };
140
146
  readonly animationObservable: {
141
147
  readonly type: "boolean";
@@ -180,9 +186,11 @@ export declare const animationData: {
180
186
  };
181
187
  readonly animationLoop: {
182
188
  readonly type: "boolean";
189
+ readonly default: boolean;
183
190
  };
184
191
  readonly animationPlaying: {
185
192
  readonly type: "boolean";
193
+ readonly default: boolean;
186
194
  };
187
195
  readonly animationObservable: {
188
196
  readonly type: "boolean";
@@ -37,9 +37,11 @@ export declare const animation: {
37
37
  };
38
38
  readonly animationLoop: {
39
39
  readonly type: "boolean";
40
+ readonly default: boolean;
40
41
  };
41
42
  readonly animationPlaying: {
42
43
  readonly type: "boolean";
44
+ readonly default: boolean;
43
45
  };
44
46
  readonly animationObservable: {
45
47
  readonly type: "boolean";
@@ -47,12 +49,12 @@ export declare const animation: {
47
49
  readonly default: true;
48
50
  };
49
51
  };
50
- readonly resources: {
52
+ readonly resources: {} & {
51
53
  readonly frameTime: {
52
54
  readonly default: FrameTime;
53
55
  readonly nonPersistent: true;
54
56
  };
55
- } & {};
57
+ };
56
58
  readonly archetypes: {} & {
57
59
  readonly AnimationClip: readonly ["animationClipTracks", "animationClipDuration"];
58
60
  readonly Animation: readonly ["animationClipRef", "animationTargets", "animationTime", "animationSpeed", "animationLoop", "animationPlaying"];
@@ -89,9 +91,11 @@ export declare const animation: {
89
91
  };
90
92
  readonly animationLoop: {
91
93
  readonly type: "boolean";
94
+ readonly default: boolean;
92
95
  };
93
96
  readonly animationPlaying: {
94
97
  readonly type: "boolean";
98
+ readonly default: boolean;
95
99
  };
96
100
  readonly animationObservable: {
97
101
  readonly type: "boolean";
@@ -136,9 +140,11 @@ export declare const animation: {
136
140
  };
137
141
  readonly animationLoop: {
138
142
  readonly type: "boolean";
143
+ readonly default: boolean;
139
144
  };
140
145
  readonly animationPlaying: {
141
146
  readonly type: "boolean";
147
+ readonly default: boolean;
142
148
  };
143
149
  readonly animationObservable: {
144
150
  readonly type: "boolean";
@@ -188,9 +194,11 @@ export declare const animation: {
188
194
  };
189
195
  readonly animationLoop: {
190
196
  readonly type: "boolean";
197
+ readonly default: boolean;
191
198
  };
192
199
  readonly animationPlaying: {
193
200
  readonly type: "boolean";
201
+ readonly default: boolean;
194
202
  };
195
203
  readonly animationObservable: {
196
204
  readonly type: "boolean";
@@ -29,7 +29,7 @@ export declare const plugin: {
29
29
  readonly nonPersistent: true;
30
30
  };
31
31
  readonly clearColor: {
32
- readonly default: readonly [number, number, number, number];
32
+ readonly default: import("@adobe/data/math").Vec4;
33
33
  readonly nonPersistent: true;
34
34
  };
35
35
  readonly canvas: {
@@ -65,7 +65,7 @@ export declare const plugin: {
65
65
  readonly nonPersistent: true;
66
66
  };
67
67
  readonly clearColor: {
68
- readonly default: readonly [number, number, number, number];
68
+ readonly default: import("@adobe/data/math").Vec4;
69
69
  readonly nonPersistent: true;
70
70
  };
71
71
  readonly canvas: {
@@ -104,7 +104,7 @@ export declare const plugin: {
104
104
  };
105
105
  }>, {}, {}>, canvas: HTMLCanvasElement | null) => void;
106
106
  } & {};
107
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"_frameTime" | "update" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect">;
107
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect">;
108
108
  readonly actions: {};
109
109
  readonly services: {};
110
110
  readonly computed: {};
@@ -1,30 +1,10 @@
1
- /**
2
- * Minimal service interface required by attachOrbitDrag — just the two
3
- * orbit transactions it calls. Any service that combines Orbit.plugin
4
- * satisfies this.
5
- */
6
- export interface OrbitDragService {
7
- transactions: {
8
- addOrbitAngle(delta: number): void;
9
- resumeAutoSpin(): void;
10
- };
11
- }
1
+ import type { OrbitDragService } from "./orbit-drag-service.js";
12
2
  /**
13
3
  * Attaches pointer-drag listeners to `element` that drive orbit rotation.
14
4
  * Returns a dispose function to remove the listeners.
15
5
  *
16
6
  * Framework-agnostic — pass the returned dispose to whatever cleanup
17
7
  * mechanism your framework provides (useEffect return, onUnmount, etc.).
18
- *
19
- * @example
20
- * // Vanilla JS
21
- * const dispose = attachOrbitDrag(canvas, service);
22
- * // later:
23
- * dispose();
24
- *
25
- * @example
26
- * // Lit (inside render())
27
- * useEffect(() => attachOrbitDrag(canvas, service), [canvas, service]);
28
8
  */
29
9
  export declare function attachOrbitDrag(element: HTMLElement, service: OrbitDragService, options?: {
30
10
  sensitivity?: number;
@@ -5,16 +5,6 @@
5
5
  *
6
6
  * Framework-agnostic — pass the returned dispose to whatever cleanup
7
7
  * mechanism your framework provides (useEffect return, onUnmount, etc.).
8
- *
9
- * @example
10
- * // Vanilla JS
11
- * const dispose = attachOrbitDrag(canvas, service);
12
- * // later:
13
- * dispose();
14
- *
15
- * @example
16
- * // Lit (inside render())
17
- * useEffect(() => attachOrbitDrag(canvas, service), [canvas, service]);
18
8
  */
19
9
  export function attachOrbitDrag(element, service, options) {
20
10
  const sensitivity = options?.sensitivity ?? 0.01;
@@ -1 +1 @@
1
- {"version":3,"file":"attach-orbit-drag.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/attach-orbit-drag.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAcvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAC3B,OAAoB,EACpB,OAAyB,EACzB,OAAkC;IAElC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG,CAAC,CAAe,EAAE,EAAE;QAC/B,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC;QAClB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,CAAe,EAAE,EAAE;QAC/B,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QACvB,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;QACtE,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IAEzD,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAI,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAI,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAM,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEhD,OAAO,GAAG,EAAE;QACR,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAI,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAI,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAM,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"attach-orbit-drag.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/attach-orbit-drag.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC3B,OAAoB,EACpB,OAAyB,EACzB,OAAkC;IAElC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG,CAAC,CAAe,EAAE,EAAE;QAC/B,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC;QAClB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,CAAe,EAAE,EAAE;QAC/B,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QACvB,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;QACtE,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IAEzD,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEhD,OAAO,GAAG,EAAE;QACR,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;AACN,CAAC"}
@@ -34,7 +34,7 @@ export declare const orbitData: {
34
34
  readonly nonPersistent: true;
35
35
  };
36
36
  readonly clearColor: {
37
- readonly default: readonly [number, number, number, number];
37
+ readonly default: import("@adobe/data/math").Vec4;
38
38
  readonly nonPersistent: true;
39
39
  };
40
40
  readonly canvas: {
@@ -74,7 +74,7 @@ export declare const orbitData: {
74
74
  readonly nonPersistent: true;
75
75
  };
76
76
  readonly clearColor: {
77
- readonly default: readonly [number, number, number, number];
77
+ readonly default: import("@adobe/data/math").Vec4;
78
78
  readonly nonPersistent: true;
79
79
  };
80
80
  readonly canvas: {
@@ -145,7 +145,7 @@ export declare const orbitData: {
145
145
  readonly nonPersistent: true;
146
146
  };
147
147
  readonly clearColor: {
148
- readonly default: readonly [number, number, number, number];
148
+ readonly default: import("@adobe/data/math").Vec4;
149
149
  readonly nonPersistent: true;
150
150
  };
151
151
  readonly canvas: {
@@ -201,7 +201,7 @@ export declare const orbitData: {
201
201
  readonly nonPersistent: true;
202
202
  };
203
203
  readonly clearColor: {
204
- readonly default: readonly [number, number, number, number];
204
+ readonly default: import("@adobe/data/math").Vec4;
205
205
  readonly nonPersistent: true;
206
206
  };
207
207
  readonly canvas: {
@@ -257,7 +257,7 @@ export declare const orbitData: {
257
257
  readonly nonPersistent: true;
258
258
  };
259
259
  readonly clearColor: {
260
- readonly default: readonly [number, number, number, number];
260
+ readonly default: import("@adobe/data/math").Vec4;
261
261
  readonly nonPersistent: true;
262
262
  };
263
263
  readonly canvas: {
@@ -282,7 +282,7 @@ export declare const orbitData: {
282
282
  };
283
283
  }>, {}, {}>) => void;
284
284
  };
285
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"_frameTime" | "update" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect">;
285
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect">;
286
286
  readonly actions: {};
287
287
  readonly services: {};
288
288
  readonly computed: {};
@@ -18,7 +18,7 @@ export const orbitData = Database.Plugin.create({
18
18
  autoSpinSpeed: 0.5,
19
19
  nearFactor: 0.01,
20
20
  farFactor: 4,
21
- fitGeometry: 0,
21
+ fitMesh: 0,
22
22
  fitRadiusFactor: 1.5,
23
23
  fitHeightFactor: 0.25,
24
24
  fitRadiusOffset: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"orbit-data-plugin.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/orbit-data-plugin.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE;QACP,KAAK,EAAE;YACH,OAAO,EAAE;gBACL,MAAM,EAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAW,CAAC;gBAClB,MAAM,EAAW,CAAC;gBAClB,KAAK,EAAY,CAAC;gBAClB,QAAQ,EAAS,IAAI;gBACrB,aAAa,EAAI,GAAG;gBACpB,UAAU,EAAO,IAAI;gBACrB,SAAS,EAAQ,CAAC;gBAClB,WAAW,EAAM,CAAC;gBAClB,eAAe,EAAE,GAAG;gBACpB,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,CAAC;gBAClB,SAAS,EAAQ,IAAI;aACC;SAC7B;KACJ;IACD,YAAY,EAAE;QACV,QAAQ,CAAC,CAAC,EAAE,IAAoB;YAC5B,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;QAC1D,CAAC;QACD,aAAa,CAAC,CAAC,EAAE,KAAa;YAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC9E,CAAC;QACD,cAAc,CAAC,CAAC;YACZ,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACjE,CAAC;KACJ;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"orbit-data-plugin.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/orbit-data-plugin.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE;QACP,KAAK,EAAE;YACH,OAAO,EAAE;gBACL,MAAM,EAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAW,CAAC;gBAClB,MAAM,EAAW,CAAC;gBAClB,KAAK,EAAY,CAAC;gBAClB,QAAQ,EAAS,IAAI;gBACrB,aAAa,EAAI,GAAG;gBACpB,UAAU,EAAO,IAAI;gBACrB,SAAS,EAAQ,CAAC;gBAClB,OAAO,EAAU,CAAC;gBAClB,eAAe,EAAE,GAAG;gBACpB,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,CAAC;gBAClB,SAAS,EAAQ,IAAI;aACC;SAC7B;KACJ;IACD,YAAY,EAAE;QACV,QAAQ,CAAC,CAAC,EAAE,IAAoB;YAC5B,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;QAC1D,CAAC;QACD,aAAa,CAAC,CAAC,EAAE,KAAa;YAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC9E,CAAC;QACD,cAAc,CAAC,CAAC;YACZ,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACjE,CAAC;KACJ;CACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Minimal service interface required by attachOrbitDrag — just the two
3
+ * orbit transactions it calls. Any service that combines Orbit.plugin
4
+ * satisfies this.
5
+ */
6
+ export interface OrbitDragService {
7
+ transactions: {
8
+ addOrbitAngle(delta: number): void;
9
+ resumeAutoSpin(): void;
10
+ };
11
+ }
@@ -0,0 +1,3 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ export {};
3
+ //# sourceMappingURL=orbit-drag-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orbit-drag-service.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/orbit-drag-service.ts"],"names":[],"mappings":"AAAA,uDAAuD"}
@@ -33,7 +33,7 @@ export declare const plugin: Database.Plugin<{}, {
33
33
  readonly nonPersistent: true;
34
34
  };
35
35
  readonly clearColor: {
36
- readonly default: readonly [number, number, number, number];
36
+ readonly default: import("@adobe/data/math").Vec4;
37
37
  readonly nonPersistent: true;
38
38
  };
39
39
  readonly canvas: {
@@ -71,7 +71,7 @@ export declare const plugin: Database.Plugin<{}, {
71
71
  readonly nonPersistent: true;
72
72
  };
73
73
  readonly clearColor: {
74
- readonly default: readonly [number, number, number, number];
74
+ readonly default: import("@adobe/data/math").Vec4;
75
75
  readonly nonPersistent: true;
76
76
  };
77
77
  readonly canvas: {
@@ -142,7 +142,7 @@ export declare const plugin: Database.Plugin<{}, {
142
142
  readonly nonPersistent: true;
143
143
  };
144
144
  readonly clearColor: {
145
- readonly default: readonly [number, number, number, number];
145
+ readonly default: import("@adobe/data/math").Vec4;
146
146
  readonly nonPersistent: true;
147
147
  };
148
148
  readonly canvas: {
@@ -198,7 +198,7 @@ export declare const plugin: Database.Plugin<{}, {
198
198
  readonly nonPersistent: true;
199
199
  };
200
200
  readonly clearColor: {
201
- readonly default: readonly [number, number, number, number];
201
+ readonly default: import("@adobe/data/math").Vec4;
202
202
  readonly nonPersistent: true;
203
203
  };
204
204
  readonly canvas: {
@@ -254,7 +254,7 @@ export declare const plugin: Database.Plugin<{}, {
254
254
  readonly nonPersistent: true;
255
255
  };
256
256
  readonly clearColor: {
257
- readonly default: readonly [number, number, number, number];
257
+ readonly default: import("@adobe/data/math").Vec4;
258
258
  readonly nonPersistent: true;
259
259
  };
260
260
  readonly canvas: {
@@ -278,4 +278,4 @@ export declare const plugin: Database.Plugin<{}, {
278
278
  readonly default: import("../public.js");
279
279
  };
280
280
  }>, {}, {}>) => void;
281
- } & {}, "_frameTime" | "update" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect" | "_orbitCameraSystem" | "_orbitAutoFitSystem", {}, {}, {}, {}>;
281
+ } & {}, "update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect" | "_orbitCameraSystem" | "_orbitAutoFitSystem", {}, {}, {}, {}>;
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * - **_orbitCameraSystem**: updates camera position/target/near/far from the
5
5
  * orbit polar coords; auto-spins when `orbit.autoSpin` is true.
6
- * - **_orbitAutoFitSystem**: when `orbit.fitGeometry` is non-zero, reads that
7
- * Geometry's `_bounds`, sizes the orbit to fit, and zeroes the field.
6
+ * - **_orbitAutoFitSystem**: when `orbit.fitMesh` is non-zero, reads that
7
+ * mesh's `localBounds`, sizes the orbit to fit, and zeroes the field.
8
8
  */
9
9
  export declare const orbitSystem: {
10
10
  readonly components: {};
@@ -36,7 +36,7 @@ export declare const orbitSystem: {
36
36
  readonly nonPersistent: true;
37
37
  };
38
38
  readonly clearColor: {
39
- readonly default: readonly [number, number, number, number];
39
+ readonly default: import("@adobe/data/math").Vec4;
40
40
  readonly nonPersistent: true;
41
41
  };
42
42
  readonly canvas: {
@@ -76,7 +76,7 @@ export declare const orbitSystem: {
76
76
  readonly nonPersistent: true;
77
77
  };
78
78
  readonly clearColor: {
79
- readonly default: readonly [number, number, number, number];
79
+ readonly default: import("@adobe/data/math").Vec4;
80
80
  readonly nonPersistent: true;
81
81
  };
82
82
  readonly canvas: {
@@ -147,7 +147,7 @@ export declare const orbitSystem: {
147
147
  readonly nonPersistent: true;
148
148
  };
149
149
  readonly clearColor: {
150
- readonly default: readonly [number, number, number, number];
150
+ readonly default: import("@adobe/data/math").Vec4;
151
151
  readonly nonPersistent: true;
152
152
  };
153
153
  readonly canvas: {
@@ -203,7 +203,7 @@ export declare const orbitSystem: {
203
203
  readonly nonPersistent: true;
204
204
  };
205
205
  readonly clearColor: {
206
- readonly default: readonly [number, number, number, number];
206
+ readonly default: import("@adobe/data/math").Vec4;
207
207
  readonly nonPersistent: true;
208
208
  };
209
209
  readonly canvas: {
@@ -259,7 +259,7 @@ export declare const orbitSystem: {
259
259
  readonly nonPersistent: true;
260
260
  };
261
261
  readonly clearColor: {
262
- readonly default: readonly [number, number, number, number];
262
+ readonly default: import("@adobe/data/math").Vec4;
263
263
  readonly nonPersistent: true;
264
264
  };
265
265
  readonly canvas: {
@@ -284,7 +284,7 @@ export declare const orbitSystem: {
284
284
  };
285
285
  }>, {}, {}>) => void;
286
286
  } & {};
287
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"_frameTime" | "update" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect" | "_orbitCameraSystem" | "_orbitAutoFitSystem">;
287
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass" | "updateCameraAspect" | "_orbitCameraSystem" | "_orbitAutoFitSystem">;
288
288
  readonly actions: {};
289
289
  readonly services: {};
290
290
  readonly computed: {};
@@ -6,8 +6,8 @@ import { orbitData } from "./orbit-data-plugin.js";
6
6
  *
7
7
  * - **_orbitCameraSystem**: updates camera position/target/near/far from the
8
8
  * orbit polar coords; auto-spins when `orbit.autoSpin` is true.
9
- * - **_orbitAutoFitSystem**: when `orbit.fitGeometry` is non-zero, reads that
10
- * Geometry's `_bounds`, sizes the orbit to fit, and zeroes the field.
9
+ * - **_orbitAutoFitSystem**: when `orbit.fitMesh` is non-zero, reads that
10
+ * mesh's `localBounds`, sizes the orbit to fit, and zeroes the field.
11
11
  */
12
12
  export const orbitSystem = Database.Plugin.create({
13
13
  extends: orbitData,
@@ -41,13 +41,10 @@ export const orbitSystem = Database.Plugin.create({
41
41
  _orbitAutoFitSystem: {
42
42
  create: db => () => {
43
43
  const orbit = db.store.resources.orbit;
44
- if (!orbit.fitGeometry)
44
+ if (!orbit.fitMesh)
45
45
  return;
46
- // orbit.fitGeometry holds a Geometry entity id. `_bounds` lives
47
- // on modelLoader's schema, which orbit doesn't extend — read as
48
- // unknown and narrow manually.
49
- const entity = db.store.read(orbit.fitGeometry);
50
- const bounds = entity?._bounds;
46
+ const entity = db.store.read(orbit.fitMesh);
47
+ const bounds = entity?.localBounds;
51
48
  if (!bounds)
52
49
  return;
53
50
  const size = Math.max(bounds.max[0] - bounds.min[0], bounds.max[1] - bounds.min[1], bounds.max[2] - bounds.min[2]);
@@ -61,7 +58,7 @@ export const orbitSystem = Database.Plugin.create({
61
58
  center,
62
59
  radius: size * orbit.fitRadiusFactor + orbit.fitRadiusOffset,
63
60
  height: size * orbit.fitHeightFactor,
64
- fitGeometry: 0,
61
+ fitMesh: 0,
65
62
  };
66
63
  },
67
64
  schedule: { during: ["preUpdate"] },
@@ -1 +1 @@
1
- {"version":3,"file":"orbit-system-plugin.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/orbit-system-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orbit-system-plugin.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/orbit-system-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Vec3 } from "@adobe/data/math";
2
2
  /**
3
3
  * Orbit camera state — a polar arrangement around a center point with an
4
- * auto-spin and a one-shot auto-fit to a Geometry's bounds.
4
+ * auto-spin and a one-shot auto-fit to a mesh asset's `localBounds`.
5
5
  *
6
6
  * - `center` / `radius` / `height` / `angle` define the camera placement.
7
7
  * - `nearFactor` / `farFactor` scale the near and far planes so they
@@ -9,9 +9,9 @@ import type { Vec3 } from "@adobe/data/math";
9
9
  * clipping).
10
10
  * - `autoSpin` / `autoSpinSpeed` rotate the camera each frame when the
11
11
  * user isn't dragging.
12
- * - `fitGeometry` is an entity id; when non-zero, the auto-fit system
13
- * reads that Geometry's bounds on the first available frame, sizes the
14
- * orbit, and zeros the field. `fitRadiusFactor` / `fitHeightFactor` /
12
+ * - `fitMesh` is an entity id; when non-zero, the auto-fit system reads that
13
+ * mesh's `localBounds` on the first available frame, sizes the orbit, and
14
+ * zeroes the field. `fitRadiusFactor` / `fitHeightFactor` /
15
15
  * `fitRadiusOffset` / `fitCenter` shape the fit.
16
16
  */
17
17
  export interface Orbit {
@@ -23,7 +23,7 @@ export interface Orbit {
23
23
  autoSpinSpeed: number;
24
24
  nearFactor: number;
25
25
  farFactor: number;
26
- fitGeometry: number;
26
+ fitMesh: number;
27
27
  fitRadiusFactor: number;
28
28
  fitHeightFactor: number;
29
29
  fitRadiusOffset: number;
@@ -1,5 +1,5 @@
1
1
  export { plugin } from "./orbit-plugin.js";
2
2
  export { orbitData } from "./orbit-data-plugin.js";
3
3
  export { orbitSystem } from "./orbit-system-plugin.js";
4
- export { attachOrbitDrag } from "./attach-orbit-drag.js";
5
- export type { OrbitDragService } from "./attach-orbit-drag.js";
4
+ export * from "./attach-orbit-drag.js";
5
+ export * from "./orbit-drag-service.js";
@@ -2,5 +2,6 @@
2
2
  export { plugin } from "./orbit-plugin.js";
3
3
  export { orbitData } from "./orbit-data-plugin.js";
4
4
  export { orbitSystem } from "./orbit-system-plugin.js";
5
- export { attachOrbitDrag } from "./attach-orbit-drag.js";
5
+ export * from "./attach-orbit-drag.js";
6
+ export * from "./orbit-drag-service.js";
6
7
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/graphics/camera/orbit/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -113,7 +113,7 @@ export declare const graphics: {
113
113
  };
114
114
  }>, {}, {}>, canvas: HTMLCanvasElement | null) => void;
115
115
  };
116
- readonly systems: import("@adobe/data/ecs").SystemDeclarations<"_frameTime" | "update" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass">;
116
+ readonly systems: import("@adobe/data/ecs").SystemDeclarations<"update" | "_frameTime" | "schedulerSystem" | "input" | "preUpdate" | "postUpdate" | "physics" | "preRender" | "render" | "postRender" | "configureCanvas" | "beginRenderPass" | "endRenderPass">;
117
117
  readonly actions: {};
118
118
  readonly services: {};
119
119
  readonly computed: {};
@@ -0,0 +1 @@
1
+ export * from "./public.js";
@@ -0,0 +1,3 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ export * from "./public.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphics/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,cAAc,aAAa,CAAC"}