@aura3d/engine 1.5.1 → 2.0.0

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 (549) hide show
  1. package/README.md +142 -83
  2. package/dist/animation/FootIk.d.ts +10 -1
  3. package/dist/animation/FootIk.d.ts.map +1 -1
  4. package/dist/animation/FootIk.js.map +1 -1
  5. package/dist/animation/HumanoidRetargeting.js +1 -1
  6. package/dist/animation/RigQuality.d.ts +1 -1
  7. package/dist/animation/RigQuality.js +2 -2
  8. package/dist/animation/RigQuality.js.map +1 -1
  9. package/dist/animation/SecondaryAnimationSampling.d.ts +55 -0
  10. package/dist/animation/SecondaryAnimationSampling.d.ts.map +1 -0
  11. package/dist/animation/SecondaryAnimationSampling.js +145 -0
  12. package/dist/animation/SecondaryAnimationSampling.js.map +1 -0
  13. package/dist/animation/SpringBones.d.ts.map +1 -1
  14. package/dist/animation/SpringBones.js +1 -2
  15. package/dist/animation/SpringBones.js.map +1 -1
  16. package/dist/animation/browser-index.d.ts +0 -2
  17. package/dist/animation/browser-index.d.ts.map +1 -1
  18. package/dist/animation/browser-index.js +0 -2
  19. package/dist/animation/browser-index.js.map +1 -1
  20. package/dist/animation/index.d.ts +0 -2
  21. package/dist/animation/index.d.ts.map +1 -1
  22. package/dist/animation/index.js +0 -2
  23. package/dist/animation/index.js.map +1 -1
  24. package/dist/assets/GLTFAnimationRuntime.d.ts +4 -0
  25. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  26. package/dist/assets/GLTFAnimationRuntime.js +29 -6
  27. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  28. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  29. package/dist/assets/GLTFLoader.js +13 -4
  30. package/dist/assets/GLTFLoader.js.map +1 -1
  31. package/dist/assets/browser-index.d.ts +0 -4
  32. package/dist/assets/browser-index.d.ts.map +1 -1
  33. package/dist/assets/browser-index.js +0 -2
  34. package/dist/assets/browser-index.js.map +1 -1
  35. package/dist/assets/gltf-runtime.d.ts +6 -0
  36. package/dist/assets/gltf-runtime.d.ts.map +1 -0
  37. package/dist/assets/gltf-runtime.js +4 -0
  38. package/dist/assets/gltf-runtime.js.map +1 -0
  39. package/dist/assets/index.d.ts +0 -4
  40. package/dist/assets/index.d.ts.map +1 -1
  41. package/dist/assets/index.js +0 -2
  42. package/dist/assets/index.js.map +1 -1
  43. package/dist/audio/AudioBus.d.ts +19 -1
  44. package/dist/audio/AudioBus.d.ts.map +1 -1
  45. package/dist/audio/AudioBus.js.map +1 -1
  46. package/dist/audio/AudioFileManager.d.ts +5 -0
  47. package/dist/audio/AudioFileManager.d.ts.map +1 -1
  48. package/dist/audio/AudioFileManager.js +13 -0
  49. package/dist/audio/AudioFileManager.js.map +1 -1
  50. package/dist/audio/AudioSource.d.ts +8 -0
  51. package/dist/audio/AudioSource.d.ts.map +1 -1
  52. package/dist/audio/AudioSource.js +56 -7
  53. package/dist/audio/AudioSource.js.map +1 -1
  54. package/dist/audio/index.d.ts +1 -7
  55. package/dist/audio/index.d.ts.map +1 -1
  56. package/dist/audio/index.js +0 -3
  57. package/dist/audio/index.js.map +1 -1
  58. package/dist/aura3d-cli/asset-core-types.d.ts +1 -1
  59. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  60. package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -1
  61. package/dist/aura3d-cli/asset-manifest.js +36 -2
  62. package/dist/aura3d-cli/asset-manifest.js.map +1 -1
  63. package/dist/aura3d-cli/asset-role-admission.js +1 -1
  64. package/dist/aura3d-cli/asset-role-admission.js.map +1 -1
  65. package/dist/aura3d-cli/cli-help.js +3 -3
  66. package/dist/aura3d-cli/cli-help.js.map +1 -1
  67. package/dist/aura3d-cli/cli-options.d.ts +1 -1
  68. package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
  69. package/dist/aura3d-cli/cli-options.js +2 -2
  70. package/dist/aura3d-cli/cli-options.js.map +1 -1
  71. package/dist/aura3d-cli/cli.js +1 -1
  72. package/dist/aura3d-cli/cli.js.map +1 -1
  73. package/dist/aura3d-cli/index.d.ts.map +1 -1
  74. package/dist/aura3d-cli/index.js +13 -5
  75. package/dist/aura3d-cli/index.js.map +1 -1
  76. package/dist/create-aura3d/index.d.ts.map +1 -1
  77. package/dist/create-aura3d/index.js +10 -4
  78. package/dist/create-aura3d/index.js.map +1 -1
  79. package/dist/create-aura3d/showcase-spec-evidence.js +5 -1
  80. package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
  81. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +8 -1
  82. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  83. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +191 -31
  84. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  85. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  86. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +7 -0
  87. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  88. package/dist/create-aura3d/showcase-spec-parser.js +1 -1
  89. package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
  90. package/dist/create-aura3d/showcase-spec-types.d.ts +50 -0
  91. package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
  92. package/dist/editor-runtime/index.d.ts +0 -2
  93. package/dist/editor-runtime/index.d.ts.map +1 -1
  94. package/dist/editor-runtime/index.js +0 -1
  95. package/dist/editor-runtime/index.js.map +1 -1
  96. package/dist/engine/agent-api/GameAssetValidation.js +1 -1
  97. package/dist/engine/agent-api/GameAssetValidation.js.map +1 -1
  98. package/dist/engine/agent-api/GameEvidence.js +1 -1
  99. package/dist/engine/agent-api/GameEvidence.js.map +1 -1
  100. package/dist/engine/agent-api/GameGenreKits.d.ts +63 -0
  101. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  102. package/dist/engine/agent-api/GameGenreKits.js +274 -56
  103. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  104. package/dist/engine/agent-api/GameRuntime.d.ts +38 -1
  105. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
  106. package/dist/engine/agent-api/GameRuntime.js +69 -1
  107. package/dist/engine/agent-api/GameRuntime.js.map +1 -1
  108. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +24 -0
  109. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  110. package/dist/engine/agent-api/GameSceneGeometryBindings.js +52 -0
  111. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  112. package/dist/engine/agent-api/LeanArcadeRuntime.d.ts +111 -0
  113. package/dist/engine/agent-api/LeanArcadeRuntime.d.ts.map +1 -0
  114. package/dist/engine/agent-api/LeanArcadeRuntime.js +219 -0
  115. package/dist/engine/agent-api/LeanArcadeRuntime.js.map +1 -0
  116. package/dist/engine/agent-api/PhysicsRuntime.d.ts +332 -0
  117. package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -0
  118. package/dist/engine/agent-api/PhysicsRuntime.js +619 -0
  119. package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -0
  120. package/dist/engine/agent-api/PlatformerMotion.d.ts +124 -0
  121. package/dist/engine/agent-api/PlatformerMotion.d.ts.map +1 -1
  122. package/dist/engine/agent-api/PlatformerMotion.js +101 -16
  123. package/dist/engine/agent-api/PlatformerMotion.js.map +1 -1
  124. package/dist/engine/agent-api/RootGeometry.d.ts +36 -0
  125. package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -0
  126. package/dist/engine/agent-api/RootGeometry.js +152 -0
  127. package/dist/engine/agent-api/RootGeometry.js.map +1 -0
  128. package/dist/engine/agent-api/SpatialAnchoring.d.ts +47 -0
  129. package/dist/engine/agent-api/SpatialAnchoring.d.ts.map +1 -1
  130. package/dist/engine/agent-api/SpatialAnchoring.js +46 -0
  131. package/dist/engine/agent-api/SpatialAnchoring.js.map +1 -1
  132. package/dist/engine/agent-api/VehicleChassis.d.ts +52 -0
  133. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  134. package/dist/engine/agent-api/VehicleChassis.js +182 -8
  135. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  136. package/dist/engine/agent-api/WorldLabelRenderer.d.ts +65 -1
  137. package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -1
  138. package/dist/engine/agent-api/WorldLabelRenderer.js +48 -5
  139. package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -1
  140. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -1
  141. package/dist/engine/agent-api/index.d.ts +240 -14
  142. package/dist/engine/agent-api/index.d.ts.map +1 -1
  143. package/dist/engine/agent-api/index.js +1435 -344
  144. package/dist/engine/agent-api/index.js.map +1 -1
  145. package/dist/engine/agent-api/lean-base.d.ts +224 -0
  146. package/dist/engine/agent-api/lean-base.d.ts.map +1 -0
  147. package/dist/engine/agent-api/lean-base.js +322 -0
  148. package/dist/engine/agent-api/lean-base.js.map +1 -0
  149. package/dist/engine/agent-api/lean-game.d.ts +3 -0
  150. package/dist/engine/agent-api/lean-game.d.ts.map +1 -0
  151. package/dist/engine/agent-api/lean-game.js +3 -0
  152. package/dist/engine/agent-api/lean-game.js.map +1 -0
  153. package/dist/engine/agent-api/lean-product.d.ts +3 -0
  154. package/dist/engine/agent-api/lean-product.d.ts.map +1 -0
  155. package/dist/engine/agent-api/lean-product.js +3 -0
  156. package/dist/engine/agent-api/lean-product.js.map +1 -0
  157. package/dist/engine/agent-api/lean.d.ts +3 -0
  158. package/dist/engine/agent-api/lean.d.ts.map +1 -0
  159. package/dist/engine/agent-api/lean.js +3 -0
  160. package/dist/engine/agent-api/lean.js.map +1 -0
  161. package/dist/engine/agent-api/media-node.d.ts +42 -0
  162. package/dist/engine/agent-api/media-node.d.ts.map +1 -0
  163. package/dist/engine/agent-api/media-node.js +44 -0
  164. package/dist/engine/agent-api/media-node.js.map +1 -0
  165. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  166. package/dist/engine/game/GameAudio.d.ts +5 -0
  167. package/dist/engine/game/GameAudio.d.ts.map +1 -1
  168. package/dist/engine/game/GameAudio.js +65 -23
  169. package/dist/engine/game/GameAudio.js.map +1 -1
  170. package/dist/engine/production-runtime/TypedGLBActor.d.ts +9 -1
  171. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  172. package/dist/engine/production-runtime/TypedGLBActor.js +25 -7
  173. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  174. package/dist/engine/production-runtime/index.d.ts +2 -2
  175. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  176. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts +3 -3
  177. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts.map +1 -1
  178. package/dist/environments/index.d.ts +5 -10
  179. package/dist/environments/index.d.ts.map +1 -1
  180. package/dist/environments/index.js +0 -3
  181. package/dist/environments/index.js.map +1 -1
  182. package/dist/environments/node.d.ts +7 -0
  183. package/dist/environments/node.d.ts.map +1 -0
  184. package/dist/environments/node.js +5 -0
  185. package/dist/environments/node.js.map +1 -0
  186. package/dist/index.d.ts +3 -0
  187. package/dist/index.js +3 -0
  188. package/dist/input/InputActionBinding.d.ts +44 -0
  189. package/dist/input/InputActionBinding.d.ts.map +1 -0
  190. package/dist/input/InputActionBinding.js +86 -0
  191. package/dist/input/InputActionBinding.js.map +1 -0
  192. package/dist/input/InputActionBindingFixtures.d.ts +8 -0
  193. package/dist/input/InputActionBindingFixtures.d.ts.map +1 -1
  194. package/dist/input/InputActionBindingFixtures.js +8 -0
  195. package/dist/input/InputActionBindingFixtures.js.map +1 -1
  196. package/dist/input/InputValueProcessors.d.ts +19 -0
  197. package/dist/input/InputValueProcessors.d.ts.map +1 -0
  198. package/dist/input/InputValueProcessors.js +24 -0
  199. package/dist/input/InputValueProcessors.js.map +1 -0
  200. package/dist/input/index.d.ts +2 -6
  201. package/dist/input/index.d.ts.map +1 -1
  202. package/dist/input/index.js +1 -3
  203. package/dist/input/index.js.map +1 -1
  204. package/dist/lean/ArcadeRuntime.d.ts +111 -0
  205. package/dist/lean/ArcadeRuntime.d.ts.map +1 -0
  206. package/dist/lean/ArcadeRuntime.js +219 -0
  207. package/dist/lean/ArcadeRuntime.js.map +1 -0
  208. package/dist/lean/base.d.ts +228 -0
  209. package/dist/lean/base.d.ts.map +1 -0
  210. package/dist/lean/base.js +322 -0
  211. package/dist/lean/base.js.map +1 -0
  212. package/dist/lean/game.d.ts +19 -0
  213. package/dist/lean/game.d.ts.map +1 -0
  214. package/dist/lean/game.js +37 -0
  215. package/dist/lean/game.js.map +1 -0
  216. package/dist/lean/index.d.ts +4 -0
  217. package/dist/lean/index.d.ts.map +1 -0
  218. package/dist/lean/index.js +10 -0
  219. package/dist/lean/index.js.map +1 -0
  220. package/dist/lean/product.d.ts +4 -0
  221. package/dist/lean/product.d.ts.map +1 -0
  222. package/dist/lean/product.js +55 -0
  223. package/dist/lean/product.js.map +1 -0
  224. package/dist/materials/index.d.ts +1 -10
  225. package/dist/materials/index.d.ts.map +1 -1
  226. package/dist/materials/index.js +1 -6
  227. package/dist/materials/index.js.map +1 -1
  228. package/dist/materials/node.d.ts +4 -0
  229. package/dist/materials/node.d.ts.map +1 -0
  230. package/dist/materials/node.js +3 -0
  231. package/dist/materials/node.js.map +1 -0
  232. package/dist/physics/ArcadeCharacterController.d.ts +53 -0
  233. package/dist/physics/ArcadeCharacterController.d.ts.map +1 -0
  234. package/dist/physics/ArcadeCharacterController.js +98 -0
  235. package/dist/physics/ArcadeCharacterController.js.map +1 -0
  236. package/dist/physics/ArcadeVehicleTelemetry.d.ts +162 -0
  237. package/dist/physics/ArcadeVehicleTelemetry.d.ts.map +1 -0
  238. package/dist/physics/ArcadeVehicleTelemetry.js +363 -0
  239. package/dist/physics/ArcadeVehicleTelemetry.js.map +1 -0
  240. package/dist/physics/CharacterController.d.ts +52 -0
  241. package/dist/physics/CharacterController.d.ts.map +1 -1
  242. package/dist/physics/CharacterController.js +380 -7
  243. package/dist/physics/CharacterController.js.map +1 -1
  244. package/dist/physics/Constraint.d.ts +20 -4
  245. package/dist/physics/Constraint.d.ts.map +1 -1
  246. package/dist/physics/Constraint.js +34 -60
  247. package/dist/physics/Constraint.js.map +1 -1
  248. package/dist/physics/FightingCharacterController.d.ts +32 -0
  249. package/dist/physics/FightingCharacterController.d.ts.map +1 -0
  250. package/dist/physics/FightingCharacterController.js +76 -0
  251. package/dist/physics/FightingCharacterController.js.map +1 -0
  252. package/dist/physics/MeshBVH.d.ts +72 -0
  253. package/dist/physics/MeshBVH.d.ts.map +1 -0
  254. package/dist/physics/MeshBVH.js +244 -0
  255. package/dist/physics/MeshBVH.js.map +1 -0
  256. package/dist/physics/PathFollowDriver.d.ts +162 -0
  257. package/dist/physics/PathFollowDriver.d.ts.map +1 -0
  258. package/dist/physics/PathFollowDriver.js +163 -0
  259. package/dist/physics/PathFollowDriver.js.map +1 -0
  260. package/dist/physics/PhysicsDebugDraw.d.ts +40 -1
  261. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  262. package/dist/physics/PhysicsDebugDraw.js +87 -17
  263. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  264. package/dist/physics/PhysicsWorld.d.ts +37 -18
  265. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  266. package/dist/physics/PhysicsWorld.js +231 -630
  267. package/dist/physics/PhysicsWorld.js.map +1 -1
  268. package/dist/physics/RacingLineProfile.d.ts +116 -0
  269. package/dist/physics/RacingLineProfile.d.ts.map +1 -0
  270. package/dist/physics/RacingLineProfile.js +181 -0
  271. package/dist/physics/RacingLineProfile.js.map +1 -0
  272. package/dist/physics/Raycast.d.ts +11 -0
  273. package/dist/physics/Raycast.d.ts.map +1 -1
  274. package/dist/physics/Raycast.js +62 -8
  275. package/dist/physics/Raycast.js.map +1 -1
  276. package/dist/physics/RigidBody.d.ts +16 -9
  277. package/dist/physics/RigidBody.d.ts.map +1 -1
  278. package/dist/physics/RigidBody.js +23 -75
  279. package/dist/physics/RigidBody.js.map +1 -1
  280. package/dist/physics/SurfaceQuery.d.ts +72 -0
  281. package/dist/physics/SurfaceQuery.d.ts.map +1 -0
  282. package/dist/physics/SurfaceQuery.js +89 -0
  283. package/dist/physics/SurfaceQuery.js.map +1 -0
  284. package/dist/physics/VehicleDynamics.d.ts +10 -0
  285. package/dist/physics/VehicleDynamics.d.ts.map +1 -1
  286. package/dist/physics/VehicleDynamics.js +31 -3
  287. package/dist/physics/VehicleDynamics.js.map +1 -1
  288. package/dist/physics/VehicleMotion.d.ts +125 -0
  289. package/dist/physics/VehicleMotion.d.ts.map +1 -0
  290. package/dist/physics/VehicleMotion.js +373 -0
  291. package/dist/physics/VehicleMotion.js.map +1 -0
  292. package/dist/physics/index.d.ts +62 -17
  293. package/dist/physics/index.d.ts.map +1 -1
  294. package/dist/physics/index.js +70 -17
  295. package/dist/physics/index.js.map +1 -1
  296. package/dist/physics/solverless-entry.d.ts +41 -0
  297. package/dist/physics/solverless-entry.d.ts.map +1 -0
  298. package/dist/physics/solverless-entry.js +40 -0
  299. package/dist/physics/solverless-entry.js.map +1 -0
  300. package/dist/physics/solverless.d.ts +37 -0
  301. package/dist/physics/solverless.d.ts.map +1 -0
  302. package/dist/physics/solverless.js +36 -0
  303. package/dist/physics/solverless.js.map +1 -0
  304. package/dist/physics/world-entry.d.ts +31 -0
  305. package/dist/physics/world-entry.d.ts.map +1 -0
  306. package/dist/physics/world-entry.js +30 -0
  307. package/dist/physics/world-entry.js.map +1 -0
  308. package/dist/physics/world.d.ts +18 -0
  309. package/dist/physics/world.d.ts.map +1 -0
  310. package/dist/physics/world.js +17 -0
  311. package/dist/physics/world.js.map +1 -0
  312. package/dist/physics-rapier/index.d.ts +169 -0
  313. package/dist/physics-rapier/index.d.ts.map +1 -0
  314. package/dist/physics-rapier/index.js +311 -0
  315. package/dist/physics-rapier/index.js.map +1 -0
  316. package/dist/product-studio/ProductLighting.d.ts.map +1 -1
  317. package/dist/product-studio/ProductLighting.js +34 -3
  318. package/dist/product-studio/ProductLighting.js.map +1 -1
  319. package/dist/rendering/ArchitecturalLighting.d.ts +35 -0
  320. package/dist/rendering/ArchitecturalLighting.d.ts.map +1 -0
  321. package/dist/rendering/ArchitecturalLighting.js +162 -0
  322. package/dist/rendering/ArchitecturalLighting.js.map +1 -0
  323. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +1 -1
  324. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts.map +1 -1
  325. package/dist/rendering/ArchitecturalMaterialCatalog.js +1 -1
  326. package/dist/rendering/ArchitecturalMaterialCatalog.js.map +1 -1
  327. package/dist/rendering/ArchitecturalMeasurement.d.ts +27 -0
  328. package/dist/rendering/ArchitecturalMeasurement.d.ts.map +1 -0
  329. package/dist/rendering/ArchitecturalMeasurement.js +112 -0
  330. package/dist/rendering/ArchitecturalMeasurement.js.map +1 -0
  331. package/dist/rendering/CameraFraming.d.ts +77 -0
  332. package/dist/rendering/CameraFraming.d.ts.map +1 -1
  333. package/dist/rendering/CameraFraming.js +176 -1
  334. package/dist/rendering/CameraFraming.js.map +1 -1
  335. package/dist/rendering/CanonicalProductScene.d.ts +13 -0
  336. package/dist/rendering/CanonicalProductScene.d.ts.map +1 -0
  337. package/dist/rendering/CanonicalProductScene.js +78 -0
  338. package/dist/rendering/CanonicalProductScene.js.map +1 -0
  339. package/dist/rendering/CascadedShadowMaps.d.ts +1 -1
  340. package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
  341. package/dist/rendering/CascadedShadowMaps.js +1 -1
  342. package/dist/rendering/CascadedShadowMaps.js.map +1 -1
  343. package/dist/rendering/DepthPass.d.ts +1 -1
  344. package/dist/rendering/DepthPass.d.ts.map +1 -1
  345. package/dist/rendering/DepthPass.js +2 -2
  346. package/dist/rendering/DepthPass.js.map +1 -1
  347. package/dist/rendering/EnvironmentBackgroundPass.d.ts +1 -1
  348. package/dist/rendering/EnvironmentBackgroundPass.d.ts.map +1 -1
  349. package/dist/rendering/EnvironmentBackgroundPass.js +2 -2
  350. package/dist/rendering/EnvironmentBackgroundPass.js.map +1 -1
  351. package/dist/rendering/EnvironmentPlatform.js +2 -2
  352. package/dist/rendering/EnvironmentPlatform.js.map +1 -1
  353. package/dist/rendering/ForwardPass.d.ts +1 -1
  354. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  355. package/dist/rendering/ForwardPass.js +24 -10
  356. package/dist/rendering/ForwardPass.js.map +1 -1
  357. package/dist/rendering/Geometry.d.ts +2 -0
  358. package/dist/rendering/Geometry.d.ts.map +1 -1
  359. package/dist/rendering/Geometry.js +15 -0
  360. package/dist/rendering/Geometry.js.map +1 -1
  361. package/dist/rendering/InstancedPBRMaterial.js +1 -1
  362. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  363. package/dist/rendering/InstancedUnlitMaterial.js +1 -1
  364. package/dist/rendering/InstancedUnlitMaterial.js.map +1 -1
  365. package/dist/rendering/Material.js +2 -2
  366. package/dist/rendering/Material.js.map +1 -1
  367. package/dist/rendering/MaterialBinding.js +4 -4
  368. package/dist/rendering/MaterialBinding.js.map +1 -1
  369. package/dist/rendering/MaterialInstance.js +2 -2
  370. package/dist/rendering/MaterialInstance.js.map +1 -1
  371. package/dist/rendering/MorphUnlitMaterial.js +1 -1
  372. package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
  373. package/dist/rendering/NormalMappedPBRMaterial.js +1 -1
  374. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  375. package/dist/rendering/OceanSurface.d.ts +62 -0
  376. package/dist/rendering/OceanSurface.d.ts.map +1 -0
  377. package/dist/rendering/OceanSurface.js +240 -0
  378. package/dist/rendering/OceanSurface.js.map +1 -0
  379. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  380. package/dist/rendering/PBRMaterial.js +3 -3
  381. package/dist/rendering/PBRMaterial.js.map +1 -1
  382. package/dist/rendering/PortableShaderMaterial.d.ts +60 -0
  383. package/dist/rendering/PortableShaderMaterial.d.ts.map +1 -0
  384. package/dist/rendering/PortableShaderMaterial.js +223 -0
  385. package/dist/rendering/PortableShaderMaterial.js.map +1 -0
  386. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  387. package/dist/rendering/PostProcessPass.js +30 -6
  388. package/dist/rendering/PostProcessPass.js.map +1 -1
  389. package/dist/rendering/ProceduralTexture.d.ts +27 -0
  390. package/dist/rendering/ProceduralTexture.d.ts.map +1 -0
  391. package/dist/rendering/ProceduralTexture.js +336 -0
  392. package/dist/rendering/ProceduralTexture.js.map +1 -0
  393. package/dist/rendering/ProductTurntable.d.ts +96 -0
  394. package/dist/rendering/ProductTurntable.d.ts.map +1 -0
  395. package/dist/rendering/ProductTurntable.js +639 -0
  396. package/dist/rendering/ProductTurntable.js.map +1 -0
  397. package/dist/rendering/RenderDevice.d.ts +30 -0
  398. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  399. package/dist/rendering/RenderDevice.js.map +1 -1
  400. package/dist/rendering/Renderer.d.ts +28 -4
  401. package/dist/rendering/Renderer.d.ts.map +1 -1
  402. package/dist/rendering/Renderer.js +34 -12
  403. package/dist/rendering/Renderer.js.map +1 -1
  404. package/dist/rendering/RendererPostprocessPlan.js +4 -4
  405. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  406. package/dist/rendering/ScreenSpaceLineMaterial.js +1 -1
  407. package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -1
  408. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  409. package/dist/rendering/ShaderChunks.js +81 -19
  410. package/dist/rendering/ShaderChunks.js.map +1 -1
  411. package/dist/rendering/ShaderLibrary.d.ts +2 -78
  412. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  413. package/dist/rendering/ShaderLibrary.js +127 -793
  414. package/dist/rendering/ShaderLibrary.js.map +1 -1
  415. package/dist/rendering/ShaderLibraryCore.d.ts +100 -0
  416. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -0
  417. package/dist/rendering/ShaderLibraryCore.js +800 -0
  418. package/dist/rendering/ShaderLibraryCore.js.map +1 -0
  419. package/dist/rendering/ShaderModule.d.ts +1 -1
  420. package/dist/rendering/ShaderModule.d.ts.map +1 -1
  421. package/dist/rendering/ShaderModule.js +4 -2
  422. package/dist/rendering/ShaderModule.js.map +1 -1
  423. package/dist/rendering/ShadowPass.d.ts +1 -1
  424. package/dist/rendering/ShadowPass.d.ts.map +1 -1
  425. package/dist/rendering/ShadowPass.js +6 -4
  426. package/dist/rendering/ShadowPass.js.map +1 -1
  427. package/dist/rendering/SkinnedLitMaterial.js +1 -1
  428. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  429. package/dist/rendering/SkinnedUnlitMaterial.js +1 -1
  430. package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
  431. package/dist/rendering/SpaceEnvironment.d.ts +54 -0
  432. package/dist/rendering/SpaceEnvironment.d.ts.map +1 -0
  433. package/dist/rendering/SpaceEnvironment.js +116 -0
  434. package/dist/rendering/SpaceEnvironment.js.map +1 -0
  435. package/dist/rendering/TerrainHeightfield.d.ts +60 -0
  436. package/dist/rendering/TerrainHeightfield.d.ts.map +1 -0
  437. package/dist/rendering/TerrainHeightfield.js +239 -0
  438. package/dist/rendering/TerrainHeightfield.js.map +1 -0
  439. package/dist/rendering/TextureBinding.d.ts +14 -0
  440. package/dist/rendering/TextureBinding.d.ts.map +1 -1
  441. package/dist/rendering/TextureBinding.js +17 -0
  442. package/dist/rendering/TextureBinding.js.map +1 -1
  443. package/dist/rendering/TexturedPBRMaterial.js +1 -1
  444. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  445. package/dist/rendering/TexturedUnlitMaterial.js +1 -1
  446. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  447. package/dist/rendering/UnlitMaterial.js +1 -1
  448. package/dist/rendering/UnlitMaterial.js.map +1 -1
  449. package/dist/rendering/VegetationFixtures.d.ts +1 -1
  450. package/dist/rendering/VegetationFixtures.d.ts.map +1 -1
  451. package/dist/rendering/VegetationFixtures.js +1 -1
  452. package/dist/rendering/VegetationFixtures.js.map +1 -1
  453. package/dist/rendering/VegetationScatter.d.ts +68 -0
  454. package/dist/rendering/VegetationScatter.d.ts.map +1 -0
  455. package/dist/rendering/VegetationScatter.js +241 -0
  456. package/dist/rendering/VegetationScatter.js.map +1 -0
  457. package/dist/rendering/VoxelWorld.d.ts +51 -0
  458. package/dist/rendering/VoxelWorld.d.ts.map +1 -0
  459. package/dist/rendering/VoxelWorld.js +183 -0
  460. package/dist/rendering/VoxelWorld.js.map +1 -0
  461. package/dist/rendering/Weather.d.ts +44 -0
  462. package/dist/rendering/Weather.d.ts.map +1 -0
  463. package/dist/rendering/Weather.js +140 -0
  464. package/dist/rendering/Weather.js.map +1 -0
  465. package/dist/rendering/WebGL2Device.d.ts +22 -0
  466. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  467. package/dist/rendering/WebGL2Device.js +134 -23
  468. package/dist/rendering/WebGL2Device.js.map +1 -1
  469. package/dist/rendering/WebGPUDevice.d.ts +19 -2
  470. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  471. package/dist/rendering/WebGPUDevice.js +188 -9
  472. package/dist/rendering/WebGPUDevice.js.map +1 -1
  473. package/dist/rendering/index.d.ts +28 -35
  474. package/dist/rendering/index.d.ts.map +1 -1
  475. package/dist/rendering/index.js +36 -20
  476. package/dist/rendering/index.js.map +1 -1
  477. package/dist/rendering/lean/LeanProductRenderer.d.ts +29 -0
  478. package/dist/rendering/lean/LeanProductRenderer.d.ts.map +1 -0
  479. package/dist/rendering/lean/LeanProductRenderer.js +38 -0
  480. package/dist/rendering/lean/LeanProductRenderer.js.map +1 -0
  481. package/dist/rendering/lean/LeanProductionRenderer.d.ts +38 -0
  482. package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +1 -0
  483. package/dist/rendering/lean/LeanProductionRenderer.js +88 -0
  484. package/dist/rendering/lean/LeanProductionRenderer.js.map +1 -0
  485. package/dist/rendering/lean-runtime.d.ts +18 -0
  486. package/dist/rendering/lean-runtime.d.ts.map +1 -0
  487. package/dist/rendering/lean-runtime.js +13 -0
  488. package/dist/rendering/lean-runtime.js.map +1 -0
  489. package/dist/rendering/postprocess/EffectComposer.d.ts.map +1 -1
  490. package/dist/rendering/postprocess/EffectComposer.js +1 -3
  491. package/dist/rendering/postprocess/EffectComposer.js.map +1 -1
  492. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  493. package/dist/rendering/production-runtime/PBRHDRPipeline.js +5 -1
  494. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  495. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +9 -0
  496. package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  497. package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
  498. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +5 -0
  499. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
  500. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +53 -5
  501. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
  502. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +10 -0
  503. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  504. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +21 -2
  505. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  506. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  507. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +4 -1
  508. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  509. package/dist/rendering/webgpu-device-entry.d.ts +25 -0
  510. package/dist/rendering/webgpu-device-entry.d.ts.map +1 -0
  511. package/dist/rendering/webgpu-device-entry.js +24 -0
  512. package/dist/rendering/webgpu-device-entry.js.map +1 -0
  513. package/dist/rendering/webgpu.d.ts +25 -0
  514. package/dist/rendering/webgpu.d.ts.map +1 -0
  515. package/dist/rendering/webgpu.js +24 -0
  516. package/dist/rendering/webgpu.js.map +1 -0
  517. package/dist/scene/MathTypes.d.ts +1 -0
  518. package/dist/scene/MathTypes.d.ts.map +1 -1
  519. package/dist/scene/MathTypes.js +3 -0
  520. package/dist/scene/MathTypes.js.map +1 -1
  521. package/dist/scene/Renderable.d.ts +6 -0
  522. package/dist/scene/Renderable.d.ts.map +1 -1
  523. package/dist/scene/Renderable.js +8 -2
  524. package/dist/scene/Renderable.js.map +1 -1
  525. package/dist/scripting/index.d.ts +0 -16
  526. package/dist/scripting/index.d.ts.map +1 -1
  527. package/dist/scripting/index.js +0 -8
  528. package/dist/scripting/index.js.map +1 -1
  529. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts +2 -2
  530. package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts.map +1 -1
  531. package/dist/workflows/production-runtime/ProductionExampleRuntime.js +2 -2
  532. package/dist/workflows/production-runtime/ProductionExampleRuntime.js.map +1 -1
  533. package/package.json +243 -127
  534. package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +8 -0
  535. package/templates/cinematic-scene/node_modules/.vite/deps/package.json +3 -0
  536. package/templates/cinematic-scene/package.json +1 -1
  537. package/templates/cinematic-scene/test-results/.last-run.json +6 -0
  538. package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +64 -0
  539. package/templates/mini-game/README.md +3 -2
  540. package/templates/mini-game/package.json +1 -1
  541. package/templates/mini-game/src/aura-assets.ts +1 -1
  542. package/templates/mini-game/src/main.ts +69 -141
  543. package/templates/product-viewer/README.md +7 -5
  544. package/templates/product-viewer/index.html +1 -1
  545. package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +8 -0
  546. package/templates/product-viewer/node_modules/.vite/deps/package.json +3 -0
  547. package/templates/product-viewer/package.json +1 -1
  548. package/templates/product-viewer/src/aura-assets.ts +1 -1
  549. package/templates/product-viewer/src/main.ts +29 -23
@@ -1,4 +1,4 @@
1
- import { type BufferUsage, type DrawCommand, type RenderBuffer, type RenderDevice, type RenderDeviceDiagnostics, type RenderDeviceInfo, type RenderShaderProgram, type RenderTarget, type RenderTargetDescriptor, type ShaderSources } from "./RenderDevice";
1
+ import { type BufferUsage, type DrawCommand, type RenderBuffer, type RenderDevice, type RenderDeviceDiagnostics, type RenderDeviceInfo, type RenderShaderProgram, type RenderTarget, type RenderTargetDescriptor, type ShaderCompilationDiagnostic, type ShaderSources } from "./RenderDevice";
2
2
  export interface WebGPULike {
3
3
  requestAdapter(): Promise<WebGPUAdapterLike | null>;
4
4
  getPreferredCanvasFormat?(): string;
@@ -20,7 +20,7 @@ export interface WebGPUDeviceLike {
20
20
  createShaderModule?(descriptor: {
21
21
  readonly label?: string;
22
22
  readonly code: string;
23
- }): unknown;
23
+ }): WebGPUShaderModuleLike;
24
24
  createRenderPipeline?(descriptor: WebGPURenderPipelineDescriptorLike): WebGPURenderPipelineLike;
25
25
  createBindGroup?(descriptor: WebGPUBindGroupDescriptorLike): WebGPUBindGroupLike;
26
26
  createTexture?(descriptor: WebGPUTextureDescriptorLike): WebGPUTextureLike;
@@ -34,6 +34,17 @@ export interface WebGPUDeviceLostInfoLike {
34
34
  readonly reason?: string;
35
35
  readonly message?: string;
36
36
  }
37
+ export interface WebGPUShaderModuleLike {
38
+ readonly [key: string]: unknown;
39
+ getCompilationInfo?(): Promise<{
40
+ readonly messages: readonly {
41
+ readonly type: "error" | "warning" | "info";
42
+ readonly message: string;
43
+ readonly lineNum?: number;
44
+ readonly linePos?: number;
45
+ }[];
46
+ }>;
47
+ }
37
48
  export interface WebGPUQueueLike {
38
49
  writeBuffer(buffer: WebGPUBufferLike, offset: number, data: ArrayBuffer | ArrayBufferView, dataOffset?: number, size?: number): void;
39
50
  writeTexture?(destination: WebGPUImageCopyTextureLike, data: ArrayBuffer | ArrayBufferView, dataLayout: WebGPUImageDataLayoutLike, size: WebGPUExtent3DLike): void;
@@ -227,6 +238,10 @@ export declare class WebGPUDevice implements RenderDevice {
227
238
  private clearColor;
228
239
  private lastError;
229
240
  private nativeSubmissions;
241
+ private nativeRenderPipelinesCreated;
242
+ private nativeRenderPasses;
243
+ private nativeTextureUploads;
244
+ private nativeTextureReadbacks;
230
245
  private nativeTextureBindings;
231
246
  private nativeGeneratedBasicSubmissions;
232
247
  private nativeGeneratedTextureSubmissions;
@@ -256,6 +271,7 @@ export declare class WebGPUDevice implements RenderDevice {
256
271
  updateBuffer(buffer: RenderBuffer, byteOffset: number, data: ArrayBufferView): void;
257
272
  readBuffer(buffer: RenderBuffer, byteOffset?: number, byteLength?: number): Uint8Array;
258
273
  createShaderProgram(sources: ShaderSources): RenderShaderProgram;
274
+ getShaderCompilationDiagnostics(sources: ShaderSources): Promise<readonly ShaderCompilationDiagnostic[]>;
259
275
  createRenderTarget(descriptor: RenderTargetDescriptor): RenderTarget;
260
276
  setRenderTarget(target: RenderTarget | null): void;
261
277
  writeRenderTargetPixels(target: RenderTarget, pixels: Uint8Array): void;
@@ -286,6 +302,7 @@ export declare class WebGPUDevice implements RenderDevice {
286
302
  private createNativePbrTextureBindings;
287
303
  private createNativeFallbackSampledTextureBinding;
288
304
  private createNativeDrawUniformBuffer;
305
+ private createNativePortableBindings;
289
306
  private currentCanvasView;
290
307
  private ensureCanvasDepthAttachment;
291
308
  private clearActiveRenderTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGPUDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGPUDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGPUDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGPUDevice.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { RenderDeviceError, viewBytes } from "./RenderDevice.js";
2
2
  import { MAX_WEBGPU_SKINNING_JOINTS } from "./WebGPUSkinningLimits.js";
3
3
  import { reflectShaderSources } from "./ShaderReflection.js";
4
4
  import { Texture, bytesPerPixel, isCompressedTextureFormat } from "./Texture.js";
5
- import { TextureBinding } from "./TextureBinding.js";
5
+ import { isTextureBinding, TextureBinding } from "./TextureBinding.js";
6
6
  import {} from "./VertexFormat.js";
7
7
  const BUFFER_USAGE = {
8
8
  MAP_READ: 0x0001,
@@ -55,9 +55,10 @@ class WebGPUShaderProgram {
55
55
  modules;
56
56
  entryPoints;
57
57
  nativeUniformLayout;
58
+ portableBindings;
58
59
  disposed = false;
59
60
  renderPipelines = new Map();
60
- constructor(id, label, marker, reflection, modules, entryPoints, nativeUniformLayout) {
61
+ constructor(id, label, marker, reflection, modules, entryPoints, nativeUniformLayout, portableBindings) {
61
62
  this.id = id;
62
63
  this.label = label;
63
64
  this.marker = marker;
@@ -65,6 +66,7 @@ class WebGPUShaderProgram {
65
66
  this.modules = modules;
66
67
  this.entryPoints = entryPoints;
67
68
  this.nativeUniformLayout = nativeUniformLayout;
69
+ this.portableBindings = portableBindings;
68
70
  }
69
71
  dispose() {
70
72
  this.disposed = true;
@@ -141,6 +143,10 @@ export class WebGPUDevice {
141
143
  clearColor = [0, 0, 0, 1];
142
144
  lastError = null;
143
145
  nativeSubmissions = 0;
146
+ nativeRenderPipelinesCreated = 0;
147
+ nativeRenderPasses = 0;
148
+ nativeTextureUploads = 0;
149
+ nativeTextureReadbacks = 0;
144
150
  nativeTextureBindings = 0;
145
151
  nativeGeneratedBasicSubmissions = 0;
146
152
  nativeGeneratedTextureSubmissions = 0;
@@ -288,10 +294,35 @@ export class WebGPUDevice {
288
294
  this.device.createShaderModule({ label: `${sources.label}-fragment`, code: nativeSources.fragment })
289
295
  ]
290
296
  : [];
291
- const shader = new WebGPUShaderProgram(this.nextId++, sources.label, sources.marker, reflectShaderSources(sources), modules, nativeSources.entryPoints, nativeSources.uniformLayout);
297
+ const shader = new WebGPUShaderProgram(this.nextId++, sources.label, sources.marker, reflectShaderSources(sources), modules, nativeSources.entryPoints, nativeSources.uniformLayout, nativeSources.portableBindings ?? []);
292
298
  this.shaders.add(shader);
293
299
  return shader;
294
300
  }
301
+ async getShaderCompilationDiagnostics(sources) {
302
+ this.assertAlive();
303
+ if (!this.device.createShaderModule)
304
+ return [];
305
+ const native = createNativeShaderSources(sources);
306
+ const stages = [
307
+ { stage: "vertex", code: native.vertex },
308
+ { stage: "fragment", code: native.fragment }
309
+ ];
310
+ const diagnostics = [];
311
+ for (const candidate of stages) {
312
+ const module = this.device.createShaderModule({ label: `${sources.label}-${candidate.stage}-diagnostics`, code: candidate.code });
313
+ const info = await module.getCompilationInfo?.();
314
+ for (const message of info?.messages ?? []) {
315
+ diagnostics.push({
316
+ stage: candidate.stage,
317
+ severity: message.type,
318
+ message: message.message,
319
+ ...(message.lineNum === undefined ? {} : { line: message.lineNum }),
320
+ ...(message.linePos === undefined ? {} : { column: message.linePos })
321
+ });
322
+ }
323
+ }
324
+ return diagnostics;
325
+ }
295
326
  createRenderTarget(descriptor) {
296
327
  this.assertAlive();
297
328
  if (!Number.isInteger(descriptor.width) ||
@@ -383,6 +414,7 @@ export class WebGPUDevice {
383
414
  }
384
415
  if (webgpuTarget.nativeTexture && webgpuTarget.colorTexture.format === "rgba8" && hasNativeTextureUpload(this.device)) {
385
416
  this.device.queue.writeTexture({ texture: webgpuTarget.nativeTexture }, pixels, { bytesPerRow: webgpuTarget.width * 4, rowsPerImage: webgpuTarget.height }, { width: webgpuTarget.width, height: webgpuTarget.height, depthOrArrayLayers: 1 });
417
+ this.nativeTextureUploads += 1;
386
418
  webgpuTarget.nativeNeedsClear = false;
387
419
  }
388
420
  }
@@ -509,6 +541,7 @@ export class WebGPUDevice {
509
541
  output.set(mapped.subarray(sourceOffset, sourceOffset + unpaddedBytesPerRow), destOffset);
510
542
  }
511
543
  unmap.call(readback);
544
+ this.nativeTextureReadbacks += 1;
512
545
  return output;
513
546
  }
514
547
  finally {
@@ -599,6 +632,7 @@ export class WebGPUDevice {
599
632
  }
600
633
  }
601
634
  unmap.call(readback);
635
+ this.nativeTextureReadbacks += 1;
602
636
  return output;
603
637
  }
604
638
  finally {
@@ -752,6 +786,10 @@ export class WebGPUDevice {
752
786
  ["presentationFormat", this.presentationFormat],
753
787
  ["drawCalls", this.drawCalls],
754
788
  ["nativeSubmissions", this.nativeSubmissions],
789
+ ["nativeRenderPipelinesCreated", this.nativeRenderPipelinesCreated],
790
+ ["nativeRenderPasses", this.nativeRenderPasses],
791
+ ["nativeTextureUploads", this.nativeTextureUploads],
792
+ ["nativeTextureReadbacks", this.nativeTextureReadbacks],
755
793
  ["nativeTextureBindings", this.nativeTextureBindings],
756
794
  ["nativeGeneratedBasicSubmissions", this.nativeGeneratedBasicSubmissions],
757
795
  ["nativeGeneratedTextureSubmissions", this.nativeGeneratedTextureSubmissions],
@@ -788,6 +826,10 @@ export class WebGPUDevice {
788
826
  disposedRenderTargets: [...this.renderTargets].filter((target) => target.disposed).length,
789
827
  disposedTextures: [...this.renderTargets].reduce((total, target) => total + (target.colorTexture.disposed ? 1 : 0) + (target.depthTexture?.disposed ? 1 : 0), 0),
790
828
  nativeSubmissions: this.nativeSubmissions,
829
+ nativeRenderPipelinesCreated: this.nativeRenderPipelinesCreated,
830
+ nativeRenderPasses: this.nativeRenderPasses,
831
+ nativeTextureUploads: this.nativeTextureUploads,
832
+ nativeTextureReadbacks: this.nativeTextureReadbacks,
791
833
  nativeTextureBindings: this.nativeTextureBindings,
792
834
  nativeGeneratedBasicSubmissions: this.nativeGeneratedBasicSubmissions,
793
835
  nativeGeneratedTextureSubmissions: this.nativeGeneratedTextureSubmissions,
@@ -1010,9 +1052,13 @@ export class WebGPUDevice {
1010
1052
  }
1011
1053
  : {})
1012
1054
  });
1055
+ this.nativeRenderPipelinesCreated += 1;
1013
1056
  shader.renderPipelines.set(pipelineKey, pipeline);
1014
1057
  }
1015
1058
  const encoder = this.device.createCommandEncoder({ label: `${command.label ?? "draw"}-encoder` });
1059
+ const portableResources = shader.nativeUniformLayout === "portable"
1060
+ ? this.createNativePortableBindings(command, shader.portableBindings)
1061
+ : null;
1016
1062
  const uniformBuffer = usesNativeDrawUniforms(shader.nativeUniformLayout) ? this.createNativeDrawUniformBuffer(command) : null;
1017
1063
  const sampledTexture = shader.nativeUniformLayout === "generated-texture" ? this.createNativeSampledTextureBinding(uniformBaseColorTextureBinding(command.uniforms)) : null;
1018
1064
  const materialTextures = usesNativePbrTextureBindings(shader.nativeUniformLayout) ? this.createNativePbrTextureBindings(command) : null;
@@ -1024,11 +1070,13 @@ export class WebGPUDevice {
1024
1070
  uniformBuffer?.destroy();
1025
1071
  return;
1026
1072
  }
1027
- const bindGroup = uniformBuffer && pipeline.getBindGroupLayout && this.device.createBindGroup
1073
+ if (shader.nativeUniformLayout === "portable" && !portableResources)
1074
+ return;
1075
+ const bindGroup = (uniformBuffer || portableResources) && pipeline.getBindGroupLayout && this.device.createBindGroup
1028
1076
  ? this.device.createBindGroup({
1029
1077
  label: `${command.label ?? "draw"}-draw-bind-group`,
1030
1078
  layout: pipeline.getBindGroupLayout(0),
1031
- entries: [
1079
+ entries: portableResources?.entries ?? [
1032
1080
  { binding: 0, resource: { buffer: uniformBuffer } },
1033
1081
  ...(sampledTexture ? [
1034
1082
  { binding: 1, resource: sampledTexture.sampler },
@@ -1075,6 +1123,7 @@ export class WebGPUDevice {
1075
1123
  }
1076
1124
  : {})
1077
1125
  });
1126
+ this.nativeRenderPasses += 1;
1078
1127
  pass.setPipeline(pipeline);
1079
1128
  pass.setVertexBuffer(0, vertexBuffer.handle);
1080
1129
  if (bindGroup)
@@ -1083,6 +1132,7 @@ export class WebGPUDevice {
1083
1132
  if (!pass.setIndexBuffer || !pass.drawIndexed) {
1084
1133
  pass.end();
1085
1134
  uniformBuffer?.destroy();
1135
+ portableResources?.buffer.destroy();
1086
1136
  this.lastError = "Native WebGPU indexed draw skipped because the render-pass encoder does not expose indexed draw APIs.";
1087
1137
  return;
1088
1138
  }
@@ -1098,6 +1148,7 @@ export class WebGPUDevice {
1098
1148
  if (this.activeRenderTarget)
1099
1149
  this.activeRenderTarget.nativeNeedsClear = false;
1100
1150
  uniformBuffer?.destroy();
1151
+ portableResources?.buffer.destroy();
1101
1152
  this.nativeSubmissions += 1;
1102
1153
  if (sampledTexture)
1103
1154
  this.nativeTextureBindings += 1;
@@ -1107,6 +1158,10 @@ export class WebGPUDevice {
1107
1158
  this.nativeGeneratedTextureSubmissions += 1;
1108
1159
  if (shader.nativeUniformLayout === "passthrough")
1109
1160
  this.nativePassthroughSubmissions += 1;
1161
+ if (shader.nativeUniformLayout === "portable") {
1162
+ this.nativePassthroughSubmissions += 1;
1163
+ this.nativeTextureBindings += portableResources?.actualTextureCount ?? 0;
1164
+ }
1110
1165
  if (shader.nativeUniformLayout === "generated-pbr" || shader.nativeUniformLayout === "generated-textured-pbr" || shader.nativeUniformLayout === "generated-instanced-pbr")
1111
1166
  this.nativePbrSubmissions += 1;
1112
1167
  if (shader.nativeUniformLayout === "generated-instanced-pbr")
@@ -1157,6 +1212,7 @@ export class WebGPUDevice {
1157
1212
  }
1158
1213
  : {})
1159
1214
  });
1215
+ this.nativeRenderPasses += 1;
1160
1216
  pass.end();
1161
1217
  this.device.queue.submit([encoder.finish()]);
1162
1218
  target.nativeNeedsClear = false;
@@ -1183,6 +1239,7 @@ export class WebGPUDevice {
1183
1239
  return null;
1184
1240
  sourceLevels.forEach((level, mipLevel) => {
1185
1241
  writeTexture.call(this.device.queue, { texture: nativeTexture, mipLevel }, level.data, { bytesPerRow: level.bytesPerRow, rowsPerImage: level.height }, { width: level.width, height: level.height, depthOrArrayLayers: 1 });
1242
+ this.nativeTextureUploads += 1;
1186
1243
  });
1187
1244
  resource = { texture: nativeTexture, view: nativeTexture.createView() };
1188
1245
  }
@@ -1206,6 +1263,7 @@ export class WebGPUDevice {
1206
1263
  });
1207
1264
  for (const [mipLevel, level] of levels.entries()) {
1208
1265
  this.device.queue.writeTexture({ texture: nativeTexture, mipLevel }, level.data, { bytesPerRow: level.width * levelBytesPerPixel, rowsPerImage: level.height }, { width: level.width, height: level.height, depthOrArrayLayers: 1 });
1266
+ this.nativeTextureUploads += 1;
1209
1267
  }
1210
1268
  resource = { texture: nativeTexture, view: nativeTexture.createView() };
1211
1269
  }
@@ -1279,6 +1337,7 @@ export class WebGPUDevice {
1279
1337
  usage: TEXTURE_USAGE.TEXTURE_BINDING | TEXTURE_USAGE.COPY_DST
1280
1338
  });
1281
1339
  this.device.queue.writeTexture({ texture: nativeTexture }, new Uint8Array(rgba), { bytesPerRow: 4, rowsPerImage: 1 }, { width: 1, height: 1, depthOrArrayLayers: 1 });
1340
+ this.nativeTextureUploads += 1;
1282
1341
  resource = { texture: nativeTexture, view: nativeTexture.createView() };
1283
1342
  this.nativeSampledTextures.set(`fallback:${key}`, resource);
1284
1343
  }
@@ -1361,6 +1420,43 @@ export class WebGPUDevice {
1361
1420
  this.device.queue.writeBuffer(buffer, 0, data);
1362
1421
  return buffer;
1363
1422
  }
1423
+ createNativePortableBindings(command, bindings) {
1424
+ if (!this.device.createBindGroup)
1425
+ return null;
1426
+ const numericBindings = bindings.filter((binding) => binding.kind !== "texture2d");
1427
+ const layout = portableUniformLayout(numericBindings);
1428
+ const bytes = new ArrayBuffer(Math.max(16, layout.byteLength));
1429
+ const view = new DataView(bytes);
1430
+ for (const field of layout.fields) {
1431
+ writePortableUniform(view, field.byteOffset, field.binding.kind, command.uniforms?.get(field.binding.name));
1432
+ }
1433
+ const buffer = this.device.createBuffer({
1434
+ label: `${command.label ?? "draw"}-portable-uniforms`,
1435
+ size: bytes.byteLength,
1436
+ usage: BUFFER_USAGE.UNIFORM | BUFFER_USAGE.COPY_DST
1437
+ });
1438
+ this.device.queue.writeBuffer(buffer, 0, new Uint8Array(bytes));
1439
+ const entries = [{ binding: 0, resource: { buffer } }];
1440
+ let bindingIndex = 1;
1441
+ let actualTextureCount = 0;
1442
+ for (const descriptor of bindings) {
1443
+ if (descriptor.kind !== "texture2d")
1444
+ continue;
1445
+ const actual = this.createNativeSampledTextureBinding(uniformTextureBinding(command.uniforms, descriptor.name));
1446
+ const sampled = actual ?? (descriptor.required === false
1447
+ ? this.createNativeFallbackSampledTextureBinding("portable-white", [255, 255, 255, 255], "linear")
1448
+ : null);
1449
+ if (!sampled) {
1450
+ buffer.destroy();
1451
+ return null;
1452
+ }
1453
+ if (actual?.actual)
1454
+ actualTextureCount += 1;
1455
+ entries.push({ binding: bindingIndex++, resource: sampled.sampler });
1456
+ entries.push({ binding: bindingIndex++, resource: sampled.view });
1457
+ }
1458
+ return { buffer, entries, actualTextureCount };
1459
+ }
1364
1460
  currentCanvasView() {
1365
1461
  if (!this.canvasContext)
1366
1462
  return null;
@@ -1626,7 +1722,7 @@ function webgpuMaxAnisotropy(maxAnisotropy, minFilter, magFilter, mipmapFilter)
1626
1722
  return Math.min(16, Math.max(1, Math.floor(maxAnisotropy)));
1627
1723
  }
1628
1724
  function usesNativeDrawUniforms(layout) {
1629
- return layout !== "passthrough";
1725
+ return layout !== "passthrough" && layout !== "portable";
1630
1726
  }
1631
1727
  function usesNativePbrTextureBindings(layout) {
1632
1728
  return layout === "generated-pbr" ||
@@ -1686,14 +1782,14 @@ function uniformBaseColorTextureBinding(uniforms) {
1686
1782
  if (!uniforms)
1687
1783
  return null;
1688
1784
  const direct = uniforms.get("u_texture") ?? uniforms.get("u_baseColorTexture") ?? uniforms.get("baseColorTexture");
1689
- if (direct instanceof TextureBinding && direct.texture && !direct.texture.disposed && direct.validate().ok) {
1785
+ if (isTextureBinding(direct) && direct.texture && !direct.texture.disposed && direct.validate().ok) {
1690
1786
  return direct;
1691
1787
  }
1692
1788
  return null;
1693
1789
  }
1694
1790
  function uniformTextureBinding(uniforms, name) {
1695
1791
  const value = uniforms?.get(name);
1696
- return value instanceof TextureBinding && value.texture && !value.texture.disposed && value.validate().ok ? value : null;
1792
+ return isTextureBinding(value) && value.texture && !value.texture.disposed && value.validate().ok ? value : null;
1697
1793
  }
1698
1794
  function uniformNumber(value, fallback) {
1699
1795
  return typeof value === "number" && Number.isFinite(value) ? value : fallback;
@@ -1744,7 +1840,7 @@ function uniformForwardShadow(uniforms) {
1744
1840
  return null;
1745
1841
  const texture = uniforms.get("u_shadowMapTexture");
1746
1842
  const matrix = uniformMat4(uniforms.get("u_shadowMapMatrix")) ?? identityMatrix();
1747
- if (!(texture instanceof TextureBinding) || !texture.texture || texture.texture.disposed || !texture.validate().ok) {
1843
+ if (!isTextureBinding(texture) || !texture.texture || texture.texture.disposed || !texture.validate().ok) {
1748
1844
  return null;
1749
1845
  }
1750
1846
  const strengthValue = uniforms.get("u_shadowMapStrength");
@@ -2052,6 +2148,15 @@ function clampInt(value, min, max) {
2052
2148
  return Math.min(max, Math.max(min, value));
2053
2149
  }
2054
2150
  function createNativeShaderSources(sources) {
2151
+ if (sources.webgpu && sources.portableBindings) {
2152
+ return {
2153
+ vertex: injectPortableBindings(sources.webgpu.vertex, sources.portableBindings),
2154
+ fragment: injectPortableBindings(sources.webgpu.fragment, sources.portableBindings),
2155
+ entryPoints: [inferWGSLVertexEntryPoint(sources.webgpu.vertex) ?? "vs_main", inferWGSLFragmentEntryPoint(sources.webgpu.fragment) ?? "fs_main"],
2156
+ uniformLayout: "portable",
2157
+ portableBindings: sources.portableBindings
2158
+ };
2159
+ }
2055
2160
  const vertexEntry = inferWGSLVertexEntryPoint(sources.vertex) ?? "vs_main";
2056
2161
  const fragmentEntry = inferWGSLFragmentEntryPoint(sources.fragment) ?? "fs_main";
2057
2162
  if (/\@(vertex|fragment|compute)\b/.test(sources.vertex) || /\@(vertex|fragment|compute)\b/.test(sources.fragment)) {
@@ -2091,6 +2196,80 @@ function createNativeShaderSources(sources) {
2091
2196
  uniformLayout: "generated-basic"
2092
2197
  };
2093
2198
  }
2199
+ const PORTABLE_BINDINGS_MARKER = "/* @aura3d-bindings */";
2200
+ function injectPortableBindings(source, bindings) {
2201
+ if (!source.includes(PORTABLE_BINDINGS_MARKER)) {
2202
+ throw new RenderDeviceError(`Portable WGSL source must include ${PORTABLE_BINDINGS_MARKER}`, "PORTABLE_SHADER_BINDINGS_MARKER_MISSING");
2203
+ }
2204
+ const numeric = bindings.filter((binding) => binding.kind !== "texture2d");
2205
+ const fields = numeric.map((binding) => ` ${binding.name}: ${portableWGSLType(binding.kind)},`).join("\n");
2206
+ let textureBinding = 1;
2207
+ const textures = bindings
2208
+ .filter((binding) => binding.kind === "texture2d")
2209
+ .map((binding) => {
2210
+ const sampler = textureBinding++;
2211
+ const texture = textureBinding++;
2212
+ return `@group(0) @binding(${sampler}) var ${binding.name}Sampler: sampler;\n@group(0) @binding(${texture}) var ${binding.name}Texture: texture_2d<f32>;`;
2213
+ })
2214
+ .join("\n");
2215
+ return source.replace(PORTABLE_BINDINGS_MARKER, `struct Aura3DPortableUniforms {\n${fields}\n};\n@group(0) @binding(0) var<uniform> aura: Aura3DPortableUniforms;\n${textures}`);
2216
+ }
2217
+ function portableWGSLType(kind) {
2218
+ switch (kind) {
2219
+ case "float": return "f32";
2220
+ case "vec2": return "vec2<f32>";
2221
+ case "vec3": return "vec3<f32>";
2222
+ case "vec4": return "vec4<f32>";
2223
+ case "mat4": return "mat4x4<f32>";
2224
+ case "texture2d": throw new Error("Texture bindings are not uniform-struct fields");
2225
+ }
2226
+ }
2227
+ function portableUniformLayout(bindings) {
2228
+ let byteOffset = 0;
2229
+ let structAlignment = 16;
2230
+ const fields = bindings.map((binding) => {
2231
+ const alignment = portableUniformAlignment(binding.kind);
2232
+ byteOffset = alignTo(byteOffset, alignment);
2233
+ const field = { binding, byteOffset };
2234
+ byteOffset += portableUniformSize(binding.kind);
2235
+ structAlignment = Math.max(structAlignment, alignment);
2236
+ return field;
2237
+ });
2238
+ return { fields, byteLength: alignTo(byteOffset, structAlignment) };
2239
+ }
2240
+ function portableUniformAlignment(kind) {
2241
+ switch (kind) {
2242
+ case "float": return 4;
2243
+ case "vec2": return 8;
2244
+ case "vec3":
2245
+ case "vec4":
2246
+ case "mat4": return 16;
2247
+ case "texture2d": return 0;
2248
+ }
2249
+ }
2250
+ function portableUniformSize(kind) {
2251
+ switch (kind) {
2252
+ case "float": return 4;
2253
+ case "vec2": return 8;
2254
+ case "vec3": return 12;
2255
+ case "vec4": return 16;
2256
+ case "mat4": return 64;
2257
+ case "texture2d": return 0;
2258
+ }
2259
+ }
2260
+ function writePortableUniform(view, byteOffset, kind, value) {
2261
+ if (kind === "texture2d")
2262
+ return;
2263
+ const numbers = typeof value === "number"
2264
+ ? [value]
2265
+ : value && !isTextureBinding(value)
2266
+ ? Array.from(value)
2267
+ : [];
2268
+ const count = portableUniformSize(kind) / 4;
2269
+ for (let index = 0; index < count; index += 1) {
2270
+ view.setFloat32(byteOffset + index * 4, Number(numbers[index] ?? 0), true);
2271
+ }
2272
+ }
2094
2273
  function nativeUniformStruct() {
2095
2274
  return `struct DrawUniforms {
2096
2275
  modelViewProjection: mat4x4<f32>,