@codexo/exojs 0.14.0 → 0.15.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.
- package/CHANGELOG.md +183 -0
- package/README.md +2 -4
- package/dist/esm/animation/Tween.d.ts.map +1 -1
- package/dist/esm/animation/Tween.js +0 -1
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +44 -5
- package/dist/esm/animation/TweenManager.d.ts.map +1 -1
- package/dist/esm/animation/TweenManager.js +57 -5
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/TweenSequencer.d.ts +139 -0
- package/dist/esm/animation/TweenSequencer.d.ts.map +1 -0
- package/dist/esm/animation/TweenSequencer.js +305 -0
- package/dist/esm/animation/TweenSequencer.js.map +1 -0
- package/dist/esm/animation/index.d.ts +1 -0
- package/dist/esm/animation/index.d.ts.map +1 -1
- package/dist/esm/audio/Playable.d.ts +6 -1
- package/dist/esm/audio/Playable.d.ts.map +1 -1
- package/dist/esm/audio/WorkletEffect.d.ts +34 -20
- package/dist/esm/audio/WorkletEffect.d.ts.map +1 -1
- package/dist/esm/audio/WorkletEffect.js +92 -25
- package/dist/esm/audio/WorkletEffect.js.map +1 -1
- package/dist/esm/core/Application.d.ts +43 -5
- package/dist/esm/core/Application.d.ts.map +1 -1
- package/dist/esm/core/Application.js +83 -9
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/BuildInfo.js +2 -2
- package/dist/esm/core/Codec.d.ts +41 -0
- package/dist/esm/core/Codec.d.ts.map +1 -0
- package/dist/esm/core/Codec.js +79 -0
- package/dist/esm/core/Codec.js.map +1 -0
- package/dist/esm/core/FixedTimestep.d.ts +28 -0
- package/dist/esm/core/FixedTimestep.d.ts.map +1 -0
- package/dist/esm/core/FixedTimestep.js +62 -0
- package/dist/esm/core/FixedTimestep.js.map +1 -0
- package/dist/esm/core/Scene.d.ts +14 -0
- package/dist/esm/core/Scene.d.ts.map +1 -1
- package/dist/esm/core/Scene.js +18 -0
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +7 -0
- package/dist/esm/core/SceneManager.d.ts.map +1 -1
- package/dist/esm/core/SceneManager.js +20 -4
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +46 -7
- package/dist/esm/core/SceneNode.d.ts.map +1 -1
- package/dist/esm/core/SceneNode.js +73 -12
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Stage.d.ts +7 -0
- package/dist/esm/core/Stage.d.ts.map +1 -1
- package/dist/esm/core/SystemRegistry.d.ts +5 -0
- package/dist/esm/core/SystemRegistry.d.ts.map +1 -1
- package/dist/esm/core/SystemRegistry.js +10 -0
- package/dist/esm/core/SystemRegistry.js.map +1 -1
- package/dist/esm/core/index.d.ts +4 -0
- package/dist/esm/core/index.d.ts.map +1 -1
- package/dist/esm/core/logging.d.ts +34 -0
- package/dist/esm/core/logging.d.ts.map +1 -0
- package/dist/esm/core/logging.js +59 -0
- package/dist/esm/core/logging.js.map +1 -0
- package/dist/esm/core/serialization/commonFields.d.ts.map +1 -1
- package/dist/esm/core/serialization/commonFields.js +6 -0
- package/dist/esm/core/serialization/commonFields.js.map +1 -1
- package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -1
- package/dist/esm/core/serialization/renderingSerializers.js +14 -5
- package/dist/esm/core/serialization/renderingSerializers.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.js +2 -1
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.js +4 -4
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.js +1 -1
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.js +2 -2
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
- package/dist/esm/index.js +7 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/Gamepad.d.ts +10 -0
- package/dist/esm/input/Gamepad.d.ts.map +1 -1
- package/dist/esm/input/Gamepad.js +12 -0
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts.map +1 -1
- package/dist/esm/input/InputManager.js +5 -0
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionManager.js +4 -4
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/math/AbstractVector.d.ts +4 -3
- package/dist/esm/math/AbstractVector.d.ts.map +1 -1
- package/dist/esm/math/AbstractVector.js +5 -4
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +2 -0
- package/dist/esm/math/ObservableVector.d.ts.map +1 -1
- package/dist/esm/math/ObservableVector.js +9 -0
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts.map +1 -1
- package/dist/esm/math/Polygon.js +4 -1
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts.map +1 -1
- package/dist/esm/math/collision-detection.js +14 -14
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +1 -1
- package/dist/esm/math/collision-primitives.d.ts.map +1 -1
- package/dist/esm/math/collision-primitives.js +4 -1
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/rendering/BackendTargetPass.d.ts +1 -1
- package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.d.ts +14 -10
- package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.js +16 -11
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/DrawContext.d.ts +48 -0
- package/dist/esm/rendering/DrawContext.d.ts.map +1 -0
- package/dist/esm/rendering/PassContext.d.ts +42 -0
- package/dist/esm/rendering/PassContext.d.ts.map +1 -0
- package/dist/esm/rendering/PassContext.js +48 -0
- package/dist/esm/rendering/PassContext.js.map +1 -0
- package/dist/esm/rendering/RenderBackend.d.ts +14 -0
- package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
- package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
- package/dist/esm/rendering/RenderNode.js +2 -2
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderNodePass.d.ts +1 -1
- package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -1
- package/dist/esm/rendering/RenderingContext.d.ts +47 -16
- package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
- package/dist/esm/rendering/RenderingContext.js +134 -36
- package/dist/esm/rendering/RenderingContext.js.map +1 -1
- package/dist/esm/rendering/TransformBuffer.d.ts +23 -0
- package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/TransformBuffer.js +58 -0
- package/dist/esm/rendering/TransformBuffer.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +38 -0
- package/dist/esm/rendering/View.d.ts.map +1 -1
- package/dist/esm/rendering/View.js +37 -0
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +9 -2
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/material/MeshMaterial.d.ts +20 -1
- package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -1
- package/dist/esm/rendering/material/MeshMaterial.js +17 -0
- package/dist/esm/rendering/material/MeshMaterial.js.map +1 -1
- package/dist/esm/rendering/material/SpriteMaterial.d.ts +20 -1
- package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -1
- package/dist/esm/rendering/material/SpriteMaterial.js +17 -0
- package/dist/esm/rendering/material/SpriteMaterial.js.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.js +7 -2
- package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
- package/dist/esm/rendering/plan/RenderInstruction.d.ts +5 -2
- package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.js +23 -5
- package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
- package/dist/esm/rendering/plan/RenderScope.d.ts +7 -0
- package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +17 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.js +50 -15
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/public.d.ts +5 -5
- package/dist/esm/rendering/public.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +57 -19
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.js +138 -31
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.js +8 -0
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
- package/dist/esm/rendering/text/BitmapText.js +2 -0
- package/dist/esm/rendering/text/BitmapText.js.map +1 -1
- package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
- package/dist/esm/rendering/text/HTMLText.js +2 -2
- package/dist/esm/rendering/text/HTMLText.js.map +1 -1
- package/dist/esm/rendering/text/Text.d.ts.map +1 -1
- package/dist/esm/rendering/text/Text.js +2 -0
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -1
- package/dist/esm/rendering/text/TextLayout.js +2 -3
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +37 -13
- package/dist/esm/rendering/types.d.ts.map +1 -1
- package/dist/esm/rendering/types.js +37 -13
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts +41 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js +222 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +34 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +108 -60
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +50 -11
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text.vert.js +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts +72 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js +494 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +27 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +157 -60
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +5 -29
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +3 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +8 -0
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +20 -0
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +6 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +4 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +3 -2
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +3 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +29 -5
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +13 -0
- package/dist/esm/resources/Loader.d.ts.map +1 -1
- package/dist/esm/resources/Loader.js +67 -7
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/coreAssetBindings.d.ts +11 -0
- package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -1
- package/dist/esm/resources/coreAssetBindings.js +10 -2
- package/dist/esm/resources/coreAssetBindings.js.map +1 -1
- package/dist/esm/ui/ScrollContainer.d.ts +63 -0
- package/dist/esm/ui/ScrollContainer.d.ts.map +1 -0
- package/dist/esm/ui/ScrollContainer.js +99 -0
- package/dist/esm/ui/ScrollContainer.js.map +1 -0
- package/dist/esm/ui/Tooltip.d.ts +67 -0
- package/dist/esm/ui/Tooltip.d.ts.map +1 -0
- package/dist/esm/ui/Tooltip.js +133 -0
- package/dist/esm/ui/Tooltip.js.map +1 -0
- package/dist/esm/ui/index.d.ts +4 -0
- package/dist/esm/ui/index.d.ts.map +1 -1
- package/dist/exo.debug.esm.js +1 -1
- package/dist/exo.debug.esm.js.map +1 -1
- package/dist/exo.esm.js +1 -1
- package/dist/exo.esm.js.map +1 -1
- package/dist/exo.iife.js +45273 -0
- package/dist/exo.iife.js.map +1 -0
- package/dist/exo.iife.min.js +2 -0
- package/dist/exo.iife.min.js.map +1 -0
- package/package.json +15 -3
- package/dist/esm/rendering/Camera.d.ts +0 -34
- package/dist/esm/rendering/Camera.d.ts.map +0 -1
- package/dist/esm/rendering/Camera.js +0 -38
- package/dist/esm/rendering/Camera.js.map +0 -1
|
@@ -9,7 +9,7 @@ import { InteractionManager } from '#input/InteractionManager';
|
|
|
9
9
|
import type { PointLike } from '#math/PointLike';
|
|
10
10
|
import { Random } from '#math/Random';
|
|
11
11
|
import type { RenderBackend } from '#rendering/RenderBackend';
|
|
12
|
-
import {
|
|
12
|
+
import { type CaptureOptions, RenderingContext } from '#rendering/RenderingContext';
|
|
13
13
|
import { type RenderNode } from '#rendering/RenderNode';
|
|
14
14
|
import type { RenderTexture } from '#rendering/texture/RenderTexture';
|
|
15
15
|
import { Texture } from '#rendering/texture/Texture';
|
|
@@ -94,6 +94,11 @@ export interface ApplicationOptions {
|
|
|
94
94
|
input?: InputApplicationOptions;
|
|
95
95
|
/** Seed for the per-Application {@link Application.random} RNG. Omit for a non-deterministic seed. */
|
|
96
96
|
seed?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Fixed-timestep size in **seconds** for {@link Scene.fixedUpdate} / {@link Application.onFixedFrame}.
|
|
99
|
+
* Default `1 / 60`. Must be positive.
|
|
100
|
+
*/
|
|
101
|
+
fixedTimeStep?: number;
|
|
97
102
|
/**
|
|
98
103
|
* Extension selection.
|
|
99
104
|
* `undefined` → Core + globally registered extensions.
|
|
@@ -165,15 +170,22 @@ export declare class Application {
|
|
|
165
170
|
readonly serializers: SerializationRegistry;
|
|
166
171
|
readonly onResize: Signal<[number, number, Application]>;
|
|
167
172
|
readonly onFrame: Signal<[Time]>;
|
|
173
|
+
/** Dispatched once per fixed-timestep step (zero or more times per frame), ahead of {@link onFrame}. */
|
|
174
|
+
readonly onFixedFrame: Signal<[Time]>;
|
|
168
175
|
readonly onCanvasFocusChange: Signal<[focused: boolean]>;
|
|
169
176
|
readonly onVisibilityChange: Signal<[visible: boolean]>;
|
|
170
177
|
readonly onBackendLost: Signal<[]>;
|
|
171
178
|
readonly onBackendRestored: Signal<[]>;
|
|
179
|
+
/** Dispatched when an unhandled error occurs in scene lifecycle. */
|
|
180
|
+
readonly onError: Signal<[error: Error]>;
|
|
172
181
|
pauseOnHidden: boolean;
|
|
173
182
|
private readonly _updateHandler;
|
|
174
183
|
private readonly _startupClock;
|
|
175
184
|
private readonly _activeClock;
|
|
176
185
|
private readonly _frameClock;
|
|
186
|
+
private readonly _fixed;
|
|
187
|
+
private readonly _fixedTime;
|
|
188
|
+
private _frameAlpha;
|
|
177
189
|
private _status;
|
|
178
190
|
private _pixelRatio;
|
|
179
191
|
private _designWidth;
|
|
@@ -189,6 +201,7 @@ export declare class Application {
|
|
|
189
201
|
private _cursor;
|
|
190
202
|
private readonly _visibilityChangeHandler;
|
|
191
203
|
private _resizeObserver;
|
|
204
|
+
private _sizingMode;
|
|
192
205
|
private readonly _audio;
|
|
193
206
|
constructor(appSettings?: ApplicationOptions);
|
|
194
207
|
get status(): ApplicationStatus;
|
|
@@ -196,6 +209,15 @@ export declare class Application {
|
|
|
196
209
|
get activeTime(): Time;
|
|
197
210
|
get frameTime(): Time;
|
|
198
211
|
get frameCount(): number;
|
|
212
|
+
/**
|
|
213
|
+
* Interpolation factor `[0, 1)` — the leftover sub-step fraction after this
|
|
214
|
+
* frame's fixed steps. Lerp rendered state between its previous and current
|
|
215
|
+
* fixed-step values by this to smooth motion when the fixed rate is below the
|
|
216
|
+
* frame rate.
|
|
217
|
+
*/
|
|
218
|
+
get frameAlpha(): number;
|
|
219
|
+
/** Fixed-timestep size in seconds (see {@link ApplicationOptions.fixedTimeStep}). */
|
|
220
|
+
get fixedTimeStep(): number;
|
|
199
221
|
/**
|
|
200
222
|
* Low-level render backend. Prefer the high-level
|
|
201
223
|
* {@link Application.rendering} render context for normal rendering.
|
|
@@ -221,6 +243,21 @@ export declare class Application {
|
|
|
221
243
|
get documentVisible(): boolean;
|
|
222
244
|
get cursor(): string;
|
|
223
245
|
set cursor(cursor: string);
|
|
246
|
+
/**
|
|
247
|
+
* The active {@link CanvasSizingMode}. Assigning a new mode re-applies the
|
|
248
|
+
* sizing strategy live: the previous mode's {@link ResizeObserver} (if any)
|
|
249
|
+
* is disconnected and the new mode's CSS / observer is installed. Assigning
|
|
250
|
+
* the current value is a no-op.
|
|
251
|
+
*/
|
|
252
|
+
get sizingMode(): CanvasSizingMode;
|
|
253
|
+
set sizingMode(mode: CanvasSizingMode);
|
|
254
|
+
/**
|
|
255
|
+
* The colour the canvas is cleared to each frame, as a live {@link Color}.
|
|
256
|
+
* Assigning copies into the backend's clear colour (effective next frame);
|
|
257
|
+
* you may also mutate it in place via `app.clearColor.set(...)`.
|
|
258
|
+
*/
|
|
259
|
+
get clearColor(): Color;
|
|
260
|
+
set clearColor(color: Color);
|
|
224
261
|
get audio(): AudioManager;
|
|
225
262
|
/**
|
|
226
263
|
* Logical (design-space) canvas width — the value passed as `canvas.width`
|
|
@@ -245,7 +282,7 @@ export declare class Application {
|
|
|
245
282
|
* {@link Pointer.x}/{@link Pointer.y} and node positions, e.g. `0..app.width`
|
|
246
283
|
* — to a world position using the active camera. At the default centered
|
|
247
284
|
* camera this is the identity; with a panned/zoomed/rotated camera it undoes
|
|
248
|
-
* the transform. Equivalent to `app.rendering.
|
|
285
|
+
* the transform. Equivalent to `app.rendering.view.screenToWorld(x, y)`.
|
|
249
286
|
*/
|
|
250
287
|
screenToWorld(x: number, y: number): PointLike;
|
|
251
288
|
/**
|
|
@@ -331,11 +368,12 @@ export declare class Application {
|
|
|
331
368
|
*/
|
|
332
369
|
setCursor(cursor: string | Texture | HTMLImageElement | HTMLCanvasElement): this;
|
|
333
370
|
/**
|
|
334
|
-
*
|
|
371
|
+
* Captures `node` into a freshly allocated off-screen {@link RenderTexture}
|
|
372
|
+
* and returns it.
|
|
335
373
|
*
|
|
336
|
-
* Convenience wrapper that delegates to {@link RenderingContext.
|
|
374
|
+
* Convenience wrapper that delegates to {@link RenderingContext.capture}.
|
|
337
375
|
*/
|
|
338
|
-
|
|
376
|
+
capture(node: RenderNode, options: CaptureOptions): RenderTexture;
|
|
339
377
|
/**
|
|
340
378
|
* Tear down every owned subsystem (loader, the app systems — input,
|
|
341
379
|
* interaction, audio, tweens, rendering — backend, scene manager, all clocks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../../src/core/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../../src/core/Application.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,12 @@ import { Color } from './Color.js';
|
|
|
13
13
|
import './SceneNode.js';
|
|
14
14
|
import { Signal } from './Signal.js';
|
|
15
15
|
import '../math/Rectangle.js';
|
|
16
|
+
import '../rendering/types.js';
|
|
16
17
|
import '../rendering/plan/RenderCommand.js';
|
|
17
18
|
import '../rendering/plan/RenderScope.js';
|
|
18
19
|
import '../rendering/texture/RenderTexture.js';
|
|
19
20
|
import { Texture } from '../rendering/texture/Texture.js';
|
|
20
21
|
import '../rendering/pass/RenderPassDescriptor.js';
|
|
21
|
-
import '../rendering/types.js';
|
|
22
22
|
import '../rendering/View.js';
|
|
23
23
|
import { WebGl2Backend } from '../rendering/webgl2/WebGl2Backend.js';
|
|
24
24
|
import { WebGpuBackend } from '../rendering/webgpu/WebGpuBackend.js';
|
|
@@ -26,7 +26,9 @@ import { coreAssetBindings } from '../resources/coreAssetBindings.js';
|
|
|
26
26
|
import { Loader } from '../resources/Loader.js';
|
|
27
27
|
import { Capabilities } from './capabilities.js';
|
|
28
28
|
import { Clock } from './Clock.js';
|
|
29
|
+
import { FixedTimestep } from './FixedTimestep.js';
|
|
29
30
|
import { computeLetterboxLayout } from './letterbox.js';
|
|
31
|
+
import { logger } from './logging.js';
|
|
30
32
|
import { SceneManager } from './SceneManager.js';
|
|
31
33
|
import { SerializationRegistry, defaultSerializationRegistry } from './serialization/SerializationRegistry.js';
|
|
32
34
|
import { SystemRegistry } from './SystemRegistry.js';
|
|
@@ -41,6 +43,10 @@ var ApplicationStatus;
|
|
|
41
43
|
ApplicationStatus[ApplicationStatus["Stopped"] = 4] = "Stopped";
|
|
42
44
|
})(ApplicationStatus || (ApplicationStatus = {}));
|
|
43
45
|
const maxDeltaMs = 100;
|
|
46
|
+
/** Default fixed-timestep size in milliseconds (60 Hz). */
|
|
47
|
+
const defaultFixedStepMs = 1000 / 60;
|
|
48
|
+
/** Max fixed steps run in one frame — the spiral-of-death guard. */
|
|
49
|
+
const maxFixedSteps = 5;
|
|
44
50
|
const createDefaultCanvas = () => document.createElement('canvas');
|
|
45
51
|
/**
|
|
46
52
|
* Upper bound for the auto-resolved device-pixel ratio. Caps the backing-store
|
|
@@ -140,15 +146,22 @@ class Application {
|
|
|
140
146
|
serializers = new SerializationRegistry(defaultSerializationRegistry);
|
|
141
147
|
onResize = new Signal();
|
|
142
148
|
onFrame = new Signal();
|
|
149
|
+
/** Dispatched once per fixed-timestep step (zero or more times per frame), ahead of {@link onFrame}. */
|
|
150
|
+
onFixedFrame = new Signal();
|
|
143
151
|
onCanvasFocusChange = new Signal();
|
|
144
152
|
onVisibilityChange = new Signal();
|
|
145
153
|
onBackendLost = new Signal();
|
|
146
154
|
onBackendRestored = new Signal();
|
|
155
|
+
/** Dispatched when an unhandled error occurs in scene lifecycle. */
|
|
156
|
+
onError = new Signal();
|
|
147
157
|
pauseOnHidden = false;
|
|
148
158
|
_updateHandler;
|
|
149
159
|
_startupClock = new Clock();
|
|
150
160
|
_activeClock = new Clock();
|
|
151
161
|
_frameClock = new Clock();
|
|
162
|
+
_fixed;
|
|
163
|
+
_fixedTime;
|
|
164
|
+
_frameAlpha = 0;
|
|
152
165
|
_status = ApplicationStatus.Stopped;
|
|
153
166
|
_pixelRatio = defaultCanvasSettings.pixelRatio;
|
|
154
167
|
_designWidth = defaultCanvasSettings.width;
|
|
@@ -164,6 +177,7 @@ class Application {
|
|
|
164
177
|
_cursor = 'default';
|
|
165
178
|
_visibilityChangeHandler = this._onDocumentVisibilityChange.bind(this);
|
|
166
179
|
_resizeObserver = null;
|
|
180
|
+
_sizingMode = 'fixed';
|
|
167
181
|
_audio = new AudioManager();
|
|
168
182
|
constructor(appSettings = {}) {
|
|
169
183
|
const canvasOptions = appSettings.canvas ?? {};
|
|
@@ -188,7 +202,8 @@ class Application {
|
|
|
188
202
|
this.canvas.style.imageRendering = canvasOptions.imageRendering;
|
|
189
203
|
}
|
|
190
204
|
this._mountCanvas(canvasOptions.mount);
|
|
191
|
-
this.
|
|
205
|
+
this._sizingMode = canvasOptions.sizingMode ?? 'fixed';
|
|
206
|
+
this._applySizingMode(this._sizingMode);
|
|
192
207
|
this.options = {
|
|
193
208
|
clearColor: appSettings.clearColor ?? Color.cornflowerBlue,
|
|
194
209
|
backend: appSettings.backend ?? defaultBackendConfig,
|
|
@@ -243,6 +258,9 @@ class Application {
|
|
|
243
258
|
this.scene = new SceneManager(this);
|
|
244
259
|
this.random = new Random(this.options.seed);
|
|
245
260
|
this._updateHandler = this.update.bind(this);
|
|
261
|
+
const fixedStepMs = this.options.fixedTimeStep !== undefined ? this.options.fixedTimeStep * 1000 : defaultFixedStepMs;
|
|
262
|
+
this._fixed = new FixedTimestep(fixedStepMs, maxFixedSteps);
|
|
263
|
+
this._fixedTime = new Time(fixedStepMs);
|
|
246
264
|
// Register the core managers as ordered app systems (reserved order bands);
|
|
247
265
|
// they tick from one loop, ahead of any user systems (order 600+).
|
|
248
266
|
this.systems.add(this.input);
|
|
@@ -277,6 +295,19 @@ class Application {
|
|
|
277
295
|
get frameCount() {
|
|
278
296
|
return this._frameCount;
|
|
279
297
|
}
|
|
298
|
+
/**
|
|
299
|
+
* Interpolation factor `[0, 1)` — the leftover sub-step fraction after this
|
|
300
|
+
* frame's fixed steps. Lerp rendered state between its previous and current
|
|
301
|
+
* fixed-step values by this to smooth motion when the fixed rate is below the
|
|
302
|
+
* frame rate.
|
|
303
|
+
*/
|
|
304
|
+
get frameAlpha() {
|
|
305
|
+
return this._frameAlpha;
|
|
306
|
+
}
|
|
307
|
+
/** Fixed-timestep size in seconds (see {@link ApplicationOptions.fixedTimeStep}). */
|
|
308
|
+
get fixedTimeStep() {
|
|
309
|
+
return this._fixed.stepMs / 1000;
|
|
310
|
+
}
|
|
280
311
|
/**
|
|
281
312
|
* Low-level render backend. Prefer the high-level
|
|
282
313
|
* {@link Application.rendering} render context for normal rendering.
|
|
@@ -319,6 +350,35 @@ class Application {
|
|
|
319
350
|
set cursor(cursor) {
|
|
320
351
|
this.setCursor(cursor);
|
|
321
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* The active {@link CanvasSizingMode}. Assigning a new mode re-applies the
|
|
355
|
+
* sizing strategy live: the previous mode's {@link ResizeObserver} (if any)
|
|
356
|
+
* is disconnected and the new mode's CSS / observer is installed. Assigning
|
|
357
|
+
* the current value is a no-op.
|
|
358
|
+
*/
|
|
359
|
+
get sizingMode() {
|
|
360
|
+
return this._sizingMode;
|
|
361
|
+
}
|
|
362
|
+
set sizingMode(mode) {
|
|
363
|
+
if (mode === this._sizingMode) {
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
this._resizeObserver?.disconnect();
|
|
367
|
+
this._resizeObserver = null;
|
|
368
|
+
this._sizingMode = mode;
|
|
369
|
+
this._applySizingMode(mode);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* The colour the canvas is cleared to each frame, as a live {@link Color}.
|
|
373
|
+
* Assigning copies into the backend's clear colour (effective next frame);
|
|
374
|
+
* you may also mutate it in place via `app.clearColor.set(...)`.
|
|
375
|
+
*/
|
|
376
|
+
get clearColor() {
|
|
377
|
+
return this._backend.clearColor;
|
|
378
|
+
}
|
|
379
|
+
set clearColor(color) {
|
|
380
|
+
this._backend.clearColor.copy(color);
|
|
381
|
+
}
|
|
322
382
|
get audio() {
|
|
323
383
|
return this._audio;
|
|
324
384
|
}
|
|
@@ -351,10 +411,10 @@ class Application {
|
|
|
351
411
|
* {@link Pointer.x}/{@link Pointer.y} and node positions, e.g. `0..app.width`
|
|
352
412
|
* — to a world position using the active camera. At the default centered
|
|
353
413
|
* camera this is the identity; with a panned/zoomed/rotated camera it undoes
|
|
354
|
-
* the transform. Equivalent to `app.rendering.
|
|
414
|
+
* the transform. Equivalent to `app.rendering.view.screenToWorld(x, y)`.
|
|
355
415
|
*/
|
|
356
416
|
screenToWorld(x, y) {
|
|
357
|
-
return this._rendering.
|
|
417
|
+
return this._rendering.view.screenToWorld(x, y);
|
|
358
418
|
}
|
|
359
419
|
/**
|
|
360
420
|
* Map a canvas backing-store pixel coordinate into design space. Because the
|
|
@@ -390,6 +450,7 @@ class Application {
|
|
|
390
450
|
await this.scene.setScene(scene);
|
|
391
451
|
this._frameRequest = requestAnimationFrame(this._updateHandler);
|
|
392
452
|
this._frameClock.restart();
|
|
453
|
+
this._fixed.reset();
|
|
393
454
|
this._activeClock.start();
|
|
394
455
|
this._status = ApplicationStatus.Running;
|
|
395
456
|
}
|
|
@@ -428,6 +489,7 @@ class Application {
|
|
|
428
489
|
if (this._status === ApplicationStatus.Running) {
|
|
429
490
|
if (this.pauseOnHidden && !this._documentVisible) {
|
|
430
491
|
this._frameClock.restart();
|
|
492
|
+
this._fixed.reset();
|
|
431
493
|
this._frameRequest = requestAnimationFrame(this._updateHandler);
|
|
432
494
|
return this;
|
|
433
495
|
}
|
|
@@ -438,6 +500,14 @@ class Application {
|
|
|
438
500
|
this.backend.resetStats();
|
|
439
501
|
this.backend.stats.rawFrameDeltaMs = rawDeltaMs;
|
|
440
502
|
this.systems._tick(frameDelta);
|
|
503
|
+
// Fixed-timestep steps (0..N) for deterministic logic/physics, after input
|
|
504
|
+
// so they see this frame's input and before the variable update/draw.
|
|
505
|
+
const fixedSteps = this._fixed.advance(clampedDeltaMs);
|
|
506
|
+
for (let step = 0; step < fixedSteps; step++) {
|
|
507
|
+
this.scene.fixedUpdate(this._fixedTime);
|
|
508
|
+
this.onFixedFrame.dispatch(this._fixedTime);
|
|
509
|
+
}
|
|
510
|
+
this._frameAlpha = this._fixed.alpha;
|
|
441
511
|
this.scene.update(frameDelta);
|
|
442
512
|
this.onFrame.dispatch(frameDelta);
|
|
443
513
|
this.backend.flush();
|
|
@@ -458,7 +528,8 @@ class Application {
|
|
|
458
528
|
this._status = ApplicationStatus.Halting;
|
|
459
529
|
cancelAnimationFrame(this._frameRequest);
|
|
460
530
|
void this.scene.setScene(null).catch((error) => {
|
|
461
|
-
|
|
531
|
+
logger.error('core', 'Application.stop() failed to unload the active scene.', error instanceof Error ? error : undefined);
|
|
532
|
+
this.onError?.dispatch(error instanceof Error ? error : new Error(String(error)));
|
|
462
533
|
});
|
|
463
534
|
this._activeClock.stop();
|
|
464
535
|
this._frameClock.stop();
|
|
@@ -588,12 +659,13 @@ class Application {
|
|
|
588
659
|
return this;
|
|
589
660
|
}
|
|
590
661
|
/**
|
|
591
|
-
*
|
|
662
|
+
* Captures `node` into a freshly allocated off-screen {@link RenderTexture}
|
|
663
|
+
* and returns it.
|
|
592
664
|
*
|
|
593
|
-
* Convenience wrapper that delegates to {@link RenderingContext.
|
|
665
|
+
* Convenience wrapper that delegates to {@link RenderingContext.capture}.
|
|
594
666
|
*/
|
|
595
|
-
|
|
596
|
-
return this._rendering.
|
|
667
|
+
capture(node, options) {
|
|
668
|
+
return this._rendering.capture(node, options);
|
|
597
669
|
}
|
|
598
670
|
/**
|
|
599
671
|
* Tear down every owned subsystem (loader, the app systems — input,
|
|
@@ -618,10 +690,12 @@ class Application {
|
|
|
618
690
|
this._frameClock.destroy();
|
|
619
691
|
this.onResize.destroy();
|
|
620
692
|
this.onFrame.destroy();
|
|
693
|
+
this.onFixedFrame.destroy();
|
|
621
694
|
this.onCanvasFocusChange.destroy();
|
|
622
695
|
this.onVisibilityChange.destroy();
|
|
623
696
|
this.onBackendLost.destroy();
|
|
624
697
|
this.onBackendRestored.destroy();
|
|
698
|
+
this.onError.destroy();
|
|
625
699
|
}
|
|
626
700
|
_onDocumentVisibilityChange() {
|
|
627
701
|
const visible = document.visibilityState === 'visible';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sources":["../../../../src/core/Application.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Application.js","sources":["../../../../src/core/Application.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Binary codec helpers: base64 decoding and stream decompression.
|
|
3
|
+
*
|
|
4
|
+
* These are zero-dependency wrappers over platform primitives (`atob` and the
|
|
5
|
+
* native `DecompressionStream`), useful for save games, embedded binary blobs,
|
|
6
|
+
* network payloads, and inline-encoded asset data (e.g. base64/gzip tile-layer
|
|
7
|
+
* data in Tiled maps).
|
|
8
|
+
*
|
|
9
|
+
* Decompression is async because `DecompressionStream` is a streaming API.
|
|
10
|
+
* Only the formats the platform implements natively are supported — notably
|
|
11
|
+
* **not** `zstd`, which has no native browser decoder.
|
|
12
|
+
*/
|
|
13
|
+
/** Compression formats supported by the native `DecompressionStream`. */
|
|
14
|
+
export type DecompressFormat = 'gzip' | 'deflate' | 'deflate-raw';
|
|
15
|
+
/**
|
|
16
|
+
* Decode a standard base64 string into raw bytes. Whitespace (newlines, spaces)
|
|
17
|
+
* is ignored, so multi-line base64 blocks decode correctly.
|
|
18
|
+
*
|
|
19
|
+
* @throws If the input is not valid base64.
|
|
20
|
+
*/
|
|
21
|
+
declare function decodeBase64(input: string): Uint8Array;
|
|
22
|
+
/**
|
|
23
|
+
* Decompress a byte buffer using the native `DecompressionStream`.
|
|
24
|
+
*
|
|
25
|
+
* - `'gzip'` — gzip container (RFC 1952).
|
|
26
|
+
* - `'deflate'` — zlib container (RFC 1950), Tiled's `zlib` compression.
|
|
27
|
+
* - `'deflate-raw'` — raw DEFLATE with no header (RFC 1951).
|
|
28
|
+
*
|
|
29
|
+
* @throws If the platform lacks `DecompressionStream`, or the data is corrupt.
|
|
30
|
+
*/
|
|
31
|
+
declare function decompress(bytes: Uint8Array, format: DecompressFormat): Promise<Uint8Array>;
|
|
32
|
+
/**
|
|
33
|
+
* Binary codec facade, grouped as a namespace so the public API carries no
|
|
34
|
+
* loose codec functions.
|
|
35
|
+
*/
|
|
36
|
+
export declare const Codec: {
|
|
37
|
+
readonly decodeBase64: typeof decodeBase64;
|
|
38
|
+
readonly decompress: typeof decompress;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=Codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codec.d.ts","sourceRoot":"","sources":["../../../src/core/Codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,yEAAyE;AACzE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;AAElE;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAS/C;AAED;;;;;;;;GAQG;AACH,iBAAe,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgC1F;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK;;;CAGR,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Binary codec helpers: base64 decoding and stream decompression.
|
|
3
|
+
*
|
|
4
|
+
* These are zero-dependency wrappers over platform primitives (`atob` and the
|
|
5
|
+
* native `DecompressionStream`), useful for save games, embedded binary blobs,
|
|
6
|
+
* network payloads, and inline-encoded asset data (e.g. base64/gzip tile-layer
|
|
7
|
+
* data in Tiled maps).
|
|
8
|
+
*
|
|
9
|
+
* Decompression is async because `DecompressionStream` is a streaming API.
|
|
10
|
+
* Only the formats the platform implements natively are supported — notably
|
|
11
|
+
* **not** `zstd`, which has no native browser decoder.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Decode a standard base64 string into raw bytes. Whitespace (newlines, spaces)
|
|
15
|
+
* is ignored, so multi-line base64 blocks decode correctly.
|
|
16
|
+
*
|
|
17
|
+
* @throws If the input is not valid base64.
|
|
18
|
+
*/
|
|
19
|
+
function decodeBase64(input) {
|
|
20
|
+
const clean = input.replaceAll(/\s+/g, '');
|
|
21
|
+
const binary = atob(clean);
|
|
22
|
+
const length = binary.length;
|
|
23
|
+
const bytes = new Uint8Array(length);
|
|
24
|
+
for (let i = 0; i < length; i++) {
|
|
25
|
+
bytes[i] = binary.charCodeAt(i);
|
|
26
|
+
}
|
|
27
|
+
return bytes;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Decompress a byte buffer using the native `DecompressionStream`.
|
|
31
|
+
*
|
|
32
|
+
* - `'gzip'` — gzip container (RFC 1952).
|
|
33
|
+
* - `'deflate'` — zlib container (RFC 1950), Tiled's `zlib` compression.
|
|
34
|
+
* - `'deflate-raw'` — raw DEFLATE with no header (RFC 1951).
|
|
35
|
+
*
|
|
36
|
+
* @throws If the platform lacks `DecompressionStream`, or the data is corrupt.
|
|
37
|
+
*/
|
|
38
|
+
async function decompress(bytes, format) {
|
|
39
|
+
if (typeof DecompressionStream === 'undefined') {
|
|
40
|
+
throw new Error('Codec.decompress requires the native DecompressionStream API.');
|
|
41
|
+
}
|
|
42
|
+
// Feed the input through the decompressor as a single chunk, then drain the
|
|
43
|
+
// output by reading the stream directly. Avoids Blob/Response so the helper
|
|
44
|
+
// works uniformly across browsers, Node, and jsdom test environments.
|
|
45
|
+
const source = new ReadableStream({
|
|
46
|
+
start(controller) {
|
|
47
|
+
controller.enqueue(bytes);
|
|
48
|
+
controller.close();
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
const reader = source.pipeThrough(new DecompressionStream(format)).getReader();
|
|
52
|
+
const chunks = [];
|
|
53
|
+
let total = 0;
|
|
54
|
+
for (;;) {
|
|
55
|
+
const { done, value } = await reader.read();
|
|
56
|
+
if (done)
|
|
57
|
+
break;
|
|
58
|
+
chunks.push(value);
|
|
59
|
+
total += value.length;
|
|
60
|
+
}
|
|
61
|
+
const out = new Uint8Array(total);
|
|
62
|
+
let offset = 0;
|
|
63
|
+
for (const chunk of chunks) {
|
|
64
|
+
out.set(chunk, offset);
|
|
65
|
+
offset += chunk.length;
|
|
66
|
+
}
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Binary codec facade, grouped as a namespace so the public API carries no
|
|
71
|
+
* loose codec functions.
|
|
72
|
+
*/
|
|
73
|
+
const Codec = {
|
|
74
|
+
decodeBase64,
|
|
75
|
+
decompress,
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export { Codec };
|
|
79
|
+
//# sourceMappingURL=Codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codec.js","sources":["../../../../src/core/Codec.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;AAWG;AAKH;;;;;AAKG;AACH,SAAS,YAAY,CAAC,KAAa,EAAA;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;AAC1B,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;AAC5B,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;AACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjC;AACA,IAAA,OAAO,KAAK;AACd;AAEA;;;;;;;;AAQG;AACH,eAAe,UAAU,CAAC,KAAiB,EAAE,MAAwB,EAAA;AACnE,IAAA,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AAC9C,QAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC;IAClF;;;;AAKA,IAAA,MAAM,MAAM,GAAG,IAAI,cAAc,CAAe;AAC9C,QAAA,KAAK,CAAC,UAAU,EAAA;AACd,YAAA,UAAU,CAAC,OAAO,CAAC,KAAqB,CAAC;YACzC,UAAU,CAAC,KAAK,EAAE;QACpB,CAAC;AACF,KAAA,CAAC;AACF,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE;IAE9E,MAAM,MAAM,GAAiB,EAAE;IAC/B,IAAI,KAAK,GAAG,CAAC;AACb,IAAA,SAAS;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AAC3C,QAAA,IAAI,IAAI;YAAE;AACV,QAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAClB,QAAA,KAAK,IAAI,KAAK,CAAC,MAAM;IACvB;AAEA,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC;AACd,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,QAAA,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,MAAM;IACxB;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;;;AAGG;AACI,MAAM,KAAK,GAAG;IACnB,YAAY;IACZ,UAAU;;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixed-timestep accumulator (Gaffer's "Fix Your Timestep"). Converts the
|
|
3
|
+
* variable per-frame delta into a whole number of fixed-size steps, carrying the
|
|
4
|
+
* sub-step remainder across frames as an interpolation {@link FixedTimestep.alpha}.
|
|
5
|
+
*
|
|
6
|
+
* Pure timing logic — no scene or signal coupling — so the loop can drive it and
|
|
7
|
+
* tests can exercise the step/alpha maths directly. The {@link maxSteps} cap is
|
|
8
|
+
* the spiral-of-death guard: when a frame is so long it would need more than
|
|
9
|
+
* `maxSteps` catch-up steps, the surplus whole-step backlog is dropped rather
|
|
10
|
+
* than accumulated (which would make the next frame even longer).
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare class FixedTimestep {
|
|
15
|
+
private readonly _stepMs;
|
|
16
|
+
private readonly _maxSteps;
|
|
17
|
+
private _accumulatorMs;
|
|
18
|
+
constructor(_stepMs: number, _maxSteps: number);
|
|
19
|
+
/** The fixed step size in milliseconds. */
|
|
20
|
+
get stepMs(): number;
|
|
21
|
+
/** Leftover fraction `[0, 1)` of a step — the render interpolation factor. */
|
|
22
|
+
get alpha(): number;
|
|
23
|
+
/** Add a frame's elapsed time and return how many fixed steps to run now (capped at `maxSteps`). */
|
|
24
|
+
advance(frameDeltaMs: number): number;
|
|
25
|
+
/** Clear the accumulator (e.g. on start/resume so a paused gap is not caught up). */
|
|
26
|
+
reset(): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=FixedTimestep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixedTimestep.d.ts","sourceRoot":"","sources":["../../../src/core/FixedTimestep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,cAAc,CAAK;gBAGR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;IAOpC,2CAA2C;IAC3C,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,8EAA8E;IAC9E,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,oGAAoG;IAC7F,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IA2B5C,qFAAqF;IAC9E,KAAK,IAAI,IAAI;CAGrB"}
|