@aura3d/engine 4.5.0 → 4.6.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 (199) hide show
  1. package/README.md +1 -0
  2. package/dist/animation/pose/BoneMask.d.ts +8 -0
  3. package/dist/animation/pose/BoneMask.d.ts.map +1 -1
  4. package/dist/animation/pose/BoneMask.js +18 -1
  5. package/dist/animation/pose/BoneMask.js.map +1 -1
  6. package/dist/animation/pose/PoseMixer.d.ts +18 -2
  7. package/dist/animation/pose/PoseMixer.d.ts.map +1 -1
  8. package/dist/animation/pose/PoseMixer.js +52 -4
  9. package/dist/animation/pose/PoseMixer.js.map +1 -1
  10. package/dist/animation/pose/RetargetWorker.d.ts +8 -1
  11. package/dist/animation/pose/RetargetWorker.d.ts.map +1 -1
  12. package/dist/animation/pose/RetargetWorker.js +30 -2
  13. package/dist/animation/pose/RetargetWorker.js.map +1 -1
  14. package/dist/aura3d-cli/index.d.ts +6 -0
  15. package/dist/aura3d-cli/index.d.ts.map +1 -1
  16. package/dist/aura3d-cli/index.js +28 -0
  17. package/dist/aura3d-cli/index.js.map +1 -1
  18. package/dist/create-aura3d/cli.js +22 -2
  19. package/dist/create-aura3d/cli.js.map +1 -1
  20. package/dist/create-aura3d/index.d.ts +11 -0
  21. package/dist/create-aura3d/index.d.ts.map +1 -1
  22. package/dist/create-aura3d/index.js +9 -2
  23. package/dist/create-aura3d/index.js.map +1 -1
  24. package/dist/create-aura3d/template-assets.d.ts +53 -0
  25. package/dist/create-aura3d/template-assets.d.ts.map +1 -0
  26. package/dist/create-aura3d/template-assets.js +116 -0
  27. package/dist/create-aura3d/template-assets.js.map +1 -0
  28. package/dist/engine/agent-api/Clock.d.ts +5 -2
  29. package/dist/engine/agent-api/Clock.d.ts.map +1 -1
  30. package/dist/engine/agent-api/Clock.js +9 -4
  31. package/dist/engine/agent-api/Clock.js.map +1 -1
  32. package/dist/engine/agent-api/animationMask.d.ts +14 -2
  33. package/dist/engine/agent-api/animationMask.d.ts.map +1 -1
  34. package/dist/engine/agent-api/animationMask.js +19 -4
  35. package/dist/engine/agent-api/animationMask.js.map +1 -1
  36. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
  37. package/dist/engine/agent-api/app/actorAnimationHandle.js +7 -4
  38. package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
  39. package/dist/engine/agent-api/app/canvas.d.ts +21 -0
  40. package/dist/engine/agent-api/app/canvas.d.ts.map +1 -1
  41. package/dist/engine/agent-api/app/canvas.js +119 -7
  42. package/dist/engine/agent-api/app/canvas.js.map +1 -1
  43. package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
  44. package/dist/engine/agent-api/app/createAuraApp.js +104 -15
  45. package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
  46. package/dist/engine/agent-api/app/frameLoop.d.ts +13 -0
  47. package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
  48. package/dist/engine/agent-api/app/frameLoop.js +93 -12
  49. package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
  50. package/dist/engine/agent-api/app/parentFit.d.ts +20 -2
  51. package/dist/engine/agent-api/app/parentFit.d.ts.map +1 -1
  52. package/dist/engine/agent-api/app/parentFit.js +13 -9
  53. package/dist/engine/agent-api/app/parentFit.js.map +1 -1
  54. package/dist/engine/agent-api/app/renderPath.d.ts +31 -2
  55. package/dist/engine/agent-api/app/renderPath.d.ts.map +1 -1
  56. package/dist/engine/agent-api/app/renderPath.js +128 -22
  57. package/dist/engine/agent-api/app/renderPath.js.map +1 -1
  58. package/dist/engine/agent-api/app/rendererOptions.d.ts +27 -4
  59. package/dist/engine/agent-api/app/rendererOptions.d.ts.map +1 -1
  60. package/dist/engine/agent-api/app/rendererOptions.js +63 -16
  61. package/dist/engine/agent-api/app/rendererOptions.js.map +1 -1
  62. package/dist/engine/agent-api/app/runtimeNodes.d.ts +2 -0
  63. package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
  64. package/dist/engine/agent-api/app/runtimeNodes.js +76 -2
  65. package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
  66. package/dist/engine/agent-api/compiler/animation.d.ts.map +1 -1
  67. package/dist/engine/agent-api/compiler/animation.js +4 -3
  68. package/dist/engine/agent-api/compiler/animation.js.map +1 -1
  69. package/dist/engine/agent-api/compiler/compileScene.d.ts +21 -5
  70. package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
  71. package/dist/engine/agent-api/compiler/compileScene.js +103 -11
  72. package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
  73. package/dist/engine/agent-api/compiler/contactShadowKey.d.ts +14 -0
  74. package/dist/engine/agent-api/compiler/contactShadowKey.d.ts.map +1 -0
  75. package/dist/engine/agent-api/compiler/contactShadowKey.js +66 -0
  76. package/dist/engine/agent-api/compiler/contactShadowKey.js.map +1 -0
  77. package/dist/engine/agent-api/compiler/environment.d.ts +37 -0
  78. package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
  79. package/dist/engine/agent-api/compiler/environment.js +129 -11
  80. package/dist/engine/agent-api/compiler/environment.js.map +1 -1
  81. package/dist/engine/agent-api/compiler/mountedRoots.d.ts +6 -0
  82. package/dist/engine/agent-api/compiler/mountedRoots.d.ts.map +1 -0
  83. package/dist/engine/agent-api/compiler/mountedRoots.js +25 -0
  84. package/dist/engine/agent-api/compiler/mountedRoots.js.map +1 -0
  85. package/dist/engine/agent-api/compiler/primitives.d.ts +13 -1
  86. package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
  87. package/dist/engine/agent-api/compiler/primitives.js +28 -3
  88. package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
  89. package/dist/engine/agent-api/compiler/renderer.d.ts +5 -3
  90. package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
  91. package/dist/engine/agent-api/compiler/renderer.js +33 -7
  92. package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
  93. package/dist/engine/agent-api/compiler/shadows.d.ts +4 -1
  94. package/dist/engine/agent-api/compiler/shadows.d.ts.map +1 -1
  95. package/dist/engine/agent-api/compiler/shadows.js +6 -2
  96. package/dist/engine/agent-api/compiler/shadows.js.map +1 -1
  97. package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
  98. package/dist/engine/agent-api/nodes/instances.js +16 -4
  99. package/dist/engine/agent-api/nodes/instances.js.map +1 -1
  100. package/dist/engine/agent-api/nodes/model.d.ts +15 -0
  101. package/dist/engine/agent-api/nodes/model.d.ts.map +1 -1
  102. package/dist/engine/agent-api/nodes/model.js +37 -0
  103. package/dist/engine/agent-api/nodes/model.js.map +1 -1
  104. package/dist/engine/agent-api/nodes/physics.d.ts +25 -0
  105. package/dist/engine/agent-api/nodes/physics.d.ts.map +1 -1
  106. package/dist/engine/agent-api/nodes/physics.js +107 -11
  107. package/dist/engine/agent-api/nodes/physics.js.map +1 -1
  108. package/dist/engine/agent-api/nodes/primitives.d.ts +16 -1
  109. package/dist/engine/agent-api/nodes/primitives.d.ts.map +1 -1
  110. package/dist/engine/agent-api/nodes/primitives.js +11 -8
  111. package/dist/engine/agent-api/nodes/primitives.js.map +1 -1
  112. package/dist/engine/agent-api/nodes/types/runtime.d.ts +5 -0
  113. package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
  114. package/dist/engine/agent-api/nodes/types.d.ts +2 -0
  115. package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
  116. package/dist/engine/contracts/environment.d.ts +9 -0
  117. package/dist/engine/contracts/environment.d.ts.map +1 -1
  118. package/dist/engine/contracts/environment.js.map +1 -1
  119. package/dist/engine/contracts/lighting.d.ts +3 -0
  120. package/dist/engine/contracts/lighting.d.ts.map +1 -1
  121. package/dist/engine/contracts/lighting.js.map +1 -1
  122. package/dist/engine/lanes/prd02.d.ts +12 -4
  123. package/dist/engine/lanes/prd02.d.ts.map +1 -1
  124. package/dist/engine/lanes/prd02.js +23 -7
  125. package/dist/engine/lanes/prd02.js.map +1 -1
  126. package/dist/game/touch/TouchControls.d.ts.map +1 -1
  127. package/dist/game/touch/TouchControls.js +48 -12
  128. package/dist/game/touch/TouchControls.js.map +1 -1
  129. package/dist/react/index.d.ts +13 -0
  130. package/dist/react/index.d.ts.map +1 -1
  131. package/dist/react/index.js +88 -8
  132. package/dist/react/index.js.map +1 -1
  133. package/dist/rendering/DepthPass.d.ts +7 -0
  134. package/dist/rendering/DepthPass.d.ts.map +1 -1
  135. package/dist/rendering/DepthPass.js +40 -4
  136. package/dist/rendering/DepthPass.js.map +1 -1
  137. package/dist/rendering/ForwardPass.d.ts +69 -5
  138. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  139. package/dist/rendering/ForwardPass.js +119 -27
  140. package/dist/rendering/ForwardPass.js.map +1 -1
  141. package/dist/rendering/RenderDevice.d.ts +5 -0
  142. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  143. package/dist/rendering/RenderDevice.js.map +1 -1
  144. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  145. package/dist/rendering/RendererPostprocessPlan.js +8 -1
  146. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  147. package/dist/rendering/WebGL2Device.d.ts +3 -0
  148. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  149. package/dist/rendering/WebGL2Device.js +20 -0
  150. package/dist/rendering/WebGL2Device.js.map +1 -1
  151. package/dist/rendering/forward/Lighting.d.ts +32 -0
  152. package/dist/rendering/forward/Lighting.d.ts.map +1 -1
  153. package/dist/rendering/forward/Lighting.js +103 -3
  154. package/dist/rendering/forward/Lighting.js.map +1 -1
  155. package/dist/rendering/index.d.ts +2 -2
  156. package/dist/rendering/index.d.ts.map +1 -1
  157. package/dist/rendering/index.js +1 -1
  158. package/dist/rendering/index.js.map +1 -1
  159. package/dist/rendering/post/v2Stages.d.ts.map +1 -1
  160. package/dist/rendering/post/v2Stages.js +2 -0
  161. package/dist/rendering/post/v2Stages.js.map +1 -1
  162. package/dist/rendering/quality/DirectPath.d.ts +13 -0
  163. package/dist/rendering/quality/DirectPath.d.ts.map +1 -1
  164. package/dist/rendering/quality/DirectPath.js +33 -1
  165. package/dist/rendering/quality/DirectPath.js.map +1 -1
  166. package/dist/rendering/renderer/Background.d.ts.map +1 -1
  167. package/dist/rendering/renderer/Background.js +31 -2
  168. package/dist/rendering/renderer/Background.js.map +1 -1
  169. package/dist/rendering/renderer/InstanceFrustumCull.d.ts +5 -3
  170. package/dist/rendering/renderer/InstanceFrustumCull.d.ts.map +1 -1
  171. package/dist/rendering/renderer/InstanceFrustumCull.js +17 -6
  172. package/dist/rendering/renderer/InstanceFrustumCull.js.map +1 -1
  173. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
  174. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
  175. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js +8 -2
  176. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
  177. package/dist/rendering/shadows/CascadeUse.d.ts +3 -0
  178. package/dist/rendering/shadows/CascadeUse.d.ts.map +1 -1
  179. package/dist/rendering/shadows/CascadeUse.js +16 -1
  180. package/dist/rendering/shadows/CascadeUse.js.map +1 -1
  181. package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts +4 -0
  182. package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
  183. package/dist/rendering/shadows/Prd02ShadowsContributor.js +3 -1
  184. package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
  185. package/dist/rendering/webgl2/ContextLifecycle.d.ts.map +1 -1
  186. package/dist/rendering/webgl2/ContextLifecycle.js +14 -2
  187. package/dist/rendering/webgl2/ContextLifecycle.js.map +1 -1
  188. package/dist/rendering/webgl2/MultiDraw.d.ts +2 -0
  189. package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
  190. package/dist/rendering/webgl2/MultiDraw.js +24 -6
  191. package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
  192. package/package.json +25 -25
  193. package/templates/cinematic-scene/package.json +2 -2
  194. package/templates/mini-game/package.json +2 -2
  195. package/templates/product-viewer/package.json +2 -2
  196. package/templates/production-asset-inspector/package.json +1 -1
  197. package/templates/production-material-studio/package.json +1 -1
  198. package/templates/production-product-configurator/package.json +1 -1
  199. package/templates/production-product-viewer/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"actorAnimationHandle.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/actorAnimationHandle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actorAnimationHandle.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/actorAnimationHandle.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,25 @@ export declare function authoredBackingResize(resize: boolean, canvas: {
20
20
  readonly width: number;
21
21
  readonly height: number;
22
22
  } | null;
23
+ /** Axes on which the page's own CSS sizes the canvas smaller than its parent; the engine fits those axes to the canvas's box. */
24
+ export interface CanvasOwnSizedAxes {
25
+ width: boolean;
26
+ height: boolean;
27
+ }
28
+ /** Frame-loop resizes call this after writing the canvas's inline size, so a later mount can tell it from the page's. */
29
+ export declare function noteEngineCanvasSize(canvas: HTMLCanvasElement): void;
30
+ /** What `configureCanvas` decided for this canvas (both false when it never ran or could not measure). Live: resizes may set an axis. */
31
+ export declare function ownSizedCanvasAxes(canvas: HTMLCanvasElement): CanvasOwnSizedAxes;
32
+ /**
33
+ * At a resize, checks the parent-fit axes again without touching the backing store, because a media query (a phone turned to
34
+ * portrait) can start sizing the canvas after the mount. With the engine's inline size removed, an axis whose content box
35
+ * is neither the backing store's size (an `auto` size) nor the size its ratio gives (an aspect-ratio-only size), and is
36
+ * smaller than the parent, is now sized by the page: it switches to the canvas's own box and keeps no inline size.
37
+ */
38
+ export declare function refreshOwnSizedAxes(canvas: HTMLCanvasElement): CanvasOwnSizedAxes;
39
+ /** The canvas's CSS content box (its bounding box minus padding and border). Undefined without a layout engine. */
40
+ export declare function canvasContentBox(canvas: HTMLCanvasElement): {
41
+ readonly width: number;
42
+ readonly height: number;
43
+ } | undefined;
23
44
  //# sourceMappingURL=canvas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/canvas.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS,CA0BlF;AAoDD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAgC,GACzF,IAAI,CAeN;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3D,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK5D"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/canvas.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS,CA0BlF;AAoDD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAgC,GACzF,IAAI,CA2BN;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3D,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK5D;AAED,iIAAiI;AACjI,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAOD,yHAAyH;AACzH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAGpE;AAED,yIAAyI;AACzI,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAOhF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAkBjF;AAED,mHAAmH;AACnH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAS3H"}
@@ -70,18 +70,36 @@ function applyDefaultCanvasMountLayout(target) {
70
70
  target.style.overflow ||= "hidden";
71
71
  }
72
72
  export function configureCanvas(canvas, pixelRatio, resize, minimum = { width: 320, height: 220 }) {
73
- canvas.style.width ||= "100%";
74
- canvas.style.height ||= "100%";
73
+ // A second app on the same canvas starts from the page's own inline size, not the pixel size the previous app wrote.
74
+ const previous = engineInlineSize.get(canvas);
75
+ if (previous) {
76
+ if (canvas.style.width === previous.written.width)
77
+ canvas.style.width = previous.authored.width;
78
+ if (canvas.style.height === previous.written.height)
79
+ canvas.style.height = previous.authored.height;
80
+ }
81
+ const authored = { width: canvas.style.width, height: canvas.style.height };
82
+ // Before the probe: it assigns the backing store, which adds width/height attributes.
83
+ const keepAuthoredSize = !resize && hasAuthoredBackingStore(canvas);
84
+ const own = probeCssSizedAxes(canvas);
85
+ canvasOwnSizedAxes.set(canvas, own);
86
+ if (!own.width)
87
+ canvas.style.width ||= "100%";
88
+ if (!own.height)
89
+ canvas.style.height ||= "100%";
75
90
  canvas.style.display ||= "block";
76
91
  const rect = canvas.getBoundingClientRect();
92
+ const ownBox = own.width || own.height ? canvasContentBox(canvas) : undefined;
77
93
  const parent = canvas.parentElement;
78
- const cssWidth = rect.width || canvas.clientWidth || parent?.clientWidth || (typeof window !== "undefined" ? window.innerWidth : 960) || 960;
79
- const cssHeight = rect.height || canvas.clientHeight || parent?.clientHeight || (typeof window !== "undefined" ? window.innerHeight : 540) || 540;
80
- canvas.style.width = `${cssWidth}px`;
81
- canvas.style.height = `${cssHeight}px`;
94
+ const cssWidth = (own.width ? ownBox?.width : undefined) || rect.width || canvas.clientWidth || parent?.clientWidth || (typeof window !== "undefined" ? window.innerWidth : 960) || 960;
95
+ const cssHeight = (own.height ? ownBox?.height : undefined) || rect.height || canvas.clientHeight || parent?.clientHeight || (typeof window !== "undefined" ? window.innerHeight : 540) || 540;
96
+ if (!own.width)
97
+ canvas.style.width = `${cssWidth}px`;
98
+ if (!own.height)
99
+ canvas.style.height = `${cssHeight}px`;
100
+ engineInlineSize.set(canvas, { authored, written: { width: canvas.style.width, height: canvas.style.height } });
82
101
  const width = Math.max(minimum.width, Math.round(cssWidth * pixelRatio));
83
102
  const height = Math.max(minimum.height, Math.round(cssHeight * pixelRatio));
84
- const keepAuthoredSize = !resize && hasAuthoredBackingStore(canvas);
85
103
  canvas.width = keepAuthoredSize ? canvas.width : width;
86
104
  canvas.height = keepAuthoredSize ? canvas.height : height;
87
105
  }
@@ -100,4 +118,98 @@ export function authoredBackingResize(resize, canvas, synced) {
100
118
  return null;
101
119
  return { width: canvas.width, height: canvas.height };
102
120
  }
121
+ const canvasOwnSizedAxes = new WeakMap();
122
+ /** The page's inline size before the engine wrote one, and the last size the engine wrote. */
123
+ const engineInlineSize = new WeakMap();
124
+ /** Frame-loop resizes call this after writing the canvas's inline size, so a later mount can tell it from the page's. */
125
+ export function noteEngineCanvasSize(canvas) {
126
+ const entry = engineInlineSize.get(canvas);
127
+ if (entry)
128
+ entry.written = { width: canvas.style.width, height: canvas.style.height };
129
+ }
130
+ /** What `configureCanvas` decided for this canvas (both false when it never ran or could not measure). Live: resizes may set an axis. */
131
+ export function ownSizedCanvasAxes(canvas) {
132
+ let axes = canvasOwnSizedAxes.get(canvas);
133
+ if (!axes) {
134
+ axes = { width: false, height: false };
135
+ canvasOwnSizedAxes.set(canvas, axes);
136
+ }
137
+ return axes;
138
+ }
139
+ /**
140
+ * At a resize, checks the parent-fit axes again without touching the backing store, because a media query (a phone turned to
141
+ * portrait) can start sizing the canvas after the mount. With the engine's inline size removed, an axis whose content box
142
+ * is neither the backing store's size (an `auto` size) nor the size its ratio gives (an aspect-ratio-only size), and is
143
+ * smaller than the parent, is now sized by the page: it switches to the canvas's own box and keeps no inline size.
144
+ */
145
+ export function refreshOwnSizedAxes(canvas) {
146
+ const axes = ownSizedCanvasAxes(canvas);
147
+ if (axes.width && axes.height)
148
+ return axes;
149
+ const parent = canvas.parentElement;
150
+ if (!parent || typeof parent.getBoundingClientRect !== "function" || typeof getComputedStyle !== "function")
151
+ return axes;
152
+ const inline = { width: canvas.style.width, height: canvas.style.height };
153
+ if (!axes.width)
154
+ canvas.style.width = "";
155
+ if (!axes.height)
156
+ canvas.style.height = "";
157
+ const box = canvasContentBox(canvas);
158
+ const parentRect = parent.getBoundingClientRect();
159
+ const ratio = canvas.width > 0 ? canvas.height / canvas.width : 0;
160
+ const pageSized = (size, intrinsic, fromRatio, parentSize) => size > 0 && Math.abs(size - intrinsic) > 0.5 && Math.abs(size - fromRatio) > 0.5 && size < parentSize - 0.5;
161
+ if (box && !axes.width && pageSized(box.width, canvas.width, ratio > 0 ? box.height / ratio : -1, parentRect.width))
162
+ axes.width = true;
163
+ if (box && !axes.height && pageSized(box.height, canvas.height, box.width * ratio, parentRect.height))
164
+ axes.height = true;
165
+ if (!axes.width)
166
+ canvas.style.width = inline.width;
167
+ if (!axes.height)
168
+ canvas.style.height = inline.height;
169
+ return axes;
170
+ }
171
+ /** The canvas's CSS content box (its bounding box minus padding and border). Undefined without a layout engine. */
172
+ export function canvasContentBox(canvas) {
173
+ if (typeof getComputedStyle !== "function" || typeof canvas.getBoundingClientRect !== "function")
174
+ return undefined;
175
+ const rect = canvas.getBoundingClientRect();
176
+ const style = getComputedStyle(canvas);
177
+ const px = (value) => parseFloat(value) || 0;
178
+ return {
179
+ width: Math.max(0, rect.width - px(style.paddingLeft) - px(style.paddingRight) - px(style.borderLeftWidth) - px(style.borderRightWidth)),
180
+ height: Math.max(0, rect.height - px(style.paddingTop) - px(style.paddingBottom) - px(style.borderTopWidth) - px(style.borderBottomWidth))
181
+ };
182
+ }
183
+ /**
184
+ * top-tennis C2: a page that styles the canvas smaller than its parent (portrait score and control bands:
185
+ * `height: calc(100% - bands)` plus a top margin) had that size replaced by the parent's full height, which pushed the
186
+ * bottom of the canvas off screen. An axis counts as sized by the page's CSS when its content box does not move when the
187
+ * backing store changes (an `auto` CSS size follows the width/height attributes, and an aspect-ratio-only size follows
188
+ * their ratio) and the box is smaller than the parent's. Measured once at mount, before the engine writes any size; the
189
+ * probe changes the backing store, which the mount assigns again right after. Without a layout engine nothing is
190
+ * measured and both axes keep the parent fit.
191
+ */
192
+ function probeCssSizedAxes(canvas) {
193
+ const none = { width: false, height: false };
194
+ const parent = canvas.parentElement;
195
+ if (!parent || typeof parent.getBoundingClientRect !== "function")
196
+ return none;
197
+ const before = canvasContentBox(canvas);
198
+ if (!before || before.width <= 0 || before.height <= 0)
199
+ return none;
200
+ const backing = { width: canvas.width, height: canvas.height };
201
+ canvas.width = backing.width + 64;
202
+ canvas.height = backing.height + 48;
203
+ const after = canvasContentBox(canvas);
204
+ canvas.width = backing.width;
205
+ canvas.height = backing.height;
206
+ if (!after)
207
+ return none;
208
+ const parentRect = parent.getBoundingClientRect();
209
+ const fixedAxis = (a, b, parentSize) => Math.abs(a - b) <= 0.5 && a > 0 && a < parentSize - 0.5;
210
+ return {
211
+ width: fixedAxis(before.width, after.width, parentRect.width),
212
+ height: fixedAxis(before.height, after.height, parentRect.height)
213
+ };
214
+ }
103
215
  //# sourceMappingURL=canvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/canvas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAuraApp.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/createAuraApp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAe,oBAAoB,EAAgH,MAAM,mBAAmB,CAAC;AAiDjN,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CA63B3F"}
1
+ {"version":3,"file":"createAuraApp.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/app/createAuraApp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAe,oBAAoB,EAAgH,MAAM,mBAAmB,CAAC;AAmDjN,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CA48B3F"}
@@ -3,7 +3,7 @@ import { computeRuntimeAlpha } from "./frameAlpha.js";
3
3
  import { declaresWebGLContent, productionRenderErrorMessage } from "../compiler/observations.js";
4
4
  import { createDiagnosticsOverlay, renderDiagnosticPreviewToCanvas, shouldRenderOverlay } from "../public/devtools.js";
5
5
  import { createInitialDiagnostics, snapshotDiagnostics, validateSceneAssets } from "../diagnostics.js";
6
- import { createRuntimeScenePhysics, eulerToQuat, physics, quatToEuler, resolveNodePhysicsShape } from "../nodes/physics.js";
6
+ import { createRuntimeScenePhysics, nodeRotationQuaternion, physics, resolveNodePhysicsShape, writeNodeRotationFromBody } from "../nodes/physics.js";
7
7
  import { colorToLinearRgba } from "../colorUtils.js";
8
8
  import { scene } from "../nodes/scene.js";
9
9
  import { createComputeSurface } from "../nodes/compute.js";
@@ -17,7 +17,8 @@ import { appTierMaxPixelRatio, currentDevicePixelRatio, minimumBackingSize, reso
17
17
  import { resolveMountQuality } from "../compiler/renderer.js";
18
18
  import { AuraRuntimeError } from "./errors.js";
19
19
  import { AuraMigrationError } from "../compiler/errors.js";
20
- import { startProductionRender } from "./frameLoop.js";
20
+ import { createFrameRateMeter, startProductionRender } from "./frameLoop.js";
21
+ import { isDirectRenderPath, vetoDirectPath } from "./renderPath.js";
21
22
  import { registerAuraApp, unregisterAuraApp } from "./liveApps.js";
22
23
  import { markRouteError, markRouteReady } from "./routeState.js";
23
24
  import { AURA_APP_CANVAS, captureAuraScreenshot } from "./screenshot.js";
@@ -27,7 +28,7 @@ import { createGameInput } from "../GameRuntime.js";
27
28
  import { createPhysicsRuntime } from "../PhysicsRuntime.js";
28
29
  import { applyRootParticleQuality, hasRootRenderableContent, initializeRootPerformanceQuality, readRootDiagnosticSnapshot, setRootPerformanceQuality, supportsRootParticleQuality, validateRootPerformanceQuality } from "../RootRuntimeSupport.js";
29
30
  import { PhysicsWorld } from "../../../physics/world.js";
30
- import { normalizeCreateAppRendererOptions } from "./rendererOptions.js";
31
+ import { normalizeCreateAppRendererOptions, rendererQualityWarnings } from "./rendererOptions.js";
31
32
  import { qrFlagsWithAnimationMixer, resolveQrFlags } from "../../contracts/flags.js";
32
33
  import { setTypedGLBActorQrFlags } from "../../production-runtime/actor/extensions.js";
33
34
  import { setQrAnimationFlags } from "./actorAnimationHandle.js";
@@ -37,7 +38,8 @@ import { clearShaderFailures, setShaderFailureMode } from "../../../rendering/in
37
38
  import { createAuraRuntimeNodeRegistry } from "./runtimeNodes.js";
38
39
  import { setPrd01ModelMatrixCache } from "../compiler/renderInput.js";
39
40
  import { createModelMatrixCache } from "../sceneGraph.js";
40
- import { flattenAuraSceneSnapshot, modelMatrixFor } from "../compiler/sceneGraph.js";
41
+ import { flattenAuraSceneNodes, modelMatrixFor } from "../compiler/sceneGraph.js";
42
+ import { flattenTaggingMountedRoots } from "../compiler/mountedRoots.js";
41
43
  import { setPrd01ColorParsing } from "../compiler/color.js";
42
44
  import { collectGeneratedCodeWarnings } from "../looks/generatedCodeWarnings.js";
43
45
  import { material } from "../nodes/material.js";
@@ -70,7 +72,15 @@ export function createAuraApp(target, options) {
70
72
  // payload.extra.mountTiming (see markTiming in ./platform).
71
73
  markTiming("a3d:mount:create-app-start");
72
74
  let snapshot = normalizeSceneSnapshot(options.scene);
73
- let renderSnapshot = flattenSceneSnapshot(snapshot);
75
+ /*
76
+ * One top-level node at a time, so the compiled scene can find the children of a mounted group or look by the group's
77
+ * runtime id (`app.nodes.remove`). The concatenation is the same node list as flattening the whole list at once.
78
+ */
79
+ const flattenForRender = (scene, hierarchical) => ({
80
+ ...scene,
81
+ nodes: flattenTaggingMountedRoots(scene.nodes, hierarchical ? (nodes) => flattenAuraSceneNodes(nodes, qrFlags) : (nodes) => flattenSceneSnapshot({ ...scene, nodes: [...nodes] }).nodes)
82
+ });
83
+ let renderSnapshot = flattenForRender(snapshot, false);
74
84
  const rendererSelection = normalizeCreateAppRendererOptions(options.renderer);
75
85
  // PR 0 seams (CONTRACTS.md §3.2): flag resolution, C-27 quality-tier resolve, C-38
76
86
  // app-extension mount and C-31 diagnostics sections are fixed call sites owned by PRD 15.
@@ -100,7 +110,7 @@ export function createAuraApp(target, options) {
100
110
  // matrices) and the snapshot flattens hierarchically. Flag-off: unchanged.
101
111
  setPrd01ModelMatrixCache(qrFlags.on("A3D_QR_CORE") ? createModelMatrixCache(modelMatrixFor(qrFlags)) : null);
102
112
  if (qrFlags.on("A3D_QR_CORE"))
103
- renderSnapshot = flattenAuraSceneSnapshot(snapshot, qrFlags);
113
+ renderSnapshot = flattenForRender(snapshot, true);
104
114
  // 01-S5 (C-06): colorUtils helpers delegate to parseAuraColor under the flag.
105
115
  setPrd01ColorParsing(qrFlags.on("A3D_QR_CORE") ? { strict: options.strict ?? qrFlags.on("A3D_QR_STRICT") } : null);
106
116
  // Custom-shader compile/link failures: a fresh app starts with a clean failure list; strict (or
@@ -202,6 +212,30 @@ export function createAuraApp(target, options) {
202
212
  */
203
213
  const deviceLostListeners = new Map();
204
214
  const deviceRestoredListeners = new Map();
215
+ /*
216
+ * top-tennis C8: a restored context comes back with every GL object of the lost one gone, including the post chain's programs
217
+ * and targets, so frames stay black until something mounts the renderer again. Apps that remount in their own
218
+ * `onDeviceRestored` handler (setScene) keep doing so; for every other app the engine remounts the current scene, with
219
+ * nodes added at runtime, once those handlers have run. Runtime node handles, physics and the clock are kept.
220
+ */
221
+ let restoreRemountUnsubscribe;
222
+ const attachRestoreRemount = (controller) => {
223
+ restoreRemountUnsubscribe?.();
224
+ const attachedRevision = mountRevision;
225
+ restoreRemountUnsubscribe = controller.onDeviceRestored?.(() => {
226
+ if (disposed || attachedRevision !== mountRevision || productionController !== controller)
227
+ return;
228
+ try {
229
+ const current = runtimeNodes.sceneWithRuntimeAdditions() ?? snapshot;
230
+ renderSnapshot = flattenForRender(current, qrFlags.on("A3D_QR_CORE"));
231
+ mountCurrentScene();
232
+ diagnosticsState.warnings.push("DEVICE_RESTORED_REMOUNT: the WebGL context was restored; the scene was mounted again so it renders.");
233
+ }
234
+ catch (error) {
235
+ diagnosticsState.errors.push(`DEVICE_RESTORE_REMOUNT_FAILED: ${error instanceof Error ? error.message : String(error)}`);
236
+ }
237
+ });
238
+ };
205
239
  const attachDeviceListeners = (controller) => {
206
240
  for (const [listener, unsubscribe] of deviceLostListeners) {
207
241
  unsubscribe?.();
@@ -211,8 +245,12 @@ export function createAuraApp(target, options) {
211
245
  unsubscribe?.();
212
246
  deviceRestoredListeners.set(listener, controller.onDeviceRestored?.(listener));
213
247
  }
248
+ // Last, so the app's own restored handlers (which may remount through setScene) run first.
249
+ attachRestoreRemount(controller);
214
250
  };
215
251
  let lastTime = 0;
252
+ // ENG-FPS: the canvas preview loop reports a 1 s windowed rate, not 1000 / (last delta).
253
+ let canvasFrameRate = createFrameRateMeter();
216
254
  let mountRevision = 0;
217
255
  let canvasRuntimePhysics;
218
256
  const runtimeNodes = createAuraRuntimeNodeRegistry(renderSnapshot);
@@ -259,14 +297,14 @@ export function createAuraApp(target, options) {
259
297
  const world = appPhysicsWorldInstance;
260
298
  if (world === undefined)
261
299
  return;
262
- for (const [bodyId, runtimeId] of appPhysicsNodeBindings) {
300
+ for (const [bodyId, binding] of appPhysicsNodeBindings) {
263
301
  const body = world.getBody(bodyId);
264
- const handle = runtimeNodes.get(runtimeId);
302
+ const handle = runtimeNodes.get(binding.runtimeId);
265
303
  if (body === undefined || handle === undefined || body.sleeping)
266
304
  continue;
267
- const euler = quatToEuler(body.rotation);
268
305
  handle.setPosition(body.position[0], body.position[1], body.position[2]);
269
- handle.setRotation(euler[0], euler[1], euler[2]);
306
+ // Same convention the node was seeded with (anim-phys-01): quaternion or `rotationOrder`.
307
+ writeNodeRotationFromBody(binding.node, body.rotation, (euler) => handle.setRotation(euler[0], euler[1], euler[2]));
270
308
  }
271
309
  };
272
310
  /** Lazy `app.physics`. Identity is stable: the same runtime is returned on every access. */
@@ -310,7 +348,7 @@ export function createAuraApp(target, options) {
310
348
  const body = world.createRigidBody({
311
349
  type: spec.type ?? "dynamic",
312
350
  position: node.position ?? [0, 0, 0],
313
- rotation: eulerToQuat(node.rotation ?? [0, 0, 0]),
351
+ rotation: nodeRotationQuaternion(node),
314
352
  ...(spec.mass === undefined ? {} : { mass: spec.mass }),
315
353
  ...(spec.friction === undefined ? {} : { friction: spec.friction }),
316
354
  ...(spec.restitution === undefined ? {} : { restitution: spec.restitution })
@@ -324,7 +362,7 @@ export function createAuraApp(target, options) {
324
362
  appPhysicsNodeNames.set(body.id, node.name);
325
363
  const runtimeId = node.runtime?.id;
326
364
  if (options.physics?.bindNodes === true && runtimeId !== undefined && (spec.type ?? "dynamic") === "dynamic") {
327
- appPhysicsNodeBindings.set(body.id, runtimeId);
365
+ appPhysicsNodeBindings.set(body.id, { runtimeId, node });
328
366
  }
329
367
  }
330
368
  };
@@ -380,7 +418,7 @@ export function createAuraApp(target, options) {
380
418
  diagnosticsState.assets = [];
381
419
  diagnosticsState.evidence = fresh.evidence;
382
420
  diagnosticsState.renderer = fresh.renderer;
383
- diagnosticsState.warnings = [...fresh.warnings];
421
+ diagnosticsState.warnings = [...fresh.warnings, ...rendererQualityWarnings(options.renderer)];
384
422
  diagnosticsState.errors = [];
385
423
  validateSceneAssets(renderSnapshot, diagnosticsState.assets);
386
424
  diagnosticsState.warnings.push(...collectGeneratedCodeWarnings(renderSnapshot, qrFlags, {
@@ -398,7 +436,8 @@ export function createAuraApp(target, options) {
398
436
  canvasRuntimePhysics?.step(dt);
399
437
  }
400
438
  diagnosticsState.evidence = collectAuraSceneEvidence(renderSnapshot);
401
- diagnosticsState.fps = Math.round(1000 / delta);
439
+ canvasFrameRate.sample(time);
440
+ diagnosticsState.fps = canvasFrameRate.fps();
402
441
  /*
403
442
  * WS-2.5 — the live loop must respect the same rule as `step()`.
404
443
  *
@@ -425,6 +464,7 @@ export function createAuraApp(target, options) {
425
464
  productionController?.dispose();
426
465
  productionController = undefined;
427
466
  lastTime = 0;
467
+ canvasFrameRate = createFrameRateMeter();
428
468
  const shouldUseProductionRenderer = shouldUseProductionRendererForCurrentScene();
429
469
  /*
430
470
  * WS-2.5 — a scene with renderable content must never fall to the diagnostic 2D path.
@@ -639,7 +679,7 @@ export function createAuraApp(target, options) {
639
679
  setScene(nextScene) {
640
680
  assertMutableFrame();
641
681
  snapshot = normalizeSceneSnapshot(nextScene);
642
- renderSnapshot = flattenAuraSceneSnapshot(snapshot, qrFlags);
682
+ renderSnapshot = flattenForRender(snapshot, true);
643
683
  runtimeNodes.reset(renderSnapshot);
644
684
  // Drop bodies from the previous scene before registering the new ones, so swapping
645
685
  // scenes does not leave orphaned bodies colliding with the new level.
@@ -732,6 +772,9 @@ export function createAuraApp(target, options) {
732
772
  },
733
773
  onDeviceRestored(listener) {
734
774
  deviceRestoredListeners.set(listener, productionController?.onDeviceRestored?.(listener));
775
+ // Keep the engine's restore remount after the app's handlers.
776
+ if (productionController)
777
+ attachRestoreRemount(productionController);
735
778
  return () => {
736
779
  deviceRestoredListeners.get(listener)?.();
737
780
  deviceRestoredListeners.delete(listener);
@@ -872,6 +915,24 @@ export function createAuraApp(target, options) {
872
915
  if (productionController && !disposed && !productionController.busy?.()) {
873
916
  productionController.render(runtimeTime * 1000);
874
917
  }
918
+ else if (productionController && !disposed) {
919
+ /*
920
+ * RP-08: an async frame is in flight, so a synchronous render would throw and the buffer may be cleared or half drawn.
921
+ * Say so instead of returning a possibly blank image silently; `screenshotAsync()` waits for the frame.
922
+ */
923
+ const warning = "SCREENSHOT_DURING_ASYNC_FRAME: app.screenshot() was called while an async frame was in flight, so it could not re-render and may return a cleared canvas. Use await app.screenshotAsync().";
924
+ if (!diagnosticsState.warnings.includes(warning))
925
+ diagnosticsState.warnings.push(warning);
926
+ }
927
+ return captureAuraScreenshot(canvas);
928
+ },
929
+ async screenshotAsync() {
930
+ // RP-08: wait for pending stepAsync() calls and the controller's in-flight frame, then re-render and read in one task.
931
+ await asyncSteps;
932
+ await productionController?.whenIdle?.();
933
+ if (productionController && !disposed && !productionController.busy?.()) {
934
+ productionController.render(runtimeTime * 1000);
935
+ }
875
936
  return captureAuraScreenshot(canvas);
876
937
  },
877
938
  dispose() {
@@ -887,6 +948,8 @@ export function createAuraApp(target, options) {
887
948
  unsubscribe?.();
888
949
  deviceLostListeners.clear();
889
950
  deviceRestoredListeners.clear();
951
+ restoreRemountUnsubscribe?.();
952
+ restoreRemountUnsubscribe = undefined;
890
953
  if (animationHandle && typeof cancelAnimationFrame !== "undefined")
891
954
  cancelAnimationFrame(animationHandle);
892
955
  for (const controller of ownedInputControllers)
@@ -921,6 +984,32 @@ export function createAuraApp(target, options) {
921
984
  // assigned by the extension loop; cutCamera binds the controller's C-14
922
985
  // reset so the camera extension's onCut hook invalidates temporal history.
923
986
  const postSurface = app.post;
987
+ /*
988
+ * RP-03: a custom post pass needs the post chain, which the direct path does not have, and the path was chosen at mount
989
+ * (before any addPostPass call could run). On a direct-path canvas, keep the canvas off the direct path while the pass is
990
+ * registered and remount, carrying over nodes added at runtime, so the pass runs.
991
+ */
992
+ if (postSurface?.addPostPass && canvas) {
993
+ const addPostPass = postSurface.addPostPass.bind(postSurface);
994
+ postSurface.addPostPass = (pass) => {
995
+ const release = addPostPass(pass);
996
+ const releaseVeto = vetoDirectPath(canvas, `custom post pass "${pass.name}"`);
997
+ if (isDirectRenderPath(canvas) && !disposed) {
998
+ const remount = () => {
999
+ if (disposed)
1000
+ return;
1001
+ app.setScene(runtimeNodes.sceneWithRuntimeAdditions() ?? snapshot);
1002
+ // After setScene: the remount resets the warning list.
1003
+ diagnosticsState.warnings.push(`DIRECT_PATH_REMOUNT: custom post pass "${pass.name}" needs the HDR target; the scene was remounted so it runs.`);
1004
+ };
1005
+ if (pendingAsyncSteps > 0 || productionController?.busy?.())
1006
+ void asyncSteps.then(() => productionController?.whenIdle?.()).then(remount);
1007
+ else
1008
+ remount();
1009
+ }
1010
+ return () => { releaseVeto(); release(); };
1011
+ };
1012
+ }
924
1013
  app.addPostPass =
925
1014
  (p) => postSurface?.addPostPass?.(p) ?? (() => { });
926
1015
  app.setQualityTier =