@aura3d/engine 4.0.8 → 4.1.1

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 (329) 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 +119 -0
  75. package/dist/debug/safety/blackFrame.d.ts.map +1 -0
  76. package/dist/debug/safety/blackFrame.js +326 -0
  77. package/dist/debug/safety/blackFrame.js.map +1 -0
  78. package/dist/debug/safety/diagnosticsPanel.d.ts +70 -0
  79. package/dist/debug/safety/diagnosticsPanel.d.ts.map +1 -0
  80. package/dist/debug/safety/diagnosticsPanel.js +123 -0
  81. package/dist/debug/safety/diagnosticsPanel.js.map +1 -0
  82. package/dist/debug/safety/guard.d.ts +51 -0
  83. package/dist/debug/safety/guard.d.ts.map +1 -0
  84. package/dist/debug/safety/guard.js +64 -0
  85. package/dist/debug/safety/guard.js.map +1 -0
  86. package/dist/debug/safety/index.d.ts +50 -0
  87. package/dist/debug/safety/index.d.ts.map +1 -0
  88. package/dist/debug/safety/index.js +71 -0
  89. package/dist/debug/safety/index.js.map +1 -0
  90. package/dist/debug/safety/switches.d.ts +27 -0
  91. package/dist/debug/safety/switches.d.ts.map +1 -0
  92. package/dist/debug/safety/switches.js +23 -0
  93. package/dist/debug/safety/switches.js.map +1 -0
  94. package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
  95. package/dist/engine/agent-api/app/createAuraApp.js +6 -0
  96. package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
  97. package/dist/engine/agent-api/app/frameLoop.d.ts +1 -1
  98. package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
  99. package/dist/engine/agent-api/app/frameLoop.js +8 -1
  100. package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
  101. package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
  102. package/dist/engine/agent-api/app/runtimeNodes.js +15 -0
  103. package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
  104. package/dist/engine/agent-api/assets/productionModels.d.ts +58 -0
  105. package/dist/engine/agent-api/assets/productionModels.d.ts.map +1 -0
  106. package/dist/engine/agent-api/assets/productionModels.js +103 -0
  107. package/dist/engine/agent-api/assets/productionModels.js.map +1 -0
  108. package/dist/engine/agent-api/compiler/customMaterial.d.ts +12 -0
  109. package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -1
  110. package/dist/engine/agent-api/compiler/customMaterial.js +23 -17
  111. package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -1
  112. package/dist/engine/agent-api/compiler/errors.d.ts +1 -1
  113. package/dist/engine/agent-api/compiler/errors.d.ts.map +1 -1
  114. package/dist/engine/agent-api/compiler/errors.js.map +1 -1
  115. package/dist/engine/agent-api/compiler/lines.d.ts.map +1 -1
  116. package/dist/engine/agent-api/compiler/lines.js +10 -1
  117. package/dist/engine/agent-api/compiler/lines.js.map +1 -1
  118. package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
  119. package/dist/engine/agent-api/compiler/renderInput.js +8 -0
  120. package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
  121. package/dist/engine/agent-api/diagnostics.d.ts +5 -0
  122. package/dist/engine/agent-api/diagnostics.d.ts.map +1 -1
  123. package/dist/engine/agent-api/diagnostics.js +15 -1
  124. package/dist/engine/agent-api/diagnostics.js.map +1 -1
  125. package/dist/engine/agent-api/game-kits/ballFlight.d.ts +145 -0
  126. package/dist/engine/agent-api/game-kits/ballFlight.d.ts.map +1 -0
  127. package/dist/engine/agent-api/game-kits/ballFlight.js +308 -0
  128. package/dist/engine/agent-api/game-kits/ballFlight.js.map +1 -0
  129. package/dist/engine/agent-api/game-kits/index.d.ts +9 -5
  130. package/dist/engine/agent-api/game-kits/index.d.ts.map +1 -1
  131. package/dist/engine/agent-api/game-kits/index.js +1 -0
  132. package/dist/engine/agent-api/game-kits/index.js.map +1 -1
  133. package/dist/engine/agent-api/game-kits/racketAthleteRig.d.ts +107 -0
  134. package/dist/engine/agent-api/game-kits/racketAthleteRig.d.ts.map +1 -0
  135. package/dist/engine/agent-api/game-kits/racketAthleteRig.js +178 -0
  136. package/dist/engine/agent-api/game-kits/racketAthleteRig.js.map +1 -0
  137. package/dist/engine/agent-api/game-kits/racketGeometry.d.ts +8 -0
  138. package/dist/engine/agent-api/game-kits/racketGeometry.d.ts.map +1 -0
  139. package/dist/engine/agent-api/game-kits/racketGeometry.js +73 -0
  140. package/dist/engine/agent-api/game-kits/racketGeometry.js.map +1 -0
  141. package/dist/engine/agent-api/game-kits/racketScoring.d.ts +53 -0
  142. package/dist/engine/agent-api/game-kits/racketScoring.d.ts.map +1 -0
  143. package/dist/engine/agent-api/game-kits/racketScoring.js +69 -0
  144. package/dist/engine/agent-api/game-kits/racketScoring.js.map +1 -0
  145. package/dist/engine/agent-api/game-kits/racketSports.d.ts +20 -6
  146. package/dist/engine/agent-api/game-kits/racketSports.d.ts.map +1 -1
  147. package/dist/engine/agent-api/game-kits/racketSports.js +15 -74
  148. package/dist/engine/agent-api/game-kits/racketSports.js.map +1 -1
  149. package/dist/engine/agent-api/index.d.ts +7 -0
  150. package/dist/engine/agent-api/index.d.ts.map +1 -1
  151. package/dist/engine/agent-api/index.js +5 -0
  152. package/dist/engine/agent-api/index.js.map +1 -1
  153. package/dist/engine/agent-api/nodes/batched.d.ts.map +1 -1
  154. package/dist/engine/agent-api/nodes/batched.js +63 -3
  155. package/dist/engine/agent-api/nodes/batched.js.map +1 -1
  156. package/dist/engine/agent-api/nodes/batchedState.d.ts +5 -0
  157. package/dist/engine/agent-api/nodes/batchedState.d.ts.map +1 -1
  158. package/dist/engine/agent-api/nodes/batchedState.js +10 -0
  159. package/dist/engine/agent-api/nodes/batchedState.js.map +1 -1
  160. package/dist/engine/agent-api/nodes/instances.js +1 -2
  161. package/dist/engine/agent-api/nodes/instances.js.map +1 -1
  162. package/dist/engine/agent-api/nodes/lines.d.ts.map +1 -1
  163. package/dist/engine/agent-api/nodes/lines.js +2 -1
  164. package/dist/engine/agent-api/nodes/lines.js.map +1 -1
  165. package/dist/engine/agent-api/nodes/mergeStatic.d.ts +26 -0
  166. package/dist/engine/agent-api/nodes/mergeStatic.d.ts.map +1 -0
  167. package/dist/engine/agent-api/nodes/mergeStatic.js +126 -0
  168. package/dist/engine/agent-api/nodes/mergeStatic.js.map +1 -0
  169. package/dist/engine/agent-api/nodes/scatter.d.ts +116 -0
  170. package/dist/engine/agent-api/nodes/scatter.d.ts.map +1 -0
  171. package/dist/engine/agent-api/nodes/scatter.js +211 -0
  172. package/dist/engine/agent-api/nodes/scatter.js.map +1 -0
  173. package/dist/engine/agent-api/nodes/scene.d.ts +9 -1
  174. package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
  175. package/dist/engine/agent-api/nodes/scene.js +28 -2
  176. package/dist/engine/agent-api/nodes/scene.js.map +1 -1
  177. package/dist/engine/agent-api/nodes/types.d.ts +8 -0
  178. package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
  179. package/dist/engine/contracts/stubs/game.d.ts +0 -8
  180. package/dist/engine/contracts/stubs/game.d.ts.map +1 -1
  181. package/dist/engine/contracts/stubs/game.js +6 -0
  182. package/dist/engine/contracts/stubs/game.js.map +1 -1
  183. package/dist/engine/deprecated/advanced-runtime.js +2 -2
  184. package/dist/engine/deprecated/apps.js +2 -2
  185. package/dist/engine/deprecated/assets-browser.js +2 -2
  186. package/dist/engine/deprecated/contracts.js +2 -2
  187. package/dist/engine/deprecated/media-node.js +2 -2
  188. package/dist/engine/deprecated/production-runtime.js +2 -2
  189. package/dist/engine/deprecated/rendering-production-runtime.js +2 -2
  190. package/dist/engine/deprecated/rendering-webgpu.js +2 -2
  191. package/dist/engine/deprecated/rendering.js +2 -2
  192. package/dist/engine/deprecated/workflows-production.js +2 -2
  193. package/dist/engine/index.d.ts +1 -0
  194. package/dist/engine/index.d.ts.map +1 -1
  195. package/dist/engine/index.js +1 -0
  196. package/dist/engine/index.js.map +1 -1
  197. package/dist/engine/instances-model/InstancedModel.d.ts.map +1 -1
  198. package/dist/engine/instances-model/InstancedModel.js +2 -5
  199. package/dist/engine/instances-model/InstancedModel.js.map +1 -1
  200. package/dist/engine/production-runtime/TypedGLBActor.d.ts +6 -0
  201. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  202. package/dist/engine/production-runtime/TypedGLBActor.js +8 -1
  203. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  204. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts +38 -0
  205. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts.map +1 -0
  206. package/dist/engine/production-runtime/actor/ModelTextureShare.js +65 -0
  207. package/dist/engine/production-runtime/actor/ModelTextureShare.js.map +1 -0
  208. package/dist/engine/public/index.d.ts +71 -67
  209. package/dist/engine/public/index.d.ts.map +1 -1
  210. package/dist/engine/public/index.js +59 -54
  211. package/dist/engine/public/index.js.map +1 -1
  212. package/dist/engine/qa/countedRng.d.ts +16 -0
  213. package/dist/engine/qa/countedRng.d.ts.map +1 -0
  214. package/dist/engine/qa/countedRng.js +40 -0
  215. package/dist/engine/qa/countedRng.js.map +1 -0
  216. package/dist/engine/qa/fixedStepLoop.d.ts +43 -0
  217. package/dist/engine/qa/fixedStepLoop.d.ts.map +1 -0
  218. package/dist/engine/qa/fixedStepLoop.js +83 -0
  219. package/dist/engine/qa/fixedStepLoop.js.map +1 -0
  220. package/dist/engine/qa/hooks.d.ts +80 -0
  221. package/dist/engine/qa/hooks.d.ts.map +1 -0
  222. package/dist/engine/qa/hooks.js +95 -0
  223. package/dist/engine/qa/hooks.js.map +1 -0
  224. package/dist/engine/qa/index.d.ts +10 -0
  225. package/dist/engine/qa/index.d.ts.map +1 -0
  226. package/dist/engine/qa/index.js +6 -0
  227. package/dist/engine/qa/index.js.map +1 -0
  228. package/dist/engine/qa/params.d.ts +38 -0
  229. package/dist/engine/qa/params.d.ts.map +1 -0
  230. package/dist/engine/qa/params.js +35 -0
  231. package/dist/engine/qa/params.js.map +1 -0
  232. package/dist/game/capture/captureFromUrl.d.ts +1 -1
  233. package/dist/game/capture/captureFromUrl.d.ts.map +1 -1
  234. package/dist/game/capture/index.d.ts +1 -1
  235. package/dist/game/capture/index.d.ts.map +1 -1
  236. package/dist/game/components.d.ts +1 -1
  237. package/dist/game/components.d.ts.map +1 -1
  238. package/dist/game/createGame.d.ts +1 -1
  239. package/dist/game/createGame.d.ts.map +1 -1
  240. package/dist/game/createGame.js +1 -1
  241. package/dist/game/createGame.js.map +1 -1
  242. package/dist/game/evidence/beacon.d.ts +1 -1
  243. package/dist/game/evidence/beacon.d.ts.map +1 -1
  244. package/dist/game/flagDefault.d.ts +8 -0
  245. package/dist/game/flagDefault.d.ts.map +1 -0
  246. package/dist/game/flagDefault.js +28 -0
  247. package/dist/game/flagDefault.js.map +1 -0
  248. package/dist/game/index.d.ts +4 -2
  249. package/dist/game/index.d.ts.map +1 -1
  250. package/dist/game/index.js +10 -3
  251. package/dist/game/index.js.map +1 -1
  252. package/dist/game/input/bindingStore.d.ts +87 -0
  253. package/dist/game/input/bindingStore.d.ts.map +1 -0
  254. package/dist/game/input/bindingStore.js +164 -0
  255. package/dist/game/input/bindingStore.js.map +1 -0
  256. package/dist/game/session/GameSession.d.ts +2 -2
  257. package/dist/game/session/GameSession.d.ts.map +1 -1
  258. package/dist/game/session/GameSession.js +1 -1
  259. package/dist/game/session/GameSession.js.map +1 -1
  260. package/dist/rendering/ForwardPass.d.ts +5 -0
  261. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  262. package/dist/rendering/ForwardPass.js +75 -2
  263. package/dist/rendering/ForwardPass.js.map +1 -1
  264. package/dist/rendering/ShaderFailures.d.ts +77 -0
  265. package/dist/rendering/ShaderFailures.d.ts.map +1 -0
  266. package/dist/rendering/ShaderFailures.js +141 -0
  267. package/dist/rendering/ShaderFailures.js.map +1 -0
  268. package/dist/rendering/ShaderLibrary.js +5 -5
  269. package/dist/rendering/ShaderLibraryCore.js +1 -1
  270. package/dist/rendering/WebGL2Device.js +1 -1
  271. package/dist/rendering/WebGL2Device.js.map +1 -1
  272. package/dist/rendering/WebGPUDevice.js +1 -1
  273. package/dist/rendering/index.d.ts +2 -0
  274. package/dist/rendering/index.d.ts.map +1 -1
  275. package/dist/rendering/index.js +2 -0
  276. package/dist/rendering/index.js.map +1 -1
  277. package/dist/rendering/output/ToneMappingOperators.glsl.d.ts +1 -1
  278. package/dist/rendering/output/ToneMappingOperators.glsl.d.ts.map +1 -1
  279. package/dist/rendering/output/ToneMappingOperators.glsl.js +2 -0
  280. package/dist/rendering/output/ToneMappingOperators.glsl.js.map +1 -1
  281. package/dist/rendering/post/v2Stages.d.ts.map +1 -1
  282. package/dist/rendering/post/v2Stages.js +4 -0
  283. package/dist/rendering/post/v2Stages.js.map +1 -1
  284. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts +2 -2
  285. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
  286. package/dist/rendering/program/chunks/shadow_forward.glsl.js +1 -1
  287. package/dist/rendering/shaders/chunks/author/colorspace.glsl.d.ts +8 -0
  288. package/dist/rendering/shaders/chunks/author/colorspace.glsl.d.ts.map +1 -0
  289. package/dist/rendering/shaders/chunks/author/colorspace.glsl.js +20 -0
  290. package/dist/rendering/shaders/chunks/author/colorspace.glsl.js.map +1 -0
  291. package/dist/rendering/shaders/chunks/author/fog.glsl.d.ts +3 -0
  292. package/dist/rendering/shaders/chunks/author/fog.glsl.d.ts.map +1 -0
  293. package/dist/rendering/shaders/chunks/author/fog.glsl.js +18 -0
  294. package/dist/rendering/shaders/chunks/author/fog.glsl.js.map +1 -0
  295. package/dist/rendering/shaders/chunks/author/index.d.ts +16 -0
  296. package/dist/rendering/shaders/chunks/author/index.d.ts.map +1 -0
  297. package/dist/rendering/shaders/chunks/author/index.js +77 -0
  298. package/dist/rendering/shaders/chunks/author/index.js.map +1 -0
  299. package/dist/rendering/shaders/chunks/author/math.glsl.d.ts +3 -0
  300. package/dist/rendering/shaders/chunks/author/math.glsl.d.ts.map +1 -0
  301. package/dist/rendering/shaders/chunks/author/math.glsl.js +43 -0
  302. package/dist/rendering/shaders/chunks/author/math.glsl.js.map +1 -0
  303. package/dist/rendering/shaders/chunks/author/noise.glsl.d.ts +3 -0
  304. package/dist/rendering/shaders/chunks/author/noise.glsl.d.ts.map +1 -0
  305. package/dist/rendering/shaders/chunks/author/noise.glsl.js +94 -0
  306. package/dist/rendering/shaders/chunks/author/noise.glsl.js.map +1 -0
  307. package/dist/rendering/shaders/chunks/author/sky.glsl.d.ts +3 -0
  308. package/dist/rendering/shaders/chunks/author/sky.glsl.d.ts.map +1 -0
  309. package/dist/rendering/shaders/chunks/author/sky.glsl.js +28 -0
  310. package/dist/rendering/shaders/chunks/author/sky.glsl.js.map +1 -0
  311. package/dist/rendering/shaders/chunks/author/toon.glsl.d.ts +3 -0
  312. package/dist/rendering/shaders/chunks/author/toon.glsl.d.ts.map +1 -0
  313. package/dist/rendering/shaders/chunks/author/toon.glsl.js +21 -0
  314. package/dist/rendering/shaders/chunks/author/toon.glsl.js.map +1 -0
  315. package/dist/rendering/shaders/chunks/author/triplanar.glsl.d.ts +3 -0
  316. package/dist/rendering/shaders/chunks/author/triplanar.glsl.d.ts.map +1 -0
  317. package/dist/rendering/shaders/chunks/author/triplanar.glsl.js +14 -0
  318. package/dist/rendering/shaders/chunks/author/triplanar.glsl.js.map +1 -0
  319. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  320. package/dist/rendering/webgl2/LegacyPost.js +3 -2
  321. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  322. package/package.json +29 -26
  323. package/templates/cinematic-scene/package.json +2 -2
  324. package/templates/mini-game/package.json +2 -2
  325. package/templates/product-viewer/package.json +2 -2
  326. package/templates/production-asset-inspector/package.json +1 -1
  327. package/templates/production-material-studio/package.json +1 -1
  328. package/templates/production-product-configurator/package.json +1 -1
  329. package/templates/production-product-viewer/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderFailures.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderFailures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Loud, non-fatal shader failures. A program that fails to compile or link (or has no WGSL twin on
3
+ * WebGPU) is recorded with a stable code, the driver log and the offending source lines instead of
4
+ * throwing out of the frame and blanking every other draw.
5
+ */
6
+ const MAX_RECORDS = 64;
7
+ const records = new Map();
8
+ let configuredMode;
9
+ /** Process-wide override (an app in strict mode sets `throw`; `undefined` restores the default). */
10
+ export function setShaderFailureMode(mode) {
11
+ configuredMode = mode;
12
+ }
13
+ export function resolveShaderFailureMode(strict) {
14
+ if (configuredMode)
15
+ return configuredMode;
16
+ if (strict)
17
+ return "throw";
18
+ return diagRequested() ? "magenta" : "skip";
19
+ }
20
+ function diagRequested() {
21
+ try {
22
+ const search = globalThis.location?.search ?? "";
23
+ return /[?&]diag=1(?:&|$)/.test(search);
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ }
29
+ export function getShaderFailures() {
30
+ return [...records.values()];
31
+ }
32
+ export function clearShaderFailures() {
33
+ records.clear();
34
+ }
35
+ /** One-line summary, stable for `diagnostics().errors`, route health and the ?diag=1 panel. */
36
+ export function formatShaderFailure(record) {
37
+ const first = record.locations[0];
38
+ const where = first ? ` ${record.stage} line ${first.line}${first.authoredLine !== undefined ? ` (source line ${first.authoredLine})` : ""}: ${first.message}` : record.log ? ` ${record.log.split("\n")[0]}` : "";
39
+ return `${record.code}: material "${record.material}"${where}`;
40
+ }
41
+ /** Records a failure; returns true the first time this (shader, stage) fails (callers log once). */
42
+ export function recordShaderFailure(record) {
43
+ const key = `${record.shaderKey}|${record.stage}`;
44
+ const existing = records.get(key);
45
+ if (existing) {
46
+ existing.count += 1;
47
+ return { first: false, record: existing };
48
+ }
49
+ if (records.size >= MAX_RECORDS)
50
+ records.delete(records.keys().next().value);
51
+ records.set(key, record);
52
+ return { first: true, record };
53
+ }
54
+ /**
55
+ * Parses driver info-log lines: ANGLE/Mesa `ERROR: 0:12: 'x' : redefinition`, NVIDIA `0(12) : error C1008: ...`.
56
+ * Warnings are ignored. The leading number is the source-string index, never the line.
57
+ */
58
+ export function parseShaderLog(log) {
59
+ const out = [];
60
+ for (const raw of log.split("\n")) {
61
+ const text = raw.trim();
62
+ if (!text)
63
+ continue;
64
+ let match = /^ERROR:\s*\d+:(\d+):\s*(.*)$/i.exec(text);
65
+ if (!match)
66
+ match = /^\d+\((\d+)\)\s*:\s*error\s*[A-Za-z0-9]*:?\s*(.*)$/i.exec(text);
67
+ if (match)
68
+ out.push({ line: Number(match[1]), message: (match[2] ?? "").trim() });
69
+ }
70
+ return out;
71
+ }
72
+ /** Lines in front of the author's source inside the compiled program (undefined when it cannot be located). */
73
+ export function authoredLineOffset(assembled, authored) {
74
+ const authoredLines = authored.split("\n").map((line) => line.trim());
75
+ const firstIndex = authoredLines.findIndex((line) => line.length > 0 && !line.startsWith("#version"));
76
+ if (firstIndex < 0)
77
+ return undefined;
78
+ const probe = authoredLines.slice(firstIndex, firstIndex + 3);
79
+ const lines = assembled.split("\n").map((line) => line.trim());
80
+ for (let index = 0; index + probe.length <= lines.length; index += 1) {
81
+ if (probe.every((line, offset) => lines[index + offset] === line))
82
+ return index - firstIndex;
83
+ }
84
+ return undefined;
85
+ }
86
+ export function sourceWindow(source, line, radius = 3) {
87
+ const lines = source.split("\n");
88
+ const out = [];
89
+ for (let n = Math.max(1, line - radius); n <= Math.min(lines.length, line + radius); n += 1) {
90
+ out.push({ line: n, text: lines[n - 1] ?? "", error: n === line });
91
+ }
92
+ return out;
93
+ }
94
+ export function isShaderFailureError(error) {
95
+ const code = error?.code;
96
+ return code === "SHADER_COMPILE_FAILED" || code === "SHADER_LINK_FAILED" || code === "WGSL_PROGRAM_MISSING";
97
+ }
98
+ /** Builds the structured record from a device error plus the program sources that produced it. */
99
+ export function buildShaderFailure(error, material, sources, mode) {
100
+ const err = error;
101
+ const details = err.details ?? {};
102
+ const log = typeof details.log === "string" ? details.log : String(err.message ?? error);
103
+ const stageDetail = details.stage;
104
+ const stage = err.code === "SHADER_LINK_FAILED" ? "link" : stageDetail === "vertex" || stageDetail === "fragment" ? stageDetail : "unknown";
105
+ const code = err.code === "SHADER_LINK_FAILED" ? "CUSTOM_SHADER_LINK_FAILED" : err.code === "WGSL_PROGRAM_MISSING" ? "CUSTOM_SHADER_WGSL_MISSING" : "CUSTOM_SHADER_COMPILE_FAILED";
106
+ const locations = [];
107
+ if (code === "CUSTOM_SHADER_COMPILE_FAILED") {
108
+ for (const parsed of parseShaderLog(log).slice(0, 5)) {
109
+ const source = stage === "vertex" ? sources.vertex : stage === "fragment" ? sources.fragment : sources.fragment ?? sources.vertex;
110
+ const authored = stage === "vertex" ? sources.authored?.vertex : sources.authored?.fragment;
111
+ const offset = source && authored ? authoredLineOffset(source, authored) : undefined;
112
+ const authoredLine = offset !== undefined && parsed.line > offset ? parsed.line - offset : undefined;
113
+ locations.push({
114
+ line: parsed.line,
115
+ message: parsed.message,
116
+ ...(authoredLine !== undefined ? { authoredLine } : {}),
117
+ window: source ? sourceWindow(source, parsed.line) : []
118
+ });
119
+ }
120
+ }
121
+ const message = code === "CUSTOM_SHADER_WGSL_MISSING"
122
+ ? `material "${material.name}" has no WGSL program, so it cannot draw on WebGPU (marker ${String(details.marker ?? "unknown")})`
123
+ : log.split("\n").map((line) => line.trim()).filter(Boolean).slice(0, 3).join(" | ");
124
+ return { code, material: material.name, shaderKey: material.shaderKey, stage, message, log, locations, mode, count: 1 };
125
+ }
126
+ /** Multi-line console text for a failure: summary, driver log lines with source windows, and what happens next. */
127
+ export function describeShaderFailure(record, consequence) {
128
+ const detail = record.locations
129
+ .map((location) => `\n ${record.stage} line ${location.line}${location.authoredLine !== undefined ? ` (source line ${location.authoredLine})` : ""}: ${location.message}\n` +
130
+ location.window.map((row) => ` ${row.error ? ">" : " "} ${String(row.line).padStart(4)} | ${row.text}`).join("\n"))
131
+ .join("");
132
+ return `[aura3d] ${formatShaderFailure(record)}${detail || (record.log ? `\n ${record.log}` : "")}\n ${consequence}`;
133
+ }
134
+ /** Records a failure and logs it once (console.error). Returns the stored record. */
135
+ export function reportShaderFailure(error, material, sources, mode, consequence) {
136
+ const { first, record } = recordShaderFailure(buildShaderFailure(error, material, sources, mode));
137
+ if (first)
138
+ console.error(describeShaderFailure(record, consequence));
139
+ return record;
140
+ }
141
+ //# sourceMappingURL=ShaderFailures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderFailures.js","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderFailures.ts"],"names":[],"mappings":"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"}
@@ -185,7 +185,7 @@ float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirectio
185
185
  float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
186
186
  float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);
187
187
  float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
188
- float projectedDepth = projected.z * 0.5 + 0.5;
188
+ float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);
189
189
  float shadowed = 0.0;
190
190
  float totalWeight = 0.0;
191
191
  int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
@@ -757,7 +757,7 @@ float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirectio
757
757
  float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
758
758
  float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);
759
759
  float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
760
- float projectedDepth = projected.z * 0.5 + 0.5;
760
+ float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);
761
761
  float shadowed = 0.0;
762
762
  float totalWeight = 0.0;
763
763
  int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
@@ -1288,7 +1288,7 @@ float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirectio
1288
1288
  float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
1289
1289
  float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);
1290
1290
  float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
1291
- float projectedDepth = projected.z * 0.5 + 0.5;
1291
+ float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);
1292
1292
  float shadowed = 0.0;
1293
1293
  float totalWeight = 0.0;
1294
1294
  int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
@@ -1777,7 +1777,7 @@ float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirectio
1777
1777
  float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
1778
1778
  float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);
1779
1779
  float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
1780
- float projectedDepth = projected.z * 0.5 + 0.5;
1780
+ float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);
1781
1781
  float shadowed = 0.0;
1782
1782
  float totalWeight = 0.0;
1783
1783
  int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
@@ -2468,7 +2468,7 @@ float a3dTexturedPbrShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDire
2468
2468
  float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
2469
2469
  float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);
2470
2470
  float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
2471
- float projectedDepth = projected.z * 0.5 + 0.5;
2471
+ float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);
2472
2472
  float shadowed = 0.0;
2473
2473
  float totalWeight = 0.0;
2474
2474
  int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
@@ -474,7 +474,7 @@ float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirectio
474
474
  // compensation. Clamped so a near-perpendicular receiver cannot demand unbounded bias.
475
475
  float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);
476
476
  float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
477
- float projectedDepth = projected.z * 0.5 + 0.5;
477
+ float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);
478
478
  float shadowed = 0.0;
479
479
  float totalWeight = 0.0;
480
480
  int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
@@ -1332,7 +1332,7 @@ export class WebGL2Device {
1332
1332
  if (!this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS)) {
1333
1333
  const log = this.gl.getShaderInfoLog(shader) ?? "Unknown shader compile error";
1334
1334
  this.gl.deleteShader(shader);
1335
- throw new RenderDeviceError(shaderCompileFailureMessage(log, { label }), "SHADER_COMPILE_FAILED", { label, log });
1335
+ throw new RenderDeviceError(shaderCompileFailureMessage(log, { label }), "SHADER_COMPILE_FAILED", { label, log, stage: type === this.gl.VERTEX_SHADER ? "vertex" : "fragment" });
1336
1336
  }
1337
1337
  return shader;
1338
1338
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebGL2Device.js","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGL2Device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGL2Device.js","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGL2Device.ts"],"names":[],"mappings":"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"}
@@ -2977,7 +2977,7 @@ fn a3dNativeShadowFactor(worldPosition: vec3<f32>, normal: vec3<f32>, lightDirec
2977
2977
  // receivers, so each tap scales by its own texel distance.
2978
2978
  let slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);
2979
2979
  let slopeTexelBias = slopeTangent * slopeBias * max(texelSize.x, texelSize.y);
2980
- let projectedDepth = projected.z * 0.5 + 0.5;
2980
+ let projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);
2981
2981
  var shadowed = 0.0;
2982
2982
  var totalWeight = 0.0;
2983
2983
  let taps = clamp(sampleCount, 1, 32);
@@ -165,6 +165,7 @@ export type { CompiledShaderSource, ShaderSourcePair } from "./ShaderLibrary.js"
165
165
  export type { ShaderVariantDescriptor } from "./ShaderLibrary.js";
166
166
  export { MAX_UNIFORM_SKINNING_JOINTS, SHADER_CHUNKS, validateShaderChunks } from "./ShaderChunks.js";
167
167
  export type { ShaderChunk } from "./ShaderChunks.js";
168
+ export { A3D_AUTHOR_GLSL_CHUNKS, A3D_AUTHOR_GLSL_CHUNK_NAMES, type A3dAuthorGlslChunk } from "./shaders/chunks/author/index.js";
168
169
  export { DEFAULT_RENDER_STATE, Material, validateRenderState } from "./Material.js";
169
170
  export type { CullMode, DepthCompare, MaterialDescriptor, MaterialUniformDescriptor, MaterialUniformKind, RenderState } from "./Material.js";
170
171
  export { MaterialInstance } from "./MaterialInstance.js";
@@ -207,6 +208,7 @@ export { buildRenderDebugOverlaySnapshot, captureRenderDebugIssue, formatRenderD
207
208
  export type { RenderDebugIssue, RenderDebugIssueKind, RenderDebugOverlaySnapshot } from "./RendererDebugOverlay.js";
208
209
  export { RendererTimingCollector, createCpuFallbackGpuTimingBackend, createImmediateGpuTimingBackend, createWebGL2GpuTimingBackend } from "./RendererTiming.js";
209
210
  export type { RendererGpuTimingBackend, RendererGpuTimingResult, RendererGpuTimingToken, RendererTimingCollectorOptions, RendererTimingSample, RendererTimingSampleSource, RendererTimingSnapshot } from "./RendererTiming.js";
211
+ export { authoredLineOffset, buildShaderFailure, describeShaderFailure, reportShaderFailure, clearShaderFailures, formatShaderFailure, getShaderFailures, isShaderFailureError, parseShaderLog, recordShaderFailure, resolveShaderFailureMode, setShaderFailureMode, sourceWindow, type ShaderFailureCode, type ShaderFailureLocation, type ShaderFailureMode, type ShaderFailureRecord, type ShaderFailureSourceLine, type ShaderFailureSources } from "./ShaderFailures.js";
210
212
  export { ForwardPass, SkinningPaletteUploadManager, applyForwardSpotShadowMapUniforms, forwardPassFeatureAxes, splitForwardItems, forwardItemBucket, type ForwardBucket } from "./ForwardPass.js";
211
213
  export { MAX_GPU_INSTANCES, MAX_GPU_MORPH_TARGETS, MAX_GPU_MORPH_VERTICES, MAX_SKINNING_JOINTS } from "./ForwardPass.js";
212
214
  export { ensureMorphTargetTexture, releaseMorphScratchGeometry, releaseMorphTargetTexture, morphTextureDiagnostics } from "./ForwardPass.js";