@aura3d/engine 4.0.7 → 4.1.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 (314) hide show
  1. package/dist/audio/index.d.ts +1 -0
  2. package/dist/audio/index.d.ts.map +1 -1
  3. package/dist/audio/index.js +1 -0
  4. package/dist/audio/index.js.map +1 -1
  5. package/dist/audio/synth/SampleSlices.d.ts +88 -0
  6. package/dist/audio/synth/SampleSlices.d.ts.map +1 -0
  7. package/dist/audio/synth/SampleSlices.js +185 -0
  8. package/dist/audio/synth/SampleSlices.js.map +1 -0
  9. package/dist/audio/synth/SynthCueBank.d.ts +102 -0
  10. package/dist/audio/synth/SynthCueBank.d.ts.map +1 -0
  11. package/dist/audio/synth/SynthCueBank.js +323 -0
  12. package/dist/audio/synth/SynthCueBank.js.map +1 -0
  13. package/dist/audio/synth/SynthLoops.d.ts +77 -0
  14. package/dist/audio/synth/SynthLoops.d.ts.map +1 -0
  15. package/dist/audio/synth/SynthLoops.js +147 -0
  16. package/dist/audio/synth/SynthLoops.js.map +1 -0
  17. package/dist/audio/synth/index.d.ts +9 -0
  18. package/dist/audio/synth/index.d.ts.map +1 -0
  19. package/dist/audio/synth/index.js +5 -0
  20. package/dist/audio/synth/index.js.map +1 -0
  21. package/dist/audio/synth/notes.d.ts +18 -0
  22. package/dist/audio/synth/notes.d.ts.map +1 -0
  23. package/dist/audio/synth/notes.js +35 -0
  24. package/dist/audio/synth/notes.js.map +1 -0
  25. package/dist/audio/synth/types.d.ts +84 -0
  26. package/dist/audio/synth/types.d.ts.map +1 -0
  27. package/dist/audio/synth/types.js +2 -0
  28. package/dist/audio/synth/types.js.map +1 -0
  29. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  30. package/dist/aura3d-cli/cli-help.js +6 -0
  31. package/dist/aura3d-cli/cli-help.js.map +1 -1
  32. package/dist/aura3d-cli/cli.js +33 -0
  33. package/dist/aura3d-cli/cli.js.map +1 -1
  34. package/dist/aura3d-cli/commands/assets/gltfToolkit.d.ts +25 -0
  35. package/dist/aura3d-cli/commands/assets/gltfToolkit.d.ts.map +1 -0
  36. package/dist/aura3d-cli/commands/assets/gltfToolkit.js +59 -0
  37. package/dist/aura3d-cli/commands/assets/gltfToolkit.js.map +1 -0
  38. package/dist/aura3d-cli/commands/assets/importMeshy.d.ts +50 -0
  39. package/dist/aura3d-cli/commands/assets/importMeshy.d.ts.map +1 -0
  40. package/dist/aura3d-cli/commands/assets/importMeshy.js +112 -0
  41. package/dist/aura3d-cli/commands/assets/importMeshy.js.map +1 -0
  42. package/dist/aura3d-cli/commands/assets/index.d.ts +6 -0
  43. package/dist/aura3d-cli/commands/assets/index.d.ts.map +1 -0
  44. package/dist/aura3d-cli/commands/assets/index.js +54 -0
  45. package/dist/aura3d-cli/commands/assets/index.js.map +1 -0
  46. package/dist/aura3d-cli/commands/assets/mergeClips.d.ts +44 -0
  47. package/dist/aura3d-cli/commands/assets/mergeClips.d.ts.map +1 -0
  48. package/dist/aura3d-cli/commands/assets/mergeClips.js +103 -0
  49. package/dist/aura3d-cli/commands/assets/mergeClips.js.map +1 -0
  50. package/dist/aura3d-cli/commands/assets/optimize.d.ts +54 -0
  51. package/dist/aura3d-cli/commands/assets/optimize.d.ts.map +1 -0
  52. package/dist/aura3d-cli/commands/assets/optimize.js +76 -0
  53. package/dist/aura3d-cli/commands/assets/optimize.js.map +1 -0
  54. package/dist/aura3d-cli/commands/assets/optimizeVerb.d.ts +9 -0
  55. package/dist/aura3d-cli/commands/assets/optimizeVerb.d.ts.map +1 -0
  56. package/dist/aura3d-cli/commands/assets/optimizeVerb.js +40 -0
  57. package/dist/aura3d-cli/commands/assets/optimizeVerb.js.map +1 -0
  58. package/dist/aura3d-cli/commands/meshyLedger.d.ts +103 -0
  59. package/dist/aura3d-cli/commands/meshyLedger.d.ts.map +1 -0
  60. package/dist/aura3d-cli/commands/meshyLedger.js +308 -0
  61. package/dist/aura3d-cli/commands/meshyLedger.js.map +1 -0
  62. package/dist/aura3d-cli/commands/prd05/index.d.ts.map +1 -1
  63. package/dist/aura3d-cli/commands/prd05/index.js +8 -2
  64. package/dist/aura3d-cli/commands/prd05/index.js.map +1 -1
  65. package/dist/aura3d-cli/commands/registry.d.ts +1 -0
  66. package/dist/aura3d-cli/commands/registry.d.ts.map +1 -1
  67. package/dist/aura3d-cli/commands/registry.js +1 -0
  68. package/dist/aura3d-cli/commands/registry.js.map +1 -1
  69. package/dist/create-aura3d/index.js +1 -1
  70. package/dist/debug/index.d.ts +2 -0
  71. package/dist/debug/index.d.ts.map +1 -1
  72. package/dist/debug/index.js +1 -0
  73. package/dist/debug/index.js.map +1 -1
  74. package/dist/debug/safety/blackFrame.d.ts +45 -0
  75. package/dist/debug/safety/blackFrame.d.ts.map +1 -0
  76. package/dist/debug/safety/blackFrame.js +109 -0
  77. package/dist/debug/safety/blackFrame.js.map +1 -0
  78. package/dist/debug/safety/diagnosticsPanel.d.ts +53 -0
  79. package/dist/debug/safety/diagnosticsPanel.d.ts.map +1 -0
  80. package/dist/debug/safety/diagnosticsPanel.js +117 -0
  81. package/dist/debug/safety/diagnosticsPanel.js.map +1 -0
  82. package/dist/debug/safety/index.d.ts +47 -0
  83. package/dist/debug/safety/index.d.ts.map +1 -0
  84. package/dist/debug/safety/index.js +61 -0
  85. package/dist/debug/safety/index.js.map +1 -0
  86. package/dist/debug/safety/switches.d.ts +27 -0
  87. package/dist/debug/safety/switches.d.ts.map +1 -0
  88. package/dist/debug/safety/switches.js +23 -0
  89. package/dist/debug/safety/switches.js.map +1 -0
  90. package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
  91. package/dist/engine/agent-api/app/runtimeNodes.js +15 -0
  92. package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
  93. package/dist/engine/agent-api/assets/productionModels.d.ts +58 -0
  94. package/dist/engine/agent-api/assets/productionModels.d.ts.map +1 -0
  95. package/dist/engine/agent-api/assets/productionModels.js +103 -0
  96. package/dist/engine/agent-api/assets/productionModels.js.map +1 -0
  97. package/dist/engine/agent-api/compiler/customMaterial.d.ts +7 -0
  98. package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -1
  99. package/dist/engine/agent-api/compiler/customMaterial.js +20 -3
  100. package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -1
  101. package/dist/engine/agent-api/compiler/errors.d.ts +1 -1
  102. package/dist/engine/agent-api/compiler/errors.d.ts.map +1 -1
  103. package/dist/engine/agent-api/compiler/errors.js.map +1 -1
  104. package/dist/engine/agent-api/compiler/lines.d.ts.map +1 -1
  105. package/dist/engine/agent-api/compiler/lines.js +10 -1
  106. package/dist/engine/agent-api/compiler/lines.js.map +1 -1
  107. package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
  108. package/dist/engine/agent-api/compiler/renderInput.js +12 -3
  109. package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
  110. package/dist/engine/agent-api/game-kits/ballFlight.d.ts +145 -0
  111. package/dist/engine/agent-api/game-kits/ballFlight.d.ts.map +1 -0
  112. package/dist/engine/agent-api/game-kits/ballFlight.js +308 -0
  113. package/dist/engine/agent-api/game-kits/ballFlight.js.map +1 -0
  114. package/dist/engine/agent-api/game-kits/index.d.ts +9 -5
  115. package/dist/engine/agent-api/game-kits/index.d.ts.map +1 -1
  116. package/dist/engine/agent-api/game-kits/index.js +1 -0
  117. package/dist/engine/agent-api/game-kits/index.js.map +1 -1
  118. package/dist/engine/agent-api/game-kits/racketAthleteRig.d.ts +107 -0
  119. package/dist/engine/agent-api/game-kits/racketAthleteRig.d.ts.map +1 -0
  120. package/dist/engine/agent-api/game-kits/racketAthleteRig.js +178 -0
  121. package/dist/engine/agent-api/game-kits/racketAthleteRig.js.map +1 -0
  122. package/dist/engine/agent-api/game-kits/racketGeometry.d.ts +8 -0
  123. package/dist/engine/agent-api/game-kits/racketGeometry.d.ts.map +1 -0
  124. package/dist/engine/agent-api/game-kits/racketGeometry.js +73 -0
  125. package/dist/engine/agent-api/game-kits/racketGeometry.js.map +1 -0
  126. package/dist/engine/agent-api/game-kits/racketScoring.d.ts +53 -0
  127. package/dist/engine/agent-api/game-kits/racketScoring.d.ts.map +1 -0
  128. package/dist/engine/agent-api/game-kits/racketScoring.js +69 -0
  129. package/dist/engine/agent-api/game-kits/racketScoring.js.map +1 -0
  130. package/dist/engine/agent-api/game-kits/racketSports.d.ts +20 -6
  131. package/dist/engine/agent-api/game-kits/racketSports.d.ts.map +1 -1
  132. package/dist/engine/agent-api/game-kits/racketSports.js +15 -74
  133. package/dist/engine/agent-api/game-kits/racketSports.js.map +1 -1
  134. package/dist/engine/agent-api/index.d.ts +7 -0
  135. package/dist/engine/agent-api/index.d.ts.map +1 -1
  136. package/dist/engine/agent-api/index.js +5 -0
  137. package/dist/engine/agent-api/index.js.map +1 -1
  138. package/dist/engine/agent-api/nodes/batched.d.ts.map +1 -1
  139. package/dist/engine/agent-api/nodes/batched.js +63 -3
  140. package/dist/engine/agent-api/nodes/batched.js.map +1 -1
  141. package/dist/engine/agent-api/nodes/batchedState.d.ts +5 -0
  142. package/dist/engine/agent-api/nodes/batchedState.d.ts.map +1 -1
  143. package/dist/engine/agent-api/nodes/batchedState.js +10 -0
  144. package/dist/engine/agent-api/nodes/batchedState.js.map +1 -1
  145. package/dist/engine/agent-api/nodes/instances.js +1 -2
  146. package/dist/engine/agent-api/nodes/instances.js.map +1 -1
  147. package/dist/engine/agent-api/nodes/lines.d.ts.map +1 -1
  148. package/dist/engine/agent-api/nodes/lines.js +2 -1
  149. package/dist/engine/agent-api/nodes/lines.js.map +1 -1
  150. package/dist/engine/agent-api/nodes/mergeStatic.d.ts +26 -0
  151. package/dist/engine/agent-api/nodes/mergeStatic.d.ts.map +1 -0
  152. package/dist/engine/agent-api/nodes/mergeStatic.js +126 -0
  153. package/dist/engine/agent-api/nodes/mergeStatic.js.map +1 -0
  154. package/dist/engine/agent-api/nodes/scatter.d.ts +116 -0
  155. package/dist/engine/agent-api/nodes/scatter.d.ts.map +1 -0
  156. package/dist/engine/agent-api/nodes/scatter.js +211 -0
  157. package/dist/engine/agent-api/nodes/scatter.js.map +1 -0
  158. package/dist/engine/agent-api/nodes/scene.d.ts +9 -1
  159. package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
  160. package/dist/engine/agent-api/nodes/scene.js +28 -2
  161. package/dist/engine/agent-api/nodes/scene.js.map +1 -1
  162. package/dist/engine/agent-api/sceneMath.d.ts +6 -0
  163. package/dist/engine/agent-api/sceneMath.d.ts.map +1 -1
  164. package/dist/engine/agent-api/sceneMath.js +6 -2
  165. package/dist/engine/agent-api/sceneMath.js.map +1 -1
  166. package/dist/engine/contracts/stubs/game.d.ts +0 -8
  167. package/dist/engine/contracts/stubs/game.d.ts.map +1 -1
  168. package/dist/engine/contracts/stubs/game.js +6 -0
  169. package/dist/engine/contracts/stubs/game.js.map +1 -1
  170. package/dist/engine/deprecated/advanced-runtime.js +2 -2
  171. package/dist/engine/deprecated/apps.js +2 -2
  172. package/dist/engine/deprecated/assets-browser.js +2 -2
  173. package/dist/engine/deprecated/contracts.js +2 -2
  174. package/dist/engine/deprecated/media-node.js +2 -2
  175. package/dist/engine/deprecated/production-runtime.js +2 -2
  176. package/dist/engine/deprecated/rendering-production-runtime.js +2 -2
  177. package/dist/engine/deprecated/rendering-webgpu.js +2 -2
  178. package/dist/engine/deprecated/rendering.js +2 -2
  179. package/dist/engine/deprecated/workflows-production.js +2 -2
  180. package/dist/engine/index.d.ts +1 -0
  181. package/dist/engine/index.d.ts.map +1 -1
  182. package/dist/engine/index.js +1 -0
  183. package/dist/engine/index.js.map +1 -1
  184. package/dist/engine/instances-model/InstancedModel.d.ts.map +1 -1
  185. package/dist/engine/instances-model/InstancedModel.js +2 -5
  186. package/dist/engine/instances-model/InstancedModel.js.map +1 -1
  187. package/dist/engine/production-runtime/TypedGLBActor.d.ts +6 -0
  188. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  189. package/dist/engine/production-runtime/TypedGLBActor.js +8 -1
  190. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  191. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts +38 -0
  192. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts.map +1 -0
  193. package/dist/engine/production-runtime/actor/ModelTextureShare.js +65 -0
  194. package/dist/engine/production-runtime/actor/ModelTextureShare.js.map +1 -0
  195. package/dist/engine/public/index.d.ts +71 -67
  196. package/dist/engine/public/index.d.ts.map +1 -1
  197. package/dist/engine/public/index.js +59 -54
  198. package/dist/engine/public/index.js.map +1 -1
  199. package/dist/engine/qa/countedRng.d.ts +16 -0
  200. package/dist/engine/qa/countedRng.d.ts.map +1 -0
  201. package/dist/engine/qa/countedRng.js +40 -0
  202. package/dist/engine/qa/countedRng.js.map +1 -0
  203. package/dist/engine/qa/fixedStepLoop.d.ts +43 -0
  204. package/dist/engine/qa/fixedStepLoop.d.ts.map +1 -0
  205. package/dist/engine/qa/fixedStepLoop.js +83 -0
  206. package/dist/engine/qa/fixedStepLoop.js.map +1 -0
  207. package/dist/engine/qa/hooks.d.ts +80 -0
  208. package/dist/engine/qa/hooks.d.ts.map +1 -0
  209. package/dist/engine/qa/hooks.js +95 -0
  210. package/dist/engine/qa/hooks.js.map +1 -0
  211. package/dist/engine/qa/index.d.ts +10 -0
  212. package/dist/engine/qa/index.d.ts.map +1 -0
  213. package/dist/engine/qa/index.js +6 -0
  214. package/dist/engine/qa/index.js.map +1 -0
  215. package/dist/engine/qa/params.d.ts +38 -0
  216. package/dist/engine/qa/params.d.ts.map +1 -0
  217. package/dist/engine/qa/params.js +35 -0
  218. package/dist/engine/qa/params.js.map +1 -0
  219. package/dist/game/capture/captureFromUrl.d.ts +1 -1
  220. package/dist/game/capture/captureFromUrl.d.ts.map +1 -1
  221. package/dist/game/capture/index.d.ts +1 -1
  222. package/dist/game/capture/index.d.ts.map +1 -1
  223. package/dist/game/components.d.ts +1 -1
  224. package/dist/game/components.d.ts.map +1 -1
  225. package/dist/game/createGame.d.ts +1 -1
  226. package/dist/game/createGame.d.ts.map +1 -1
  227. package/dist/game/createGame.js +1 -1
  228. package/dist/game/createGame.js.map +1 -1
  229. package/dist/game/evidence/beacon.d.ts +1 -1
  230. package/dist/game/evidence/beacon.d.ts.map +1 -1
  231. package/dist/game/flagDefault.d.ts +8 -0
  232. package/dist/game/flagDefault.d.ts.map +1 -0
  233. package/dist/game/flagDefault.js +28 -0
  234. package/dist/game/flagDefault.js.map +1 -0
  235. package/dist/game/index.d.ts +4 -2
  236. package/dist/game/index.d.ts.map +1 -1
  237. package/dist/game/index.js +10 -3
  238. package/dist/game/index.js.map +1 -1
  239. package/dist/game/input/bindingStore.d.ts +87 -0
  240. package/dist/game/input/bindingStore.d.ts.map +1 -0
  241. package/dist/game/input/bindingStore.js +164 -0
  242. package/dist/game/input/bindingStore.js.map +1 -0
  243. package/dist/game/session/GameSession.d.ts +2 -2
  244. package/dist/game/session/GameSession.d.ts.map +1 -1
  245. package/dist/game/session/GameSession.js +1 -1
  246. package/dist/game/session/GameSession.js.map +1 -1
  247. package/dist/rendering/ForwardPass.d.ts +5 -0
  248. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  249. package/dist/rendering/ForwardPass.js +13 -3
  250. package/dist/rendering/ForwardPass.js.map +1 -1
  251. package/dist/rendering/MaterialBinding.d.ts.map +1 -1
  252. package/dist/rendering/MaterialBinding.js +11 -1
  253. package/dist/rendering/MaterialBinding.js.map +1 -1
  254. package/dist/rendering/Renderer.d.ts +8 -0
  255. package/dist/rendering/Renderer.d.ts.map +1 -1
  256. package/dist/rendering/Renderer.js +7 -0
  257. package/dist/rendering/Renderer.js.map +1 -1
  258. package/dist/rendering/ShaderLibrary.js +5 -5
  259. package/dist/rendering/ShaderLibraryCore.js +1 -1
  260. package/dist/rendering/WebGPUDevice.js +1 -1
  261. package/dist/rendering/index.d.ts +1 -0
  262. package/dist/rendering/index.d.ts.map +1 -1
  263. package/dist/rendering/index.js +1 -0
  264. package/dist/rendering/index.js.map +1 -1
  265. package/dist/rendering/output/ToneMappingOperators.glsl.d.ts +1 -1
  266. package/dist/rendering/output/ToneMappingOperators.glsl.d.ts.map +1 -1
  267. package/dist/rendering/output/ToneMappingOperators.glsl.js +2 -0
  268. package/dist/rendering/output/ToneMappingOperators.glsl.js.map +1 -1
  269. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts +2 -2
  270. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
  271. package/dist/rendering/program/chunks/shadow_forward.glsl.js +1 -1
  272. package/dist/rendering/shaders/chunks/author/colorspace.glsl.d.ts +8 -0
  273. package/dist/rendering/shaders/chunks/author/colorspace.glsl.d.ts.map +1 -0
  274. package/dist/rendering/shaders/chunks/author/colorspace.glsl.js +20 -0
  275. package/dist/rendering/shaders/chunks/author/colorspace.glsl.js.map +1 -0
  276. package/dist/rendering/shaders/chunks/author/fog.glsl.d.ts +3 -0
  277. package/dist/rendering/shaders/chunks/author/fog.glsl.d.ts.map +1 -0
  278. package/dist/rendering/shaders/chunks/author/fog.glsl.js +18 -0
  279. package/dist/rendering/shaders/chunks/author/fog.glsl.js.map +1 -0
  280. package/dist/rendering/shaders/chunks/author/index.d.ts +16 -0
  281. package/dist/rendering/shaders/chunks/author/index.d.ts.map +1 -0
  282. package/dist/rendering/shaders/chunks/author/index.js +77 -0
  283. package/dist/rendering/shaders/chunks/author/index.js.map +1 -0
  284. package/dist/rendering/shaders/chunks/author/math.glsl.d.ts +3 -0
  285. package/dist/rendering/shaders/chunks/author/math.glsl.d.ts.map +1 -0
  286. package/dist/rendering/shaders/chunks/author/math.glsl.js +43 -0
  287. package/dist/rendering/shaders/chunks/author/math.glsl.js.map +1 -0
  288. package/dist/rendering/shaders/chunks/author/noise.glsl.d.ts +3 -0
  289. package/dist/rendering/shaders/chunks/author/noise.glsl.d.ts.map +1 -0
  290. package/dist/rendering/shaders/chunks/author/noise.glsl.js +94 -0
  291. package/dist/rendering/shaders/chunks/author/noise.glsl.js.map +1 -0
  292. package/dist/rendering/shaders/chunks/author/sky.glsl.d.ts +3 -0
  293. package/dist/rendering/shaders/chunks/author/sky.glsl.d.ts.map +1 -0
  294. package/dist/rendering/shaders/chunks/author/sky.glsl.js +28 -0
  295. package/dist/rendering/shaders/chunks/author/sky.glsl.js.map +1 -0
  296. package/dist/rendering/shaders/chunks/author/toon.glsl.d.ts +3 -0
  297. package/dist/rendering/shaders/chunks/author/toon.glsl.d.ts.map +1 -0
  298. package/dist/rendering/shaders/chunks/author/toon.glsl.js +21 -0
  299. package/dist/rendering/shaders/chunks/author/toon.glsl.js.map +1 -0
  300. package/dist/rendering/shaders/chunks/author/triplanar.glsl.d.ts +3 -0
  301. package/dist/rendering/shaders/chunks/author/triplanar.glsl.d.ts.map +1 -0
  302. package/dist/rendering/shaders/chunks/author/triplanar.glsl.js +14 -0
  303. package/dist/rendering/shaders/chunks/author/triplanar.glsl.js.map +1 -0
  304. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  305. package/dist/rendering/webgl2/LegacyPost.js +3 -2
  306. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  307. package/package.json +33 -26
  308. package/templates/cinematic-scene/package.json +2 -2
  309. package/templates/mini-game/package.json +2 -2
  310. package/templates/product-viewer/package.json +2 -2
  311. package/templates/production-asset-inspector/package.json +1 -1
  312. package/templates/production-material-studio/package.json +1 -1
  313. package/templates/production-product-configurator/package.json +1 -1
  314. package/templates/production-product-viewer/package.json +1 -1
@@ -0,0 +1,87 @@
1
+ /**
2
+ * createBindingStore: validated, persisted, rebindable input bindings for games (keyboard primary + optional alternate
3
+ * keys, controller buttons), with reserved keys and conflict detection. Extracted from the Aura Slam 3D controls store
4
+ * (controls.js), which it reproduces exactly when configured with that game's actions.
5
+ *
6
+ * Pure: no DOM; storage is injected (`localStorage` in a browser). Corrupt, wrong-version or invalid stored data falls
7
+ * back to the defaults per device; write failures never throw and are reported as `saved: false`.
8
+ *
9
+ * TODO(WP-1): export through the public `@aura3d/engine/game` subpath once the game kit is published.
10
+ */
11
+ export interface BindingStorage {
12
+ getItem(key: string): string | null;
13
+ setItem?(key: string, value: string): void;
14
+ }
15
+ export interface BindingActionDefinition {
16
+ readonly id: string;
17
+ readonly label: string;
18
+ readonly description?: string;
19
+ }
20
+ export type KeyBinding = readonly [primary: string, alternate: string | null];
21
+ export type ButtonBinding = number;
22
+ export interface BindingDeviceConfig {
23
+ /** `keys`: each action has `[primary, alternate | null]`; `buttons`: each action has one button index. */
24
+ readonly kind: "keys" | "buttons";
25
+ readonly actions: readonly BindingActionDefinition[];
26
+ readonly defaults: Readonly<Record<string, KeyBinding | ButtonBinding>>;
27
+ /** Keys (or button indices as strings) that can never be assigned, with the message to show. */
28
+ readonly reserved?: Readonly<Record<string, string>>;
29
+ /** Display names for non-letter keys, e.g. `{ Space: "Space", ArrowLeft: "Left arrow" }`. Also whitelists them. */
30
+ readonly namedKeys?: Readonly<Record<string, string>>;
31
+ /** Extra key predicate; the default allows KeyA-Z, Digit0-9, Numpad0-9 and every `namedKeys` entry. */
32
+ readonly allowedKey?: (code: string) => boolean;
33
+ /** Button predicate; the default allows integers 0..15. */
34
+ readonly allowedButton?: (index: number) => boolean;
35
+ /** Names for button indices (e.g. an Xbox and a PlayStation table) chosen by `labelFor(..., { variant })`. */
36
+ readonly buttonNames?: Readonly<Record<string, readonly string[]>>;
37
+ }
38
+ export interface BindingError {
39
+ readonly action: string | null;
40
+ readonly input: string | number | null;
41
+ readonly message: string;
42
+ }
43
+ export interface BindingValidation {
44
+ readonly valid: boolean;
45
+ readonly errors: BindingError[];
46
+ }
47
+ export interface BindingApplyResult {
48
+ readonly ok: boolean;
49
+ readonly saved: boolean;
50
+ readonly errors: BindingError[];
51
+ }
52
+ export type BindingProfile = Readonly<Record<string, KeyBinding | ButtonBinding>>;
53
+ export type BindingListener = (event: {
54
+ device: string;
55
+ bindings: BindingProfile | null;
56
+ saved: boolean;
57
+ }) => void;
58
+ export interface BindingStoreOptions {
59
+ readonly devices: Readonly<Record<string, BindingDeviceConfig>>;
60
+ readonly storageKey: string;
61
+ readonly version: number;
62
+ readonly storage?: BindingStorage | null;
63
+ }
64
+ export interface BindingStore {
65
+ devices(): string[];
66
+ actions(device: string): BindingActionDefinition[];
67
+ defaults(device: string): BindingProfile | null;
68
+ getBindings(device: string): BindingProfile | null;
69
+ validate(device: string, profile: unknown): BindingValidation;
70
+ apply(device: string, profile: unknown): BindingApplyResult;
71
+ /** Which action a key code triggers on a `keys` device (the first one by default). */
72
+ actionForKey(code: unknown, device?: string): string | null;
73
+ isDown(action: string, keys: {
74
+ readonly [code: string]: boolean | undefined;
75
+ } | null | undefined, device?: string): boolean;
76
+ buttonFor(action: string, device?: string): number | null;
77
+ labelFor(action: string, device?: string, options?: {
78
+ all?: boolean;
79
+ variant?: string;
80
+ }): string;
81
+ labelInput(input: unknown, device: string, options?: {
82
+ variant?: string;
83
+ }): string;
84
+ subscribe(listener: BindingListener): () => void;
85
+ }
86
+ export declare function createBindingStore(options: BindingStoreOptions): BindingStore;
87
+ //# sourceMappingURL=bindingStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindingStore.d.ts","sourceRoot":"","sources":["../../../../../packages/game/src/input/bindingStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAAG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AAEnH,MAAM,WAAW,uBAAuB;IAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;AAEvH,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,mBAAmB;IAClC,0GAA0G;IAC1G,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC;IACxE,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,mHAAmH;IACnH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,uGAAuG;IACvG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,8GAA8G;IAC9G,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,YAAY;IAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAClI,MAAM,WAAW,iBAAiB;IAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE;AAC/F,MAAM,WAAW,kBAAkB;IAAG,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE;AACtH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,KAAK,IAAI,CAAC;AAEnH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAChD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAC9D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAAC;IAC5D,sFAAsF;IACtF,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5H,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACjG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACnF,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAAC;CAClD;AAKD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA6H7E"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * createBindingStore: validated, persisted, rebindable input bindings for games (keyboard primary + optional alternate
3
+ * keys, controller buttons), with reserved keys and conflict detection. Extracted from the Aura Slam 3D controls store
4
+ * (controls.js), which it reproduces exactly when configured with that game's actions.
5
+ *
6
+ * Pure: no DOM; storage is injected (`localStorage` in a browser). Corrupt, wrong-version or invalid stored data falls
7
+ * back to the defaults per device; write failures never throw and are reported as `saved: false`.
8
+ *
9
+ * TODO(WP-1): export through the public `@aura3d/engine/game` subpath once the game kit is published.
10
+ */
11
+ const hasOwn = (target, key) => Object.prototype.hasOwnProperty.call(target, key);
12
+ const DEFAULT_KEY = /^(Key[A-Z]|Digit[0-9]|Numpad[0-9])$/;
13
+ export function createBindingStore(options) {
14
+ const { devices: configs, storageKey, version, storage } = options;
15
+ const known = (device) => typeof device === "string" && hasOwn(configs, device);
16
+ const clone = (device, profile) => Object.fromEntries(configs[device].actions.map(({ id }) => [id, configs[device].kind === "keys" ? [...profile[id]] : profile[id]]));
17
+ const allowedKey = (config, code) => typeof code === "string" && !(config.reserved && hasOwn(config.reserved, code))
18
+ && (DEFAULT_KEY.test(code) || Boolean(config.namedKeys && hasOwn(config.namedKeys, code)) || Boolean(config.allowedKey?.(code)));
19
+ const allowedButton = (config, index) => typeof index === "number" && Number.isInteger(index) && !(config.reserved && hasOwn(config.reserved, String(index)))
20
+ && (config.allowedButton ? config.allowedButton(index) : index >= 0 && index <= 15);
21
+ function labelInput(input, device, labelOptions = {}) {
22
+ if (input === null || input === undefined)
23
+ return "Unassigned";
24
+ const config = configs[device];
25
+ if (!config)
26
+ return String(input);
27
+ if (config.kind === "buttons") {
28
+ const names = config.buttonNames?.[labelOptions.variant ?? "default"] ?? config.buttonNames?.default;
29
+ return names?.[input] || `Button ${String(input)}`;
30
+ }
31
+ if (typeof input !== "string")
32
+ return String(input);
33
+ if (config.namedKeys && hasOwn(config.namedKeys, input))
34
+ return config.namedKeys[input];
35
+ if (/^Key[A-Z]$/.test(input))
36
+ return input.slice(3);
37
+ if (/^Digit[0-9]$/.test(input))
38
+ return input.slice(5);
39
+ if (/^Numpad[0-9]$/.test(input))
40
+ return `Numpad ${input.slice(6)}`;
41
+ return input;
42
+ }
43
+ function validate(device, profile) {
44
+ const errors = [];
45
+ const fail = (action, input, message) => { errors.push({ action, input, message }); };
46
+ if (!known(device))
47
+ return { valid: false, errors: [{ action: null, input: null, message: "Unknown control device." }] };
48
+ if (!profile || typeof profile !== "object" || Array.isArray(profile))
49
+ return { valid: false, errors: [{ action: null, input: null, message: "The control profile must contain every action." }] };
50
+ const config = configs[device];
51
+ const record = profile;
52
+ const ids = new Set(config.actions.map(({ id }) => id));
53
+ for (const id of Object.keys(record))
54
+ if (!ids.has(id))
55
+ fail(id, null, "Unknown control action.");
56
+ const used = new Map();
57
+ const keys = config.kind === "keys";
58
+ for (const { id, label } of config.actions) {
59
+ if (!hasOwn(record, id)) {
60
+ fail(id, null, `${label} requires a binding.`);
61
+ continue;
62
+ }
63
+ const value = record[id];
64
+ if (keys && (!Array.isArray(value) || value.length !== 2)) {
65
+ fail(id, null, `${label} needs a primary key and an optional alternate key.`);
66
+ continue;
67
+ }
68
+ const inputs = keys ? value : [value];
69
+ for (let slot = 0; slot < inputs.length; slot++) {
70
+ const input = inputs[slot];
71
+ if (keys && slot === 1 && input === null)
72
+ continue;
73
+ if (input === null || input === undefined || input === "") {
74
+ fail(id, (input ?? null), slot === 0 ? `${label} requires a primary ${keys ? "key" : "button"}.` : "Use a key or leave the alternate unassigned.");
75
+ continue;
76
+ }
77
+ if (!(keys ? allowedKey(config, input) : allowedButton(config, input))) {
78
+ const reservedMessage = typeof input === "string" || typeof input === "number" ? config.reserved?.[String(input)] : undefined;
79
+ fail(id, input, reservedMessage || `${labelInput(input, device)} cannot be assigned. This input is reserved or unsupported.`);
80
+ continue;
81
+ }
82
+ const previous = used.get(input);
83
+ if (previous)
84
+ fail(id, input, `${labelInput(input, device)} is already assigned to ${previous}.`);
85
+ else
86
+ used.set(input, label);
87
+ }
88
+ }
89
+ return { valid: errors.length === 0, errors };
90
+ }
91
+ const profiles = {};
92
+ for (const device of Object.keys(configs))
93
+ profiles[device] = clone(device, configs[device].defaults);
94
+ const listeners = new Set();
95
+ try {
96
+ const stored = JSON.parse(storage?.getItem(storageKey) || "null");
97
+ if (stored && stored.version === version) {
98
+ for (const device of Object.keys(configs)) {
99
+ if (validate(device, stored[device]).valid)
100
+ profiles[device] = clone(device, stored[device]);
101
+ }
102
+ }
103
+ }
104
+ catch { /* corrupt or unavailable storage keeps the defaults */ }
105
+ const getBindings = (device) => (known(device) ? clone(device, profiles[device]) : null);
106
+ const firstOf = (kind) => Object.keys(configs).find((d) => configs[d].kind === kind);
107
+ function apply(device, profile) {
108
+ const validation = validate(device, profile);
109
+ if (!validation.valid)
110
+ return { ok: false, saved: false, errors: validation.errors };
111
+ profiles[device] = clone(device, profile);
112
+ let saved = false;
113
+ try {
114
+ if (typeof storage?.setItem === "function") {
115
+ storage.setItem(storageKey, JSON.stringify({ version, ...profiles }));
116
+ saved = true;
117
+ }
118
+ }
119
+ catch { /* storage may be full or blocked: bindings still apply for this session */ }
120
+ for (const listener of listeners) {
121
+ try {
122
+ listener({ device, bindings: getBindings(device), saved });
123
+ }
124
+ catch { /* a listener never breaks others */ }
125
+ }
126
+ return { ok: true, saved, errors: [] };
127
+ }
128
+ return Object.freeze({
129
+ devices: () => Object.keys(configs),
130
+ actions: (device) => (known(device) ? configs[device].actions.map((a) => ({ ...a })) : []),
131
+ defaults: (device) => (known(device) ? clone(device, configs[device].defaults) : null),
132
+ getBindings, validate, apply,
133
+ actionForKey(code, device = firstOf("keys")) {
134
+ if (typeof code !== "string" || !device || !known(device))
135
+ return null;
136
+ const found = configs[device].actions.find(({ id }) => profiles[device][id].includes(code));
137
+ return found?.id ?? null;
138
+ },
139
+ isDown(action, keys, device = firstOf("keys")) {
140
+ if (!device || !known(device))
141
+ return false;
142
+ const profile = profiles[device];
143
+ return hasOwn(profile, action) && profile[action].some((code) => code !== null && Boolean(keys?.[code]));
144
+ },
145
+ buttonFor(action, device = firstOf("buttons")) {
146
+ if (!device || !known(device))
147
+ return null;
148
+ const profile = profiles[device];
149
+ return hasOwn(profile, action) ? profile[action] : null;
150
+ },
151
+ labelFor(action, device = firstOf("keys"), labelOptions = {}) {
152
+ if (!device || !known(device) || !hasOwn(profiles[device], action))
153
+ return "Unassigned";
154
+ const config = configs[device];
155
+ const value = profiles[device][action];
156
+ const inputs = config.kind === "keys" ? value.filter((input) => input !== null) : [value];
157
+ return (labelOptions.all ? inputs : inputs.slice(0, 1)).map((input) => labelInput(input, device, labelOptions)).join(" / ");
158
+ },
159
+ labelInput,
160
+ subscribe(listener) { if (typeof listener !== "function")
161
+ return () => undefined; listeners.add(listener); return () => { listeners.delete(listener); }; },
162
+ });
163
+ }
164
+ //# sourceMappingURL=bindingStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindingStore.js","sourceRoot":"","sources":["../../../../../packages/game/src/input/bindingStore.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@
7
7
  * freeze sets expiring on REAL time, and slow-mo ramping through the
8
8
  * controller. Session state never depends on capture flags.
9
9
  */
10
- import { type AuraTimeController } from "../../engine/contracts/index.js";
11
- import type { GameSession, GameSessionState, PauseReason } from "../../engine/contracts/index.js";
10
+ import { type AuraTimeController } from "../../engine/index.js";
11
+ import type { GameSession, GameSessionState, PauseReason } from "../../engine/index.js";
12
12
  export type SessionEvent = "state" | "pause" | "resume" | "settings";
13
13
  export interface GameSessionOptions {
14
14
  readonly seed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"GameSession.d.ts","sourceRoot":"","sources":["../../../../../packages/game/src/session/GameSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameSession.d.ts","sourceRoot":"","sources":["../../../../../packages/game/src/session/GameSession.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * freeze sets expiring on REAL time, and slow-mo ramping through the
8
8
  * controller. Session state never depends on capture flags.
9
9
  */
10
- import { StubTimeController } from "../../engine/contracts/index.js";
10
+ import { StubTimeController } from "../../engine/index.js";
11
11
  /** Transitions legal per §7.3; everything else throws. */
12
12
  const LEGAL = {
13
13
  booting: ["loading", "disposed"],
@@ -1 +1 @@
1
- {"version":3,"file":"GameSession.js","sourceRoot":"","sources":["../../../../../packages/game/src/session/GameSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameSession.js","sourceRoot":"","sources":["../../../../../packages/game/src/session/GameSession.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,11 @@ export interface ForwardPassOptions {
93
93
  * wiring Q-15-*); defaults to the High tier when unset.
94
94
  */
95
95
  readonly qualityTier?: AuraQualityTierSettings;
96
+ /** `material.custom` view/projection built-ins when the camera only exposed a combined view-projection (see `CameraLike.shaderViewMatrix`). */
97
+ readonly customFrameCamera?: {
98
+ readonly viewMatrix?: Float32Array | readonly number[];
99
+ readonly projectionMatrix?: Float32Array | readonly number[];
100
+ };
96
101
  /** C-08: fields of the AuraFrame UBO the options above do not already carry. */
97
102
  readonly auraFrameCamera?: {
98
103
  readonly projectionMatrix?: Float32Array | readonly number[];
@@ -1 +1 @@
1
- {"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
@@ -119,7 +119,7 @@ export class ForwardPass extends BaseRenderPass {
119
119
  context.device.bindUniformBuffer?.(auraFrame.buffer, 0);
120
120
  }
121
121
  try {
122
- for (const item of sortForwardRenderItems(this.options.items, this.options.cameraPosition)) {
122
+ for (const item of sortForwardRenderItems(this.options.items.filter(hasDrawableInstances), this.options.cameraPosition)) {
123
123
  this.drawItem(context.device, item);
124
124
  }
125
125
  // #181: issue any trailing multi-draw run deferred by `submitDraw`.
@@ -131,6 +131,9 @@ export class ForwardPass extends BaseRenderPass {
131
131
  }
132
132
  }
133
133
  drawItem(device, item) {
134
+ // An instanced item with zero instances draws nothing (never a contract throw that blanks the frame).
135
+ if (item.instanceTransforms !== undefined && item.instanceTransforms.length === 0)
136
+ return;
134
137
  // threejs-parity L7/SG-09: three's Object3D.onBeforeRender fires
135
138
  // immediately before the draw call.
136
139
  item.onBeforeRender?.(item);
@@ -264,6 +267,9 @@ export class ForwardPass extends BaseRenderPass {
264
267
  const vertexBuffer = geometry.vertexBuffer.upload(device);
265
268
  const indexBuffer = geometry.indexBuffer?.upload(device);
266
269
  const drawRange = resolveDrawRange(geometry, item.drawRange);
270
+ // three's setDrawRange(0, 0) draws nothing; the device rejects zero-count draws, so skip here.
271
+ if (drawRange.count === 0)
272
+ return;
267
273
  const pipeline = this.pipelineFor(device, item, baseMaterial, shader, geometry);
268
274
  submitDraw(device, pipeline, geometry, instanceBinding.count, drawRange, { item, vertexBuffer, indexBuffer, drawRange, uniforms, instanceBinding });
269
275
  }
@@ -1565,10 +1571,10 @@ function applyCustomShaderFrameUniforms(options, frameWidth, frameHeight, shader
1565
1571
  uniforms.set("u_resolution", [Math.max(1, frameWidth), Math.max(1, frameHeight)]);
1566
1572
  }
1567
1573
  if (reflected.has("u_viewMatrix") && !uniforms.has("u_viewMatrix")) {
1568
- uniforms.set("u_viewMatrix", toMat4Uniform(options.cameraViewMatrix ?? identityMatrix(), "cameraViewMatrix"));
1574
+ uniforms.set("u_viewMatrix", toMat4Uniform(options.customFrameCamera?.viewMatrix ?? options.cameraViewMatrix ?? identityMatrix(), "cameraViewMatrix"));
1569
1575
  }
1570
1576
  if (reflected.has("u_projectionMatrix") && !uniforms.has("u_projectionMatrix")) {
1571
- uniforms.set("u_projectionMatrix", toMat4Uniform(options.auraFrameCamera?.projectionMatrix ?? identityMatrix(), "auraFrameCamera.projectionMatrix"));
1577
+ uniforms.set("u_projectionMatrix", toMat4Uniform(options.customFrameCamera?.projectionMatrix ?? options.auraFrameCamera?.projectionMatrix ?? identityMatrix(), "auraFrameCamera.projectionMatrix"));
1572
1578
  }
1573
1579
  }
1574
1580
  export function toMat4Uniform(value, field, label) {
@@ -1818,6 +1824,10 @@ function validateInstanceAttributeDescriptor(descriptor, instanceCount, label) {
1818
1824
  * Width is a multiple of four so no matrix straddles a row boundary, which keeps the
1819
1825
  * shader's texel addressing a simple divide and avoids per-column row recomputation.
1820
1826
  */
1827
+ /** An instanced item with zero instances draws nothing; it must never reach sorting/validation (a throw blanks the frame). */
1828
+ function hasDrawableInstances(item) {
1829
+ return item.instanceTransforms === undefined || item.instanceTransforms.length > 0;
1830
+ }
1821
1831
  function validateInstanceTransformSource(item) {
1822
1832
  const source = item.instanceTransforms ?? [];
1823
1833
  if (source.length === 0 || source.length % 16 !== 0) {