@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.
- package/README.md +1 -0
- package/dist/animation/pose/BoneMask.d.ts +8 -0
- package/dist/animation/pose/BoneMask.d.ts.map +1 -1
- package/dist/animation/pose/BoneMask.js +18 -1
- package/dist/animation/pose/BoneMask.js.map +1 -1
- package/dist/animation/pose/PoseMixer.d.ts +18 -2
- package/dist/animation/pose/PoseMixer.d.ts.map +1 -1
- package/dist/animation/pose/PoseMixer.js +52 -4
- package/dist/animation/pose/PoseMixer.js.map +1 -1
- package/dist/animation/pose/RetargetWorker.d.ts +8 -1
- package/dist/animation/pose/RetargetWorker.d.ts.map +1 -1
- package/dist/animation/pose/RetargetWorker.js +30 -2
- package/dist/animation/pose/RetargetWorker.js.map +1 -1
- package/dist/aura3d-cli/index.d.ts +6 -0
- package/dist/aura3d-cli/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +28 -0
- package/dist/aura3d-cli/index.js.map +1 -1
- package/dist/create-aura3d/cli.js +22 -2
- package/dist/create-aura3d/cli.js.map +1 -1
- package/dist/create-aura3d/index.d.ts +11 -0
- package/dist/create-aura3d/index.d.ts.map +1 -1
- package/dist/create-aura3d/index.js +9 -2
- package/dist/create-aura3d/index.js.map +1 -1
- package/dist/create-aura3d/template-assets.d.ts +53 -0
- package/dist/create-aura3d/template-assets.d.ts.map +1 -0
- package/dist/create-aura3d/template-assets.js +116 -0
- package/dist/create-aura3d/template-assets.js.map +1 -0
- package/dist/engine/agent-api/Clock.d.ts +5 -2
- package/dist/engine/agent-api/Clock.d.ts.map +1 -1
- package/dist/engine/agent-api/Clock.js +9 -4
- package/dist/engine/agent-api/Clock.js.map +1 -1
- package/dist/engine/agent-api/animationMask.d.ts +14 -2
- package/dist/engine/agent-api/animationMask.d.ts.map +1 -1
- package/dist/engine/agent-api/animationMask.js +19 -4
- package/dist/engine/agent-api/animationMask.js.map +1 -1
- package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/app/actorAnimationHandle.js +7 -4
- package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
- package/dist/engine/agent-api/app/canvas.d.ts +21 -0
- package/dist/engine/agent-api/app/canvas.d.ts.map +1 -1
- package/dist/engine/agent-api/app/canvas.js +119 -7
- package/dist/engine/agent-api/app/canvas.js.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.js +104 -15
- package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.d.ts +13 -0
- package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.js +93 -12
- package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
- package/dist/engine/agent-api/app/parentFit.d.ts +20 -2
- package/dist/engine/agent-api/app/parentFit.d.ts.map +1 -1
- package/dist/engine/agent-api/app/parentFit.js +13 -9
- package/dist/engine/agent-api/app/parentFit.js.map +1 -1
- package/dist/engine/agent-api/app/renderPath.d.ts +31 -2
- package/dist/engine/agent-api/app/renderPath.d.ts.map +1 -1
- package/dist/engine/agent-api/app/renderPath.js +128 -22
- package/dist/engine/agent-api/app/renderPath.js.map +1 -1
- package/dist/engine/agent-api/app/rendererOptions.d.ts +27 -4
- package/dist/engine/agent-api/app/rendererOptions.d.ts.map +1 -1
- package/dist/engine/agent-api/app/rendererOptions.js +63 -16
- package/dist/engine/agent-api/app/rendererOptions.js.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.d.ts +2 -0
- package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.js +76 -2
- package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
- package/dist/engine/agent-api/compiler/animation.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/animation.js +4 -3
- package/dist/engine/agent-api/compiler/animation.js.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.d.ts +21 -5
- package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.js +103 -11
- package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
- package/dist/engine/agent-api/compiler/contactShadowKey.d.ts +14 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.js +66 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.js.map +1 -0
- package/dist/engine/agent-api/compiler/environment.d.ts +37 -0
- package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/environment.js +129 -11
- package/dist/engine/agent-api/compiler/environment.js.map +1 -1
- package/dist/engine/agent-api/compiler/mountedRoots.d.ts +6 -0
- package/dist/engine/agent-api/compiler/mountedRoots.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/mountedRoots.js +25 -0
- package/dist/engine/agent-api/compiler/mountedRoots.js.map +1 -0
- package/dist/engine/agent-api/compiler/primitives.d.ts +13 -1
- package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.js +28 -3
- package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.d.ts +5 -3
- package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.js +33 -7
- package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
- package/dist/engine/agent-api/compiler/shadows.d.ts +4 -1
- package/dist/engine/agent-api/compiler/shadows.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/shadows.js +6 -2
- package/dist/engine/agent-api/compiler/shadows.js.map +1 -1
- package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/instances.js +16 -4
- package/dist/engine/agent-api/nodes/instances.js.map +1 -1
- package/dist/engine/agent-api/nodes/model.d.ts +15 -0
- package/dist/engine/agent-api/nodes/model.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/model.js +37 -0
- package/dist/engine/agent-api/nodes/model.js.map +1 -1
- package/dist/engine/agent-api/nodes/physics.d.ts +25 -0
- package/dist/engine/agent-api/nodes/physics.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/physics.js +107 -11
- package/dist/engine/agent-api/nodes/physics.js.map +1 -1
- package/dist/engine/agent-api/nodes/primitives.d.ts +16 -1
- package/dist/engine/agent-api/nodes/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/primitives.js +11 -8
- package/dist/engine/agent-api/nodes/primitives.js.map +1 -1
- package/dist/engine/agent-api/nodes/types/runtime.d.ts +5 -0
- package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/types.d.ts +2 -0
- package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
- package/dist/engine/contracts/environment.d.ts +9 -0
- package/dist/engine/contracts/environment.d.ts.map +1 -1
- package/dist/engine/contracts/environment.js.map +1 -1
- package/dist/engine/contracts/lighting.d.ts +3 -0
- package/dist/engine/contracts/lighting.d.ts.map +1 -1
- package/dist/engine/contracts/lighting.js.map +1 -1
- package/dist/engine/lanes/prd02.d.ts +12 -4
- package/dist/engine/lanes/prd02.d.ts.map +1 -1
- package/dist/engine/lanes/prd02.js +23 -7
- package/dist/engine/lanes/prd02.js.map +1 -1
- package/dist/game/touch/TouchControls.d.ts.map +1 -1
- package/dist/game/touch/TouchControls.js +48 -12
- package/dist/game/touch/TouchControls.js.map +1 -1
- package/dist/react/index.d.ts +13 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +88 -8
- package/dist/react/index.js.map +1 -1
- package/dist/rendering/DepthPass.d.ts +7 -0
- package/dist/rendering/DepthPass.d.ts.map +1 -1
- package/dist/rendering/DepthPass.js +40 -4
- package/dist/rendering/DepthPass.js.map +1 -1
- package/dist/rendering/ForwardPass.d.ts +69 -5
- package/dist/rendering/ForwardPass.d.ts.map +1 -1
- package/dist/rendering/ForwardPass.js +119 -27
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/RenderDevice.d.ts +5 -0
- package/dist/rendering/RenderDevice.d.ts.map +1 -1
- package/dist/rendering/RenderDevice.js.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.js +8 -1
- package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
- package/dist/rendering/WebGL2Device.d.ts +3 -0
- package/dist/rendering/WebGL2Device.d.ts.map +1 -1
- package/dist/rendering/WebGL2Device.js +20 -0
- package/dist/rendering/WebGL2Device.js.map +1 -1
- package/dist/rendering/forward/Lighting.d.ts +32 -0
- package/dist/rendering/forward/Lighting.d.ts.map +1 -1
- package/dist/rendering/forward/Lighting.js +103 -3
- package/dist/rendering/forward/Lighting.js.map +1 -1
- package/dist/rendering/index.d.ts +2 -2
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +1 -1
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/post/v2Stages.d.ts.map +1 -1
- package/dist/rendering/post/v2Stages.js +2 -0
- package/dist/rendering/post/v2Stages.js.map +1 -1
- package/dist/rendering/quality/DirectPath.d.ts +13 -0
- package/dist/rendering/quality/DirectPath.d.ts.map +1 -1
- package/dist/rendering/quality/DirectPath.js +33 -1
- package/dist/rendering/quality/DirectPath.js.map +1 -1
- package/dist/rendering/renderer/Background.d.ts.map +1 -1
- package/dist/rendering/renderer/Background.js +31 -2
- package/dist/rendering/renderer/Background.js.map +1 -1
- package/dist/rendering/renderer/InstanceFrustumCull.d.ts +5 -3
- package/dist/rendering/renderer/InstanceFrustumCull.d.ts.map +1 -1
- package/dist/rendering/renderer/InstanceFrustumCull.js +17 -6
- package/dist/rendering/renderer/InstanceFrustumCull.js.map +1 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js +8 -2
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
- package/dist/rendering/shadows/CascadeUse.d.ts +3 -0
- package/dist/rendering/shadows/CascadeUse.d.ts.map +1 -1
- package/dist/rendering/shadows/CascadeUse.js +16 -1
- package/dist/rendering/shadows/CascadeUse.js.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts +4 -0
- package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.js +3 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
- package/dist/rendering/webgl2/ContextLifecycle.d.ts.map +1 -1
- package/dist/rendering/webgl2/ContextLifecycle.js +14 -2
- package/dist/rendering/webgl2/ContextLifecycle.js.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.d.ts +2 -0
- package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.js +24 -6
- package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
- package/package.json +25 -25
- package/templates/cinematic-scene/package.json +2 -2
- package/templates/mini-game/package.json +2 -2
- package/templates/product-viewer/package.json +2 -2
- package/templates/production-asset-inspector/package.json +1 -1
- package/templates/production-material-studio/package.json +1 -1
- package/templates/production-product-configurator/package.json +1 -1
- 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,
|
|
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
|
|
74
|
-
|
|
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
|
-
|
|
81
|
-
|
|
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;
|
|
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,
|
|
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 {
|
|
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
|
-
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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 =
|
|
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 =
|