@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
|
@@ -4,8 +4,10 @@ import { Flags } from '../math/Flags.js';
|
|
|
4
4
|
import { Interval } from '../math/Interval.js';
|
|
5
5
|
import { Matrix } from '../math/Matrix.js';
|
|
6
6
|
import { ObservableVector } from '../math/ObservableVector.js';
|
|
7
|
+
import { Polygon } from '../math/Polygon.js';
|
|
7
8
|
import { Rectangle } from '../math/Rectangle.js';
|
|
8
9
|
import { degreesToRadians, trimRotation } from '../math/utils.js';
|
|
10
|
+
import { Vector } from '../math/Vector.js';
|
|
9
11
|
import { Bounds } from './Bounds.js';
|
|
10
12
|
|
|
11
13
|
// Internal: dirty-flag bits used by SceneNode's transform cache.
|
|
@@ -35,6 +37,8 @@ var SceneNodeVectorChannel;
|
|
|
35
37
|
SceneNodeVectorChannel[SceneNodeVectorChannel["Origin"] = 2] = "Origin";
|
|
36
38
|
SceneNodeVectorChannel[SceneNodeVectorChannel["Anchor"] = 3] = "Anchor";
|
|
37
39
|
})(SceneNodeVectorChannel || (SceneNodeVectorChannel = {}));
|
|
40
|
+
/** Shared scratch for the four oriented corners — written then copied into a node's polygon (single-threaded). */
|
|
41
|
+
const orientedCorners = [new Vector(), new Vector(), new Vector(), new Vector()];
|
|
38
42
|
/**
|
|
39
43
|
* Transform-bearing leaf in the scene-graph hierarchy. Carries position,
|
|
40
44
|
* rotation, scale, skew, origin, and a 2-component {@link Vector} `anchor`
|
|
@@ -48,10 +52,10 @@ var SceneNodeVectorChannel;
|
|
|
48
52
|
* for this node and every {@link Container} ancestor up the parent chain.
|
|
49
53
|
* The caches rebuild lazily on the next read.
|
|
50
54
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
+
* Collision and hit-testing take the cheaper AABB path when the node's *world*
|
|
56
|
+
* box is axis-aligned (its own and any inherited rotation compose to a multiple
|
|
57
|
+
* of 90° with no skew) and the oriented-quad SAT path otherwise. The public
|
|
58
|
+
* `isAlignedBox` getter reports that predicate for this node's own rotation only.
|
|
55
59
|
*
|
|
56
60
|
* `_invalidate*` methods are exported as `public` for friend-class access
|
|
57
61
|
* from {@link Container} and {@link InteractionManager}; treat them as
|
|
@@ -82,6 +86,9 @@ class SceneNode {
|
|
|
82
86
|
_parentNode = null;
|
|
83
87
|
_zIndex = 0;
|
|
84
88
|
_cullable = true;
|
|
89
|
+
_cullArea = null;
|
|
90
|
+
/** Lazily-built oriented bounding box (the local bounds under the global transform) for rotated-node SAT. */
|
|
91
|
+
_orientedBounds = null;
|
|
85
92
|
/**
|
|
86
93
|
* Optional human-readable identity for this node. Defaults to `null`.
|
|
87
94
|
*
|
|
@@ -159,12 +166,27 @@ class SceneNode {
|
|
|
159
166
|
this._zIndex = zIndex;
|
|
160
167
|
}
|
|
161
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* When `false`, this node is never culled by the viewport check and is
|
|
171
|
+
* always considered in-view. Defaults to `true`.
|
|
172
|
+
*/
|
|
162
173
|
get cullable() {
|
|
163
174
|
return this._cullable;
|
|
164
175
|
}
|
|
165
176
|
set cullable(cullable) {
|
|
166
177
|
this._cullable = cullable;
|
|
167
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Custom rectangle used for viewport cull intersection test.
|
|
181
|
+
* When set, replaces the default node bounds in cull checks.
|
|
182
|
+
* Set to `null` to restore default bounds-based culling.
|
|
183
|
+
*/
|
|
184
|
+
get cullArea() {
|
|
185
|
+
return this._cullArea;
|
|
186
|
+
}
|
|
187
|
+
set cullArea(rect) {
|
|
188
|
+
this._cullArea = rect;
|
|
189
|
+
}
|
|
168
190
|
/**
|
|
169
191
|
* Horizontal skew angle in degrees. Shears the node along the X axis
|
|
170
192
|
* (positive values lean the top edge right). Combines correctly with
|
|
@@ -304,13 +326,41 @@ class SceneNode {
|
|
|
304
326
|
return this._globalTransform;
|
|
305
327
|
}
|
|
306
328
|
getNormals() {
|
|
307
|
-
return this.getBounds().getNormals();
|
|
329
|
+
return this._isWorldAligned() ? this.getBounds().getNormals() : this._orientedBoundsPolygon().getNormals();
|
|
308
330
|
}
|
|
309
331
|
project(axis, result = new Interval()) {
|
|
310
|
-
return this.getBounds().project(axis, result);
|
|
332
|
+
return this._isWorldAligned() ? this.getBounds().project(axis, result) : this._orientedBoundsPolygon().project(axis, result);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* The node's oriented bounding box: the four local-bounds corners under the
|
|
336
|
+
* global transform, as a {@link Polygon}. Used by the SAT collision path so a
|
|
337
|
+
* rotated node tests its true oriented axes instead of the loose AABB. Built
|
|
338
|
+
* lazily and refreshed in place; only ever reached for non-axis-aligned nodes.
|
|
339
|
+
*/
|
|
340
|
+
_orientedBoundsPolygon() {
|
|
341
|
+
const bounds = this.getLocalBounds();
|
|
342
|
+
const matrix = this.getGlobalTransform();
|
|
343
|
+
orientedCorners[0].set(bounds.left, bounds.top).transform(matrix);
|
|
344
|
+
orientedCorners[1].set(bounds.right, bounds.top).transform(matrix);
|
|
345
|
+
orientedCorners[2].set(bounds.right, bounds.bottom).transform(matrix);
|
|
346
|
+
orientedCorners[3].set(bounds.left, bounds.bottom).transform(matrix);
|
|
347
|
+
return (this._orientedBounds ??= new Polygon()).setPoints(orientedCorners);
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Whether the node's *world* box is axis-aligned — its own and every inherited
|
|
351
|
+
* rotation/skew compose to a transform that maps axes to axes (a multiple of
|
|
352
|
+
* 90°, no shear). When true the AABB equals the oriented box, so the cheaper
|
|
353
|
+
* AABB collision/hit-test path is exact; otherwise the oriented-quad SAT path
|
|
354
|
+
* is used. Unlike {@link isAlignedBox} (this node's own rotation only), this
|
|
355
|
+
* accounts for a rotated ancestor.
|
|
356
|
+
*/
|
|
357
|
+
_isWorldAligned() {
|
|
358
|
+
const matrix = this.getGlobalTransform();
|
|
359
|
+
const epsilon = 1e-9;
|
|
360
|
+
return (Math.abs(matrix.b) < epsilon && Math.abs(matrix.c) < epsilon) || (Math.abs(matrix.a) < epsilon && Math.abs(matrix.d) < epsilon);
|
|
311
361
|
}
|
|
312
362
|
intersectsWith(target) {
|
|
313
|
-
if (this.
|
|
363
|
+
if (this._isWorldAligned()) {
|
|
314
364
|
return this.getBounds().intersectsWith(target);
|
|
315
365
|
}
|
|
316
366
|
switch (target.collisionType) {
|
|
@@ -333,7 +383,7 @@ class SceneNode {
|
|
|
333
383
|
}
|
|
334
384
|
}
|
|
335
385
|
collidesWith(target) {
|
|
336
|
-
if (this.
|
|
386
|
+
if (this._isWorldAligned()) {
|
|
337
387
|
return this.getBounds().collidesWith(target);
|
|
338
388
|
}
|
|
339
389
|
switch (target.collisionType) {
|
|
@@ -352,7 +402,7 @@ class SceneNode {
|
|
|
352
402
|
/**
|
|
353
403
|
* Hit-test the world-space point `(x, y)` against this node.
|
|
354
404
|
*
|
|
355
|
-
* For axis-aligned nodes (
|
|
405
|
+
* For world-axis-aligned nodes (own and inherited rotation a multiple of 90°
|
|
356
406
|
* and no skew) the AABB equals the oriented box, so the cheap
|
|
357
407
|
* {@link getBounds} test is exact. For rotated or skewed nodes the point is
|
|
358
408
|
* mapped back into local space with the inverse of the global transform and
|
|
@@ -363,7 +413,7 @@ class SceneNode {
|
|
|
363
413
|
* empty AABB corners of a rotated node.
|
|
364
414
|
*/
|
|
365
415
|
contains(x, y) {
|
|
366
|
-
if (this.
|
|
416
|
+
if (this._isWorldAligned()) {
|
|
367
417
|
return this.getBounds().contains(x, y);
|
|
368
418
|
}
|
|
369
419
|
const matrix = this.getGlobalTransform();
|
|
@@ -384,7 +434,8 @@ class SceneNode {
|
|
|
384
434
|
if (!this._cullable) {
|
|
385
435
|
return true;
|
|
386
436
|
}
|
|
387
|
-
|
|
437
|
+
const bounds = this._cullArea ?? this.getBounds();
|
|
438
|
+
return view.getBounds().intersectsWith(bounds);
|
|
388
439
|
}
|
|
389
440
|
destroy() {
|
|
390
441
|
this._transform.destroy();
|
|
@@ -396,6 +447,7 @@ class SceneNode {
|
|
|
396
447
|
this._localBounds.destroy();
|
|
397
448
|
this._bounds.destroy();
|
|
398
449
|
this._anchor.destroy();
|
|
450
|
+
this._orientedBounds?.destroy();
|
|
399
451
|
}
|
|
400
452
|
/**
|
|
401
453
|
* Set this node's owning {@link Stage} (the per-Application service bundle).
|
|
@@ -484,9 +536,18 @@ class SceneNode {
|
|
|
484
536
|
this._invalidateSubtreeTransform();
|
|
485
537
|
this._invalidateBoundsCascade();
|
|
486
538
|
}
|
|
539
|
+
/**
|
|
540
|
+
* Re-derive `origin` from the fractional anchor and the CURRENT local
|
|
541
|
+
* bounds. Uses local (untransformed) bounds on purpose: the transform
|
|
542
|
+
* multiplies the origin by scale itself, so deriving from world bounds
|
|
543
|
+
* would double-apply scale whenever the anchor is set after scaling.
|
|
544
|
+
* Subclasses whose local bounds change after construction (e.g. a sprite
|
|
545
|
+
* switching to a texture sub-frame) must call this to keep an anchored
|
|
546
|
+
* node anchored.
|
|
547
|
+
*/
|
|
487
548
|
_updateOrigin() {
|
|
488
549
|
const { x, y } = this._anchor;
|
|
489
|
-
const { width, height } = this.
|
|
550
|
+
const { width, height } = this.getLocalBounds();
|
|
490
551
|
this.setOrigin(width * x, height * y);
|
|
491
552
|
}
|
|
492
553
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneNode.js","sources":["../../../../src/core/SceneNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SceneNode.js","sources":["../../../../src/core/SceneNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/core/Stage.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RenderNode } from '#rendering/RenderNode';
|
|
2
|
+
import type { Application } from './Application';
|
|
2
3
|
/**
|
|
3
4
|
* Friend-class hooks a scene node uses to notify its owning interaction service
|
|
4
5
|
* of lifecycle and bounds changes. Implemented by `InteractionManager`. Kept on
|
|
@@ -38,5 +39,11 @@ export interface FocusHooks {
|
|
|
38
39
|
export interface Stage {
|
|
39
40
|
readonly interaction: InteractionHooks;
|
|
40
41
|
readonly focus: FocusHooks;
|
|
42
|
+
/**
|
|
43
|
+
* The owning {@link Application}. Present in all production stages created by
|
|
44
|
+
* {@link InteractionManager}; may be absent in lightweight test stubs (hence
|
|
45
|
+
* optional). Widgets that need input access should use `this._stage?.app`.
|
|
46
|
+
*/
|
|
47
|
+
readonly app?: Application;
|
|
41
48
|
}
|
|
42
49
|
//# sourceMappingURL=Stage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3C,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9E,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACpC,gFAAgF;IAChF,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,mFAAmF;IACnF,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B"}
|
|
1
|
+
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3C,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9E,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACpC,gFAAgF;IAChF,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,mFAAmF;IACnF,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;CAC5B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Signal } from './Signal';
|
|
1
2
|
import type { System } from './System';
|
|
2
3
|
import type { Time } from './Time';
|
|
3
4
|
import type { Destroyable } from './types';
|
|
@@ -17,6 +18,10 @@ export declare class SystemRegistry implements Destroyable {
|
|
|
17
18
|
private readonly _pending;
|
|
18
19
|
private _ticking;
|
|
19
20
|
private _sorted;
|
|
21
|
+
/** Dispatched when a system is added to this registry. */
|
|
22
|
+
readonly onAdd: Signal<[system: System]>;
|
|
23
|
+
/** Dispatched when a system is removed from this registry. */
|
|
24
|
+
readonly onRemove: Signal<[system: System]>;
|
|
20
25
|
/** Add `system`; returns it for fluent capture. Ticks from the next frame. */
|
|
21
26
|
add<T extends System>(system: T): T;
|
|
22
27
|
/** Remove `system` without destroying it. Returns `true` if it was registered. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/SystemRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;GASG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAQ;IAEvB,8EAA8E;IACvE,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAU1C,kFAAkF;IAC3E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IActC,sCAAsC;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInC,oCAAoC;IACpC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,+EAA+E;IACxE,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAoBxB,OAAO,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"SystemRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/SystemRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;GASG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAQ;IAEvB,0DAA0D;IAC1D,SAAgB,KAAK,2BAAkC;IACvD,8DAA8D;IAC9D,SAAgB,QAAQ,2BAAkC;IAE1D,8EAA8E;IACvE,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAU1C,kFAAkF;IAC3E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IActC,sCAAsC;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInC,oCAAoC;IACpC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,+EAA+E;IACxE,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAoBxB,OAAO,IAAI,IAAI;IAYtB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,aAAa;CAetB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Signal } from './Signal.js';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Ordered registry of per-frame {@link System}s, shared by {@link Scene} (as
|
|
3
5
|
* `scene.systems`) and `Application` (as `app.systems`). Systems tick once per
|
|
@@ -14,6 +16,10 @@ class SystemRegistry {
|
|
|
14
16
|
_pending = [];
|
|
15
17
|
_ticking = false;
|
|
16
18
|
_sorted = true;
|
|
19
|
+
/** Dispatched when a system is added to this registry. */
|
|
20
|
+
onAdd = new Signal();
|
|
21
|
+
/** Dispatched when a system is removed from this registry. */
|
|
22
|
+
onRemove = new Signal();
|
|
17
23
|
/** Add `system`; returns it for fluent capture. Ticks from the next frame. */
|
|
18
24
|
add(system) {
|
|
19
25
|
if (this._ticking) {
|
|
@@ -66,12 +72,15 @@ class SystemRegistry {
|
|
|
66
72
|
this._systems.length = 0;
|
|
67
73
|
this._set.clear();
|
|
68
74
|
this._pending.length = 0;
|
|
75
|
+
this.onAdd.destroy();
|
|
76
|
+
this.onRemove.destroy();
|
|
69
77
|
}
|
|
70
78
|
_insert(system) {
|
|
71
79
|
if (!this._set.has(system)) {
|
|
72
80
|
this._set.add(system);
|
|
73
81
|
this._systems.push(system);
|
|
74
82
|
this._sorted = false;
|
|
83
|
+
this.onAdd.dispatch(system);
|
|
75
84
|
}
|
|
76
85
|
}
|
|
77
86
|
_delete(system) {
|
|
@@ -82,6 +91,7 @@ class SystemRegistry {
|
|
|
82
91
|
if (index !== -1) {
|
|
83
92
|
this._systems.splice(index, 1);
|
|
84
93
|
}
|
|
94
|
+
this.onRemove.dispatch(system);
|
|
85
95
|
return true;
|
|
86
96
|
}
|
|
87
97
|
_drainPending() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemRegistry.js","sources":["../../../../src/core/SystemRegistry.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SystemRegistry.js","sources":["../../../../src/core/SystemRegistry.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/core/index.d.ts
CHANGED
|
@@ -5,8 +5,12 @@ export type { BuildInfo } from './BuildInfo';
|
|
|
5
5
|
export { buildInfo } from './BuildInfo';
|
|
6
6
|
export { Capabilities } from './capabilities';
|
|
7
7
|
export { Clock } from './Clock';
|
|
8
|
+
export type { DecompressFormat } from './Codec';
|
|
9
|
+
export { Codec } from './Codec';
|
|
8
10
|
export { Color } from './Color';
|
|
9
11
|
export { DisposalScope } from './DisposalScope';
|
|
12
|
+
export type { LogChannel, LogEntry } from './logging';
|
|
13
|
+
export { Logger, logger, LogSeverity } from './logging';
|
|
10
14
|
export { Perf } from './Perf';
|
|
11
15
|
export { Scene } from './Scene';
|
|
12
16
|
export type { FadeSceneTransition, SceneTransition, SetSceneOptions } from './SceneManager';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAClG,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAClG,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare enum LogSeverity {
|
|
2
|
+
Debug = 0,
|
|
3
|
+
Info = 1,
|
|
4
|
+
Warning = 2,
|
|
5
|
+
Error = 3
|
|
6
|
+
}
|
|
7
|
+
export type LogChannel = 'core' | 'rendering' | 'audio' | 'input' | 'assets' | 'physics' | 'ui' | 'animation' | 'scene' | (string & {});
|
|
8
|
+
export interface LogEntry {
|
|
9
|
+
readonly severity: LogSeverity;
|
|
10
|
+
readonly channel: LogChannel;
|
|
11
|
+
readonly message: string;
|
|
12
|
+
readonly data?: Record<string, unknown>;
|
|
13
|
+
readonly error?: Error;
|
|
14
|
+
}
|
|
15
|
+
type LogHandler = (entry: LogEntry) => void;
|
|
16
|
+
export declare class Logger {
|
|
17
|
+
private readonly _handlers;
|
|
18
|
+
private readonly _warnedKeys;
|
|
19
|
+
log(severity: LogSeverity, channel: LogChannel, message: string, options?: {
|
|
20
|
+
data?: Record<string, unknown>;
|
|
21
|
+
error?: Error;
|
|
22
|
+
}): void;
|
|
23
|
+
debug(channel: LogChannel, message: string, data?: Record<string, unknown>): void;
|
|
24
|
+
info(channel: LogChannel, message: string, data?: Record<string, unknown>): void;
|
|
25
|
+
warn(channel: LogChannel, message: string, data?: Record<string, unknown>): void;
|
|
26
|
+
error(channel: LogChannel, message: string, error?: Error): void;
|
|
27
|
+
warnOnce(key: string, channel: LogChannel, message: string): void;
|
|
28
|
+
addHandler(handler: LogHandler): () => void;
|
|
29
|
+
/** @internal */
|
|
30
|
+
_resetWarnedKeys(): void;
|
|
31
|
+
}
|
|
32
|
+
export declare const logger: Logger;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/core/logging.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExI,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAE5C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAE1C,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,IAAI;IAcnI,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIjF,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIhF,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIhF,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAIhE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjE,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,IAAI;IAQlD,gBAAgB;IACT,gBAAgB,IAAI,IAAI;CAGhC;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var LogSeverity;
|
|
2
|
+
(function (LogSeverity) {
|
|
3
|
+
LogSeverity[LogSeverity["Debug"] = 0] = "Debug";
|
|
4
|
+
LogSeverity[LogSeverity["Info"] = 1] = "Info";
|
|
5
|
+
LogSeverity[LogSeverity["Warning"] = 2] = "Warning";
|
|
6
|
+
LogSeverity[LogSeverity["Error"] = 3] = "Error";
|
|
7
|
+
})(LogSeverity || (LogSeverity = {}));
|
|
8
|
+
class Logger {
|
|
9
|
+
_handlers = [];
|
|
10
|
+
_warnedKeys = new Set();
|
|
11
|
+
log(severity, channel, message, options) {
|
|
12
|
+
if (severity < LogSeverity.Error)
|
|
13
|
+
return;
|
|
14
|
+
const entry = {
|
|
15
|
+
severity,
|
|
16
|
+
channel,
|
|
17
|
+
message,
|
|
18
|
+
...(options?.data !== undefined && { data: options.data }),
|
|
19
|
+
...(options?.error !== undefined && { error: options.error }),
|
|
20
|
+
};
|
|
21
|
+
for (const handler of this._handlers) {
|
|
22
|
+
handler(entry);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
debug(channel, message, data) {
|
|
26
|
+
this.log(LogSeverity.Debug, channel, message, data ? { data } : undefined);
|
|
27
|
+
}
|
|
28
|
+
info(channel, message, data) {
|
|
29
|
+
this.log(LogSeverity.Info, channel, message, data ? { data } : undefined);
|
|
30
|
+
}
|
|
31
|
+
warn(channel, message, data) {
|
|
32
|
+
this.log(LogSeverity.Warning, channel, message, data ? { data } : undefined);
|
|
33
|
+
}
|
|
34
|
+
error(channel, message, error) {
|
|
35
|
+
this.log(LogSeverity.Error, channel, message, error ? { error } : undefined);
|
|
36
|
+
}
|
|
37
|
+
warnOnce(key, channel, message) {
|
|
38
|
+
if (this._warnedKeys.has(key))
|
|
39
|
+
return;
|
|
40
|
+
this._warnedKeys.add(key);
|
|
41
|
+
this.warn(channel, message);
|
|
42
|
+
}
|
|
43
|
+
addHandler(handler) {
|
|
44
|
+
this._handlers.push(handler);
|
|
45
|
+
return () => {
|
|
46
|
+
const idx = this._handlers.indexOf(handler);
|
|
47
|
+
if (idx >= 0)
|
|
48
|
+
this._handlers.splice(idx, 1);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** @internal */
|
|
52
|
+
_resetWarnedKeys() {
|
|
53
|
+
this._warnedKeys.clear();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const logger = new Logger();
|
|
57
|
+
|
|
58
|
+
export { LogSeverity, Logger, logger };
|
|
59
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sources":["../../../../src/core/logging.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonFields.d.ts","sourceRoot":"","sources":["../../../../src/core/serialization/commonFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"commonFields.d.ts","sourceRoot":"","sources":["../../../../src/core/serialization/commonFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAkD5E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAsD7E"}
|
|
@@ -38,6 +38,8 @@ function writeCommonFields(node, out) {
|
|
|
38
38
|
out.zIndex = node.zIndex;
|
|
39
39
|
if (!node.cullable)
|
|
40
40
|
out.cullable = false;
|
|
41
|
+
if (node.cullArea !== null)
|
|
42
|
+
out.cullArea = [node.cullArea.x, node.cullArea.y, node.cullArea.width, node.cullArea.height];
|
|
41
43
|
if (node.name !== null)
|
|
42
44
|
out.name = node.name;
|
|
43
45
|
if (node instanceof RenderNode) {
|
|
@@ -107,6 +109,10 @@ function applyCommonFields(node, data) {
|
|
|
107
109
|
node.zIndex = data.zIndex;
|
|
108
110
|
if (data.cullable === false)
|
|
109
111
|
node.cullable = false;
|
|
112
|
+
const cullArea = data.cullArea;
|
|
113
|
+
if (Array.isArray(cullArea) && cullArea.length === 4) {
|
|
114
|
+
node.cullArea = new Rectangle(Number(cullArea[0]), Number(cullArea[1]), Number(cullArea[2]), Number(cullArea[3]));
|
|
115
|
+
}
|
|
110
116
|
if (typeof data.name === 'string')
|
|
111
117
|
node.name = data.name;
|
|
112
118
|
if (node instanceof RenderNode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonFields.js","sources":["../../../../../src/core/serialization/commonFields.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"commonFields.js","sources":["../../../../../src/core/serialization/commonFields.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderingSerializers.d.ts","sourceRoot":"","sources":["../../../../src/core/serialization/renderingSerializers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"renderingSerializers.d.ts","sourceRoot":"","sources":["../../../../src/core/serialization/renderingSerializers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AA+VrE;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAQlF"}
|
|
@@ -8,7 +8,7 @@ import { BitmapText } from '../../rendering/text/BitmapText.js';
|
|
|
8
8
|
import { BmFont } from '../../rendering/text/BmFont.js';
|
|
9
9
|
import { Texture } from '../../rendering/texture/Texture.js';
|
|
10
10
|
import { Video } from '../../rendering/video/Video.js';
|
|
11
|
-
import { asSerializedNode, asObject, readEnum, asNumberArray,
|
|
11
|
+
import { asSerializedNode, asObject, readEnum, asNumberArray, REPEAT_MODES, REPEAT_FITS } from './read.js';
|
|
12
12
|
import { compact, readLayoutOptions, deserializeStyleOptions, serializeStyle } from './serializerHelpers.js';
|
|
13
13
|
|
|
14
14
|
// ── Small helpers ────────────────────────────────────────────────────────────
|
|
@@ -185,11 +185,13 @@ const animatedSpriteSerializer = {
|
|
|
185
185
|
out.texture = source;
|
|
186
186
|
const clips = {};
|
|
187
187
|
for (const [name, clip] of Object.entries(node._getClipDefinitions())) {
|
|
188
|
-
clips[name] = {
|
|
188
|
+
clips[name] = compact({
|
|
189
189
|
frames: clip.frames.map(frame => [frame.x, frame.y, frame.width, frame.height]),
|
|
190
190
|
fps: clip.fps,
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
repeat: clip.repeat,
|
|
192
|
+
frameDurations: clip.frameDurations ? [...clip.frameDurations] : undefined,
|
|
193
|
+
frameOffsets: clip.frameOffsets ? clip.frameOffsets.map(offset => [offset.x, offset.y]) : undefined,
|
|
194
|
+
});
|
|
193
195
|
}
|
|
194
196
|
out.clips = clips;
|
|
195
197
|
if (node.currentClip !== null)
|
|
@@ -215,7 +217,14 @@ const animatedSpriteSerializer = {
|
|
|
215
217
|
return new Rectangle(values[0] ?? 0, values[1] ?? 0, values[2] ?? 0, values[3] ?? 0);
|
|
216
218
|
})
|
|
217
219
|
: [];
|
|
218
|
-
|
|
220
|
+
const frameDurations = Array.isArray(clip.frameDurations) ? (asNumberArray(clip.frameDurations) ?? undefined) : undefined;
|
|
221
|
+
const frameOffsets = Array.isArray(clip.frameOffsets)
|
|
222
|
+
? clip.frameOffsets.map(entry => {
|
|
223
|
+
const values = asNumberArray(entry) ?? [];
|
|
224
|
+
return { x: values[0] ?? 0, y: values[1] ?? 0 };
|
|
225
|
+
})
|
|
226
|
+
: undefined;
|
|
227
|
+
clips[name] = compact({ frames, fps: num(clip.fps), repeat: num(clip.repeat), frameDurations, frameOffsets });
|
|
219
228
|
}
|
|
220
229
|
}
|
|
221
230
|
const sprite = new AnimatedSprite(texture, clips);
|