@codexo/exojs 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/README.md +2 -4
  3. package/dist/esm/animation/Tween.d.ts.map +1 -1
  4. package/dist/esm/animation/Tween.js +0 -1
  5. package/dist/esm/animation/Tween.js.map +1 -1
  6. package/dist/esm/animation/TweenManager.d.ts +44 -5
  7. package/dist/esm/animation/TweenManager.d.ts.map +1 -1
  8. package/dist/esm/animation/TweenManager.js +57 -5
  9. package/dist/esm/animation/TweenManager.js.map +1 -1
  10. package/dist/esm/animation/TweenSequencer.d.ts +139 -0
  11. package/dist/esm/animation/TweenSequencer.d.ts.map +1 -0
  12. package/dist/esm/animation/TweenSequencer.js +305 -0
  13. package/dist/esm/animation/TweenSequencer.js.map +1 -0
  14. package/dist/esm/animation/index.d.ts +1 -0
  15. package/dist/esm/animation/index.d.ts.map +1 -1
  16. package/dist/esm/audio/WorkletEffect.d.ts +34 -20
  17. package/dist/esm/audio/WorkletEffect.d.ts.map +1 -1
  18. package/dist/esm/audio/WorkletEffect.js +92 -25
  19. package/dist/esm/audio/WorkletEffect.js.map +1 -1
  20. package/dist/esm/core/Application.d.ts +43 -5
  21. package/dist/esm/core/Application.d.ts.map +1 -1
  22. package/dist/esm/core/Application.js +83 -9
  23. package/dist/esm/core/Application.js.map +1 -1
  24. package/dist/esm/core/BuildInfo.js +2 -2
  25. package/dist/esm/core/Codec.d.ts +41 -0
  26. package/dist/esm/core/Codec.d.ts.map +1 -0
  27. package/dist/esm/core/Codec.js +79 -0
  28. package/dist/esm/core/Codec.js.map +1 -0
  29. package/dist/esm/core/FixedTimestep.d.ts +28 -0
  30. package/dist/esm/core/FixedTimestep.d.ts.map +1 -0
  31. package/dist/esm/core/FixedTimestep.js +62 -0
  32. package/dist/esm/core/FixedTimestep.js.map +1 -0
  33. package/dist/esm/core/Scene.d.ts +14 -0
  34. package/dist/esm/core/Scene.d.ts.map +1 -1
  35. package/dist/esm/core/Scene.js +18 -0
  36. package/dist/esm/core/Scene.js.map +1 -1
  37. package/dist/esm/core/SceneManager.d.ts +7 -0
  38. package/dist/esm/core/SceneManager.d.ts.map +1 -1
  39. package/dist/esm/core/SceneManager.js +20 -4
  40. package/dist/esm/core/SceneManager.js.map +1 -1
  41. package/dist/esm/core/SceneNode.d.ts +36 -6
  42. package/dist/esm/core/SceneNode.d.ts.map +1 -1
  43. package/dist/esm/core/SceneNode.js +63 -11
  44. package/dist/esm/core/SceneNode.js.map +1 -1
  45. package/dist/esm/core/Stage.d.ts +7 -0
  46. package/dist/esm/core/Stage.d.ts.map +1 -1
  47. package/dist/esm/core/SystemRegistry.d.ts +5 -0
  48. package/dist/esm/core/SystemRegistry.d.ts.map +1 -1
  49. package/dist/esm/core/SystemRegistry.js +10 -0
  50. package/dist/esm/core/SystemRegistry.js.map +1 -1
  51. package/dist/esm/core/index.d.ts +4 -0
  52. package/dist/esm/core/index.d.ts.map +1 -1
  53. package/dist/esm/core/logging.d.ts +34 -0
  54. package/dist/esm/core/logging.d.ts.map +1 -0
  55. package/dist/esm/core/logging.js +59 -0
  56. package/dist/esm/core/logging.js.map +1 -0
  57. package/dist/esm/core/serialization/commonFields.d.ts.map +1 -1
  58. package/dist/esm/core/serialization/commonFields.js +6 -0
  59. package/dist/esm/core/serialization/commonFields.js.map +1 -1
  60. package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -1
  61. package/dist/esm/core/serialization/renderingSerializers.js +14 -5
  62. package/dist/esm/core/serialization/renderingSerializers.js.map +1 -1
  63. package/dist/esm/index.js +7 -2
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/input/Gamepad.d.ts +10 -0
  66. package/dist/esm/input/Gamepad.d.ts.map +1 -1
  67. package/dist/esm/input/Gamepad.js +12 -0
  68. package/dist/esm/input/Gamepad.js.map +1 -1
  69. package/dist/esm/input/InputManager.d.ts.map +1 -1
  70. package/dist/esm/input/InputManager.js +5 -0
  71. package/dist/esm/input/InputManager.js.map +1 -1
  72. package/dist/esm/input/InteractionManager.js +4 -4
  73. package/dist/esm/input/InteractionManager.js.map +1 -1
  74. package/dist/esm/math/collision-detection.js +1 -1
  75. package/dist/esm/rendering/BackendTargetPass.d.ts +1 -1
  76. package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -1
  77. package/dist/esm/rendering/CallbackRenderPass.d.ts +14 -10
  78. package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -1
  79. package/dist/esm/rendering/CallbackRenderPass.js +16 -11
  80. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  81. package/dist/esm/rendering/DrawContext.d.ts +48 -0
  82. package/dist/esm/rendering/DrawContext.d.ts.map +1 -0
  83. package/dist/esm/rendering/PassContext.d.ts +42 -0
  84. package/dist/esm/rendering/PassContext.d.ts.map +1 -0
  85. package/dist/esm/rendering/PassContext.js +48 -0
  86. package/dist/esm/rendering/PassContext.js.map +1 -0
  87. package/dist/esm/rendering/RenderBackend.d.ts +14 -0
  88. package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
  89. package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
  90. package/dist/esm/rendering/RenderNode.js +2 -2
  91. package/dist/esm/rendering/RenderNode.js.map +1 -1
  92. package/dist/esm/rendering/RenderNodePass.d.ts +1 -1
  93. package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -1
  94. package/dist/esm/rendering/RenderingContext.d.ts +47 -16
  95. package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
  96. package/dist/esm/rendering/RenderingContext.js +134 -36
  97. package/dist/esm/rendering/RenderingContext.js.map +1 -1
  98. package/dist/esm/rendering/TransformBuffer.d.ts +23 -0
  99. package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
  100. package/dist/esm/rendering/TransformBuffer.js +58 -0
  101. package/dist/esm/rendering/TransformBuffer.js.map +1 -1
  102. package/dist/esm/rendering/View.d.ts +38 -0
  103. package/dist/esm/rendering/View.d.ts.map +1 -1
  104. package/dist/esm/rendering/View.js +37 -0
  105. package/dist/esm/rendering/View.js.map +1 -1
  106. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
  107. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +9 -2
  108. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  109. package/dist/esm/rendering/material/MeshMaterial.d.ts +20 -1
  110. package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -1
  111. package/dist/esm/rendering/material/MeshMaterial.js +17 -0
  112. package/dist/esm/rendering/material/MeshMaterial.js.map +1 -1
  113. package/dist/esm/rendering/material/SpriteMaterial.d.ts +20 -1
  114. package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -1
  115. package/dist/esm/rendering/material/SpriteMaterial.js +17 -0
  116. package/dist/esm/rendering/material/SpriteMaterial.js.map +1 -1
  117. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
  118. package/dist/esm/rendering/plan/RenderEffectExecutor.js +7 -2
  119. package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
  120. package/dist/esm/rendering/plan/RenderInstruction.d.ts +5 -2
  121. package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
  122. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
  123. package/dist/esm/rendering/plan/RenderPlanBuilder.js +23 -5
  124. package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
  125. package/dist/esm/rendering/plan/RenderScope.d.ts +7 -0
  126. package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
  127. package/dist/esm/rendering/primitives/Graphics.d.ts +10 -1
  128. package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
  129. package/dist/esm/rendering/primitives/Graphics.js +30 -9
  130. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  131. package/dist/esm/rendering/public.d.ts +5 -5
  132. package/dist/esm/rendering/public.d.ts.map +1 -1
  133. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +56 -19
  134. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
  135. package/dist/esm/rendering/sprite/AnimatedSprite.js +121 -31
  136. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  137. package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
  138. package/dist/esm/rendering/text/BitmapText.js +2 -0
  139. package/dist/esm/rendering/text/BitmapText.js.map +1 -1
  140. package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
  141. package/dist/esm/rendering/text/HTMLText.js +2 -2
  142. package/dist/esm/rendering/text/HTMLText.js.map +1 -1
  143. package/dist/esm/rendering/text/Text.d.ts.map +1 -1
  144. package/dist/esm/rendering/text/Text.js +2 -0
  145. package/dist/esm/rendering/text/Text.js.map +1 -1
  146. package/dist/esm/rendering/types.d.ts +37 -13
  147. package/dist/esm/rendering/types.d.ts.map +1 -1
  148. package/dist/esm/rendering/types.js +37 -13
  149. package/dist/esm/rendering/types.js.map +1 -1
  150. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts +41 -0
  151. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts.map +1 -0
  152. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js +222 -0
  153. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js.map +1 -0
  154. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +34 -1
  155. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
  156. package/dist/esm/rendering/webgl2/WebGl2Backend.js +108 -60
  157. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  158. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
  159. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +50 -11
  160. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
  161. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js +4 -0
  162. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js.map +1 -0
  163. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js +4 -0
  164. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js.map +1 -0
  165. package/dist/esm/rendering/webgl2/glsl/text.vert.js +1 -1
  166. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts +72 -0
  167. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts.map +1 -0
  168. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js +494 -0
  169. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js.map +1 -0
  170. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +27 -0
  171. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
  172. package/dist/esm/rendering/webgpu/WebGpuBackend.js +157 -60
  173. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  174. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
  175. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +5 -29
  176. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  177. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -0
  178. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -1
  179. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +2 -1
  180. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  181. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -0
  182. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
  183. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +3 -1
  184. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  185. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +2 -0
  186. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -1
  187. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +2 -1
  188. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -1
  189. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +8 -0
  190. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -1
  191. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +20 -0
  192. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -1
  193. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +6 -0
  194. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -1
  195. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +4 -1
  196. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -1
  197. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -0
  198. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
  199. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +2 -1
  200. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  201. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +2 -0
  202. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
  203. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +2 -1
  204. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
  205. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +2 -0
  206. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
  207. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +3 -2
  208. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
  209. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +3 -1
  210. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
  211. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +29 -5
  212. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
  213. package/dist/esm/resources/Loader.d.ts +13 -0
  214. package/dist/esm/resources/Loader.d.ts.map +1 -1
  215. package/dist/esm/resources/Loader.js +67 -7
  216. package/dist/esm/resources/Loader.js.map +1 -1
  217. package/dist/esm/ui/ScrollContainer.d.ts +63 -0
  218. package/dist/esm/ui/ScrollContainer.d.ts.map +1 -0
  219. package/dist/esm/ui/ScrollContainer.js +99 -0
  220. package/dist/esm/ui/ScrollContainer.js.map +1 -0
  221. package/dist/esm/ui/Tooltip.d.ts +67 -0
  222. package/dist/esm/ui/Tooltip.d.ts.map +1 -0
  223. package/dist/esm/ui/Tooltip.js +133 -0
  224. package/dist/esm/ui/Tooltip.js.map +1 -0
  225. package/dist/esm/ui/index.d.ts +4 -0
  226. package/dist/esm/ui/index.d.ts.map +1 -1
  227. package/dist/exo.esm.js +1 -1
  228. package/dist/exo.esm.js.map +1 -1
  229. package/dist/exo.iife.js +45202 -0
  230. package/dist/exo.iife.js.map +1 -0
  231. package/dist/exo.iife.min.js +2 -0
  232. package/dist/exo.iife.min.js.map +1 -0
  233. package/package.json +15 -3
  234. package/dist/esm/rendering/Camera.d.ts +0 -34
  235. package/dist/esm/rendering/Camera.d.ts.map +0 -1
  236. package/dist/esm/rendering/Camera.js +0 -38
  237. package/dist/esm/rendering/Camera.js.map +0 -1
@@ -9,11 +9,39 @@ import type { Spritesheet } from './Spritesheet';
9
9
  export interface AnimatedSpriteClipDefinition {
10
10
  readonly frames: readonly Rectangle[];
11
11
  readonly fps?: number;
12
- readonly loop?: boolean;
12
+ /**
13
+ * How many full cycles (advancing through every frame once counts as one
14
+ * cycle) the clip plays before stopping and dispatching `onComplete`.
15
+ * `-1` (the default when omitted) loops indefinitely; `1` plays once; any
16
+ * other positive integer plays exactly that many times. Use this to
17
+ * preserve Aseprite's frame-tag `repeat` count (e.g. an attack that should
18
+ * play exactly twice, not once or forever).
19
+ */
20
+ readonly repeat?: number;
21
+ /**
22
+ * Per-frame hold duration in milliseconds, indexed the same as `frames`.
23
+ * When provided it is authoritative for playback timing and `fps` is
24
+ * ignored while advancing frames (still accepted as a display-only
25
+ * average). Use this to preserve uneven hold-frames — e.g. an Aseprite
26
+ * export where one frame intentionally lingers longer than the rest.
27
+ */
28
+ readonly frameDurations?: readonly number[];
29
+ /**
30
+ * Per-frame local translation in local (pre-scale) pixels, indexed the
31
+ * same as `frames`, applied on top of the sprite's own position/origin.
32
+ * Use this to keep frames anchored to a stable point when a source atlas
33
+ * trims frames to different sizes (Aseprite's `spriteSourceSize`) — without
34
+ * it, differently-trimmed frames would jitter around their own top-left.
35
+ */
36
+ readonly frameOffsets?: ReadonlyArray<{
37
+ readonly x: number;
38
+ readonly y: number;
39
+ }>;
13
40
  }
14
41
  /** Per-call options passed to {@link AnimatedSprite.play}. */
15
42
  export interface AnimatedSpritePlayOptions {
16
- loop?: boolean;
43
+ /** Per-call override of the clip's {@link AnimatedSpriteClipDefinition.repeat}, for the duration of this `play()` call. */
44
+ repeat?: number;
17
45
  restart?: boolean;
18
46
  }
19
47
  /**
@@ -24,7 +52,7 @@ export interface AnimatedSpritePlayOptions {
24
52
  * constructor. Call {@link play} to start a clip; call {@link update} each
25
53
  * frame with the elapsed delta (seconds or a `Time` object) to advance
26
54
  * playback. The `onFrame` signal fires on every frame advance and
27
- * `onComplete` fires when a non-looping clip reaches its last frame.
55
+ * `onComplete` fires when a clip completes its final {@link AnimatedSpriteClipDefinition.repeat} cycle.
28
56
  *
29
57
  * Use {@link AnimatedSprite.fromSpritesheet} to create an instance directly
30
58
  * from a {@link Spritesheet}'s named animations.
@@ -34,8 +62,9 @@ export declare class AnimatedSprite extends Sprite {
34
62
  private _currentClipName;
35
63
  private _currentFrameIndex;
36
64
  private _playing;
37
- private _loopOverride;
65
+ private _repeatOverride;
38
66
  private _elapsedFrameTimeMs;
67
+ private _completedCycles;
39
68
  readonly onComplete: Signal<[clip: string]>;
40
69
  readonly onFrame: Signal<[clip: string, frame: number]>;
41
70
  constructor(texture: Texture | RenderTexture | null, clips?: Readonly<Record<string, AnimatedSpriteClipDefinition>>);
@@ -43,32 +72,30 @@ export declare class AnimatedSprite extends Sprite {
43
72
  get currentFrame(): number;
44
73
  get playing(): boolean;
45
74
  /**
46
- * Whether the current clip loops. Returns the per-call loop override if set,
47
- * otherwise the clip's own `loop` flag.
75
+ * How many cycles the current clip plays before stopping. Returns the
76
+ * per-call override if set via {@link play} or this setter, otherwise the
77
+ * clip's own `repeat` value (or `-1` if no clip is active).
48
78
  */
49
- get loop(): boolean;
50
- set loop(loop: boolean);
79
+ get repeat(): number;
80
+ set repeat(repeat: number);
51
81
  /** Replace all registered clips with the provided map. Clears any previously registered clips first. */
52
82
  setClips(clips: Readonly<Record<string, AnimatedSpriteClipDefinition>>): this;
53
83
  /** Register a named clip. Frame rectangles are cloned so the caller may mutate the originals. */
54
84
  defineClip(name: string, clip: AnimatedSpriteClipDefinition): this;
55
85
  /**
56
86
  * Returns the registered clips as serializable definitions (frames as
57
- * {@link Rectangle}s, `fps`, `loop`). Used by scene serialization to read
58
- * back clip state the normalized internal store no longer exposes directly.
87
+ * {@link Rectangle}s, `fps`, `repeat`, and `frameDurations`/`frameOffsets`
88
+ * when the clip has them). Used by scene serialization to read back clip
89
+ * state the normalized internal store no longer exposes directly.
59
90
  * @internal
60
91
  */
61
- _getClipDefinitions(): Record<string, {
62
- frames: Rectangle[];
63
- fps: number;
64
- loop: boolean;
65
- }>;
92
+ _getClipDefinitions(): Record<string, Required<Pick<AnimatedSpriteClipDefinition, 'frames' | 'repeat'>> & AnimatedSpriteClipDefinition>;
66
93
  /** Remove a registered clip by name. Stops playback first if the clip is currently active. */
67
94
  removeClip(name: string): this;
68
95
  /**
69
96
  * Start playing the named clip. By default restarts from frame 0; pass
70
97
  * `{ restart: false }` to resume from the current frame if the same clip
71
- * is already active. Optionally overrides the clip's loop setting.
98
+ * is already active. Optionally overrides the clip's `repeat` setting.
72
99
  */
73
100
  play(name: string, options?: AnimatedSpritePlayOptions): this;
74
101
  /** Stop playback and rewind the active clip to frame 0. */
@@ -78,16 +105,26 @@ export declare class AnimatedSprite extends Sprite {
78
105
  /**
79
106
  * Advance playback by `delta` milliseconds (or a `Time` object). Call once
80
107
  * per frame from the game loop. Dispatches `onFrame` for each frame
81
- * boundary crossed and `onComplete` when a non-looping clip ends.
108
+ * boundary crossed and `onComplete` when the clip completes its final
109
+ * {@link AnimatedSpriteClipDefinition.repeat} cycle.
82
110
  */
83
111
  update(delta: Time | number): this;
84
112
  destroy(): void;
85
113
  /**
86
114
  * Construct an {@link AnimatedSprite} from the named animations defined on
87
- * a {@link Spritesheet}. Each animation becomes a looping clip whose frames
88
- * are the spritesheet frame rectangles in declaration order.
115
+ * a {@link Spritesheet}. Each animation becomes an indefinitely-looping
116
+ * clip whose frames are the spritesheet frame rectangles in declaration
117
+ * order.
89
118
  */
90
119
  static fromSpritesheet(spritesheet: Spritesheet): AnimatedSprite;
120
+ /**
121
+ * Apply the clip's frame at `frameIndex` to the sprite's texture region,
122
+ * and — when the clip defines `frameOffsets` — translate the local quad by
123
+ * that frame's `{x,y}` on top of the sprite's own position/origin. The
124
+ * offset lives entirely in local (pre-scale) space via {@link getLocalBounds},
125
+ * so it composes correctly under rotation/scale and never mutates the
126
+ * public `x`/`y`/`origin` a caller set.
127
+ */
91
128
  private _applyFrame;
92
129
  }
93
130
  //# sourceMappingURL=AnimatedSprite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedSprite.d.ts","sourceRoot":"","sources":["../../../../src/rendering/sprite/AnimatedSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,sFAAsF;AACtF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAUD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,MAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;IAC1E,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,mBAAmB,CAAK;IAEhC,SAAgB,UAAU,yBAAgC;IAC1D,SAAgB,OAAO,wCAA+C;gBAEnD,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IAQ1H,IAAW,WAAW,IAAI,MAAM,GAAG,IAAI,CAEtC;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,OAAO,CAUzB;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAE5B;IAED,wGAAwG;IACjG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,GAAG,IAAI;IAUpF,iGAAiG;IAC1F,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,GAAG,IAAI;IA6BzE;;;;;OAKG;IACI,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAUjG,8FAA8F;IACvF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUrC;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,GAAG,IAAI;IAyBxE,2DAA2D;IACpD,IAAI,IAAI,IAAI;IAoBZ,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,IAAI;IAQrB;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAmDzB,OAAO,IAAI,IAAI;IAe/B;;;;OAIG;WACW,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc;IAavE,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"AnimatedSprite.d.ts","sourceRoot":"","sources":["../../../../src/rendering/sprite/AnimatedSprite.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,19 @@ import { Signal } from '../../core/Signal.js';
2
2
  import { Sprite } from './Sprite.js';
3
3
 
4
4
  const defaultClipFps = 12;
5
+ /** Sentinel {@link AnimatedSpriteClipDefinition.repeat}/{@link AnimatedSprite.repeat} value meaning "loop indefinitely"; also the default when `repeat` is omitted. */
6
+ const infiniteRepeat = -1;
7
+ /**
8
+ * Throws if `repeat` is not `infiniteRepeat` (`-1`) or a positive integer.
9
+ * Shared by {@link AnimatedSprite.defineClip}, the {@link AnimatedSprite.repeat}
10
+ * setter, and {@link AnimatedSprite.play}'s `options.repeat` so every entry
11
+ * point rejects the same invalid values consistently.
12
+ */
13
+ function assertValidRepeat(context, repeat) {
14
+ if (!Number.isInteger(repeat) || (repeat !== infiniteRepeat && repeat < 1)) {
15
+ throw new Error(`AnimatedSprite ${context} has an invalid repeat value (${repeat}). Must be ${infiniteRepeat} (infinite) or a positive integer.`);
16
+ }
17
+ }
5
18
  /**
6
19
  * A {@link Sprite} that advances through a sequence of texture-frame
7
20
  * {@link Rectangle}s over time to produce frame-based animation.
@@ -10,7 +23,7 @@ const defaultClipFps = 12;
10
23
  * constructor. Call {@link play} to start a clip; call {@link update} each
11
24
  * frame with the elapsed delta (seconds or a `Time` object) to advance
12
25
  * playback. The `onFrame` signal fires on every frame advance and
13
- * `onComplete` fires when a non-looping clip reaches its last frame.
26
+ * `onComplete` fires when a clip completes its final {@link AnimatedSpriteClipDefinition.repeat} cycle.
14
27
  *
15
28
  * Use {@link AnimatedSprite.fromSpritesheet} to create an instance directly
16
29
  * from a {@link Spritesheet}'s named animations.
@@ -20,8 +33,9 @@ class AnimatedSprite extends Sprite {
20
33
  _currentClipName = null;
21
34
  _currentFrameIndex = 0;
22
35
  _playing = false;
23
- _loopOverride = null;
36
+ _repeatOverride = null;
24
37
  _elapsedFrameTimeMs = 0;
38
+ _completedCycles = 0;
25
39
  onComplete = new Signal();
26
40
  onFrame = new Signal();
27
41
  constructor(texture, clips) {
@@ -40,20 +54,22 @@ class AnimatedSprite extends Sprite {
40
54
  return this._playing;
41
55
  }
42
56
  /**
43
- * Whether the current clip loops. Returns the per-call loop override if set,
44
- * otherwise the clip's own `loop` flag.
57
+ * How many cycles the current clip plays before stopping. Returns the
58
+ * per-call override if set via {@link play} or this setter, otherwise the
59
+ * clip's own `repeat` value (or `-1` if no clip is active).
45
60
  */
46
- get loop() {
47
- if (this._loopOverride !== null) {
48
- return this._loopOverride;
61
+ get repeat() {
62
+ if (this._repeatOverride !== null) {
63
+ return this._repeatOverride;
49
64
  }
50
65
  if (!this._currentClipName) {
51
- return false;
66
+ return infiniteRepeat;
52
67
  }
53
- return this._clips.get(this._currentClipName)?.loop ?? false;
68
+ return this._clips.get(this._currentClipName)?.repeat ?? infiniteRepeat;
54
69
  }
55
- set loop(loop) {
56
- this._loopOverride = loop;
70
+ set repeat(repeat) {
71
+ assertValidRepeat('repeat', repeat);
72
+ this._repeatOverride = repeat;
57
73
  }
58
74
  /** Replace all registered clips with the provided map. Clears any previously registered clips first. */
59
75
  setClips(clips) {
@@ -79,23 +95,58 @@ class AnimatedSprite extends Sprite {
79
95
  if (!Number.isFinite(fps) || fps <= 0) {
80
96
  throw new Error(`AnimatedSprite clip "${name}" has an invalid fps value (${fps}).`);
81
97
  }
98
+ const repeat = clip.repeat ?? infiniteRepeat;
99
+ assertValidRepeat(`clip "${name}"`, repeat);
100
+ let frameDurations = null;
101
+ if (clip.frameDurations) {
102
+ if (clip.frameDurations.length !== frames.length) {
103
+ throw new Error(`AnimatedSprite clip "${name}" frameDurations length (${clip.frameDurations.length}) must match its frame count (${frames.length}).`);
104
+ }
105
+ for (const duration of clip.frameDurations) {
106
+ if (!Number.isFinite(duration) || duration <= 0) {
107
+ throw new Error(`AnimatedSprite clip "${name}" has an invalid frameDurations value (${duration}).`);
108
+ }
109
+ }
110
+ frameDurations = [...clip.frameDurations];
111
+ }
112
+ let frameOffsets = null;
113
+ if (clip.frameOffsets) {
114
+ if (clip.frameOffsets.length !== frames.length) {
115
+ throw new Error(`AnimatedSprite clip "${name}" frameOffsets length (${clip.frameOffsets.length}) must match its frame count (${frames.length}).`);
116
+ }
117
+ for (const offset of clip.frameOffsets) {
118
+ if (!Number.isFinite(offset.x) || !Number.isFinite(offset.y)) {
119
+ throw new Error(`AnimatedSprite clip "${name}" has an invalid frameOffsets value (${JSON.stringify(offset)}).`);
120
+ }
121
+ }
122
+ frameOffsets = clip.frameOffsets.map(offset => ({ x: offset.x, y: offset.y }));
123
+ }
82
124
  this._clips.set(name, {
83
125
  frames: frames.map(frame => frame.clone()),
84
126
  frameDurationMs: 1000 / fps,
85
- loop: clip.loop ?? true,
127
+ frameDurations,
128
+ frameOffsets,
129
+ repeat,
86
130
  });
87
131
  return this;
88
132
  }
89
133
  /**
90
134
  * Returns the registered clips as serializable definitions (frames as
91
- * {@link Rectangle}s, `fps`, `loop`). Used by scene serialization to read
92
- * back clip state the normalized internal store no longer exposes directly.
135
+ * {@link Rectangle}s, `fps`, `repeat`, and `frameDurations`/`frameOffsets`
136
+ * when the clip has them). Used by scene serialization to read back clip
137
+ * state the normalized internal store no longer exposes directly.
93
138
  * @internal
94
139
  */
95
140
  _getClipDefinitions() {
96
141
  const out = {};
97
142
  for (const [name, clip] of this._clips) {
98
- out[name] = { frames: clip.frames.map(frame => frame.clone()), fps: 1000 / clip.frameDurationMs, loop: clip.loop };
143
+ out[name] = {
144
+ frames: clip.frames.map(frame => frame.clone()),
145
+ fps: 1000 / clip.frameDurationMs,
146
+ repeat: clip.repeat,
147
+ ...(clip.frameDurations ? { frameDurations: [...clip.frameDurations] } : {}),
148
+ ...(clip.frameOffsets ? { frameOffsets: clip.frameOffsets.map(offset => ({ x: offset.x, y: offset.y })) } : {}),
149
+ };
99
150
  }
100
151
  return out;
101
152
  }
@@ -110,24 +161,28 @@ class AnimatedSprite extends Sprite {
110
161
  /**
111
162
  * Start playing the named clip. By default restarts from frame 0; pass
112
163
  * `{ restart: false }` to resume from the current frame if the same clip
113
- * is already active. Optionally overrides the clip's loop setting.
164
+ * is already active. Optionally overrides the clip's `repeat` setting.
114
165
  */
115
166
  play(name, options = {}) {
116
167
  const clip = this._clips.get(name);
117
168
  if (!clip) {
118
169
  throw new Error(`AnimatedSprite clip "${name}" is not defined.`);
119
170
  }
171
+ if (options.repeat !== undefined) {
172
+ assertValidRepeat('play() options.repeat', options.repeat);
173
+ }
120
174
  const isSameClip = this._currentClipName === name;
121
175
  const shouldRestart = options.restart ?? true;
122
176
  if (!isSameClip || shouldRestart) {
123
177
  this._currentClipName = name;
124
178
  this._currentFrameIndex = 0;
125
179
  this._elapsedFrameTimeMs = 0;
180
+ this._completedCycles = 0;
126
181
  // Normalized clips always hold at least one frame.
127
- this._applyFrame(clip.frames[0]);
182
+ this._applyFrame(clip, 0);
128
183
  this.onFrame.dispatch(name, 0);
129
184
  }
130
- this._loopOverride = options.loop ?? this._loopOverride;
185
+ this._repeatOverride = options.repeat ?? this._repeatOverride;
131
186
  this._playing = true;
132
187
  return this;
133
188
  }
@@ -142,7 +197,7 @@ class AnimatedSprite extends Sprite {
142
197
  if (clip && clip.frames.length > 0) {
143
198
  this._currentFrameIndex = 0;
144
199
  // Guarded non-empty above.
145
- this._applyFrame(clip.frames[0]);
200
+ this._applyFrame(clip, 0);
146
201
  this.onFrame.dispatch(this._currentClipName, 0);
147
202
  }
148
203
  return this;
@@ -160,7 +215,8 @@ class AnimatedSprite extends Sprite {
160
215
  /**
161
216
  * Advance playback by `delta` milliseconds (or a `Time` object). Call once
162
217
  * per frame from the game loop. Dispatches `onFrame` for each frame
163
- * boundary crossed and `onComplete` when a non-looping clip ends.
218
+ * boundary crossed and `onComplete` when the clip completes its final
219
+ * {@link AnimatedSpriteClipDefinition.repeat} cycle.
164
220
  */
165
221
  update(delta) {
166
222
  if (!this._playing || this._currentClipName === null) {
@@ -175,28 +231,48 @@ class AnimatedSprite extends Sprite {
175
231
  return this;
176
232
  }
177
233
  this._elapsedFrameTimeMs += deltaMs;
178
- while (this._elapsedFrameTimeMs >= clip.frameDurationMs) {
179
- this._elapsedFrameTimeMs -= clip.frameDurationMs;
234
+ // The hold duration for the frame CURRENTLY displayed determines how long
235
+ // it takes to advance past it. `frameDurations`, when present, overrides
236
+ // the clip's uniform `frameDurationMs` per frame — re-read after every
237
+ // index change below rather than cached once, since it depends on
238
+ // `_currentFrameIndex`.
239
+ let thresholdMs = clip.frameDurations?.[this._currentFrameIndex] ?? clip.frameDurationMs;
240
+ while (this._elapsedFrameTimeMs >= thresholdMs) {
241
+ this._elapsedFrameTimeMs -= thresholdMs;
180
242
  const nextFrame = this._currentFrameIndex + 1;
181
243
  if (nextFrame >= clip.frames.length) {
182
- if (this.loop) {
244
+ // `repeat` is the single source of truth for whether playback wraps.
245
+ // Infinite always wraps; a finite count wraps until it has completed
246
+ // that many full cycles, then stops on the same path play-once used to.
247
+ const activeRepeat = this._repeatOverride ?? clip.repeat;
248
+ let shouldWrap;
249
+ if (activeRepeat === infiniteRepeat) {
250
+ shouldWrap = true;
251
+ }
252
+ else {
253
+ this._completedCycles++;
254
+ shouldWrap = this._completedCycles < activeRepeat;
255
+ }
256
+ if (shouldWrap) {
183
257
  this._currentFrameIndex = 0;
184
258
  // clip has > 1 frame here (early-returned otherwise).
185
- this._applyFrame(clip.frames[0]);
259
+ this._applyFrame(clip, 0);
186
260
  this.onFrame.dispatch(this._currentClipName, 0);
261
+ thresholdMs = clip.frameDurations?.[this._currentFrameIndex] ?? clip.frameDurationMs;
187
262
  continue;
188
263
  }
189
264
  this._currentFrameIndex = clip.frames.length - 1;
190
265
  // In-bounds: last frame index.
191
- this._applyFrame(clip.frames[this._currentFrameIndex]);
266
+ this._applyFrame(clip, this._currentFrameIndex);
192
267
  this._playing = false;
193
268
  this.onComplete.dispatch(this._currentClipName);
194
269
  break;
195
270
  }
196
271
  this._currentFrameIndex = nextFrame;
197
272
  // In-bounds: nextFrame < frames.length.
198
- this._applyFrame(clip.frames[this._currentFrameIndex]);
273
+ this._applyFrame(clip, this._currentFrameIndex);
199
274
  this.onFrame.dispatch(this._currentClipName, this._currentFrameIndex);
275
+ thresholdMs = clip.frameDurations?.[this._currentFrameIndex] ?? clip.frameDurationMs;
200
276
  }
201
277
  return this;
202
278
  }
@@ -213,21 +289,35 @@ class AnimatedSprite extends Sprite {
213
289
  }
214
290
  /**
215
291
  * Construct an {@link AnimatedSprite} from the named animations defined on
216
- * a {@link Spritesheet}. Each animation becomes a looping clip whose frames
217
- * are the spritesheet frame rectangles in declaration order.
292
+ * a {@link Spritesheet}. Each animation becomes an indefinitely-looping
293
+ * clip whose frames are the spritesheet frame rectangles in declaration
294
+ * order.
218
295
  */
219
296
  static fromSpritesheet(spritesheet) {
220
297
  const clips = {};
221
298
  for (const [clipName, frameNames] of spritesheet.animations) {
222
299
  clips[clipName] = {
223
300
  frames: frameNames.map(frameName => spritesheet.getFrame(frameName)),
224
- loop: true,
225
301
  };
226
302
  }
227
303
  return new AnimatedSprite(spritesheet.texture, clips);
228
304
  }
229
- _applyFrame(frame) {
230
- this.setTextureFrame(frame, false);
305
+ /**
306
+ * Apply the clip's frame at `frameIndex` to the sprite's texture region,
307
+ * and — when the clip defines `frameOffsets` — translate the local quad by
308
+ * that frame's `{x,y}` on top of the sprite's own position/origin. The
309
+ * offset lives entirely in local (pre-scale) space via {@link getLocalBounds},
310
+ * so it composes correctly under rotation/scale and never mutates the
311
+ * public `x`/`y`/`origin` a caller set.
312
+ */
313
+ _applyFrame(clip, frameIndex) {
314
+ // In-bounds by every call site's own guard.
315
+ this.setTextureFrame(clip.frames[frameIndex], false);
316
+ const offset = clip.frameOffsets?.[frameIndex];
317
+ if (offset) {
318
+ this.getLocalBounds().setPosition(offset.x, offset.y);
319
+ this._invalidateBoundsCascade();
320
+ }
231
321
  }
232
322
  }
233
323
 
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedSprite.js","sources":["../../../../../src/rendering/sprite/AnimatedSprite.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimatedSprite.js","sources":["../../../../../src/rendering/sprite/AnimatedSprite.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BitmapText.d.ts","sourceRoot":"","sources":["../../../../src/rendering/text/BitmapText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BitmapText.d.ts","sourceRoot":"","sources":["../../../../src/rendering/text/BitmapText.ts"],"names":[],"mappings":"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"}
@@ -220,6 +220,8 @@ class BitmapText extends AbstractText {
220
220
  maxY = py;
221
221
  }
222
222
  this._textBounds = { width: maxX, height: maxY };
223
+ this.getLocalBounds().set(0, 0, maxX, maxY);
224
+ this._invalidateBoundsCascade();
223
225
  this._pageQuads = buildTextPageQuads(placements);
224
226
  }
225
227
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BitmapText.js","sources":["../../../../../src/rendering/text/BitmapText.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AA6BA;AAEA;;;;;;;;;AASG;MACU,aAAa,CAAA;AACP,IAAA,SAAS;AACT,IAAA,SAAS;AACT,IAAA,MAAM;;AAEN,IAAA,gBAAgB;;AAEhB,IAAA,OAAO;AAExB,IAAA,WAAA,CAAmB,QAAoB,EAAE,QAA4B,EAAE,KAAa,EAAA;AAClF,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,GAAG,KAAK,GAAG,GAAG;QACzD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS;IAC/C;IAEO,QAAQ,CAAC,IAAY,EAAE,SAAiB,EAAA;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM;AACrB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU;AACpC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;AAEhC,QAAA,IAAI,CAAC,KAAK,SAAS,EAAE;YASnB,OAAO;AACL,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC9B,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,QAAQ,EAAE,CAAC;aACZ;QACH;QAEA,MAAM,CACJ,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAC9B,CAAA,6BAAA,EAAgC,CAAC,CAAC,IAAI,CAAA,yBAAA,EAA4B,IAAI,CAAC,OAAO,CAAA,MAAA,EAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA,QAAA,CAAU,CACvH;AACD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC;AAC/C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;QAEhD,OAAO;YACL,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;AACN,YAAA,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;AAClB,YAAA,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;AACpB,YAAA,OAAO,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC;AACvB,YAAA,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,IAAI;AACZ,YAAA,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;AAClB,YAAA,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;YACjB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI;YAC/B,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI;;;AAGjC,YAAA,QAAQ,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC;;;;AAIvB,YAAA,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1C;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAE,IAAY,EAAE,SAAiB,EAAA;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;AAAE,YAAA,OAAO,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;IACtE;AACD;AAED;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACG,MAAO,UAAW,SAAQ,YAAY,CAAA;AAClC,IAAA,KAAK;AACL,IAAA,UAAU;AACV,IAAA,KAAK;AACL,IAAA,MAAM;AACN,IAAA,OAAO;;IAGP,UAAU,GAAoB,EAAE;IAChC,WAAW,GAAa,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;AAC/C,IAAA,QAAQ;AAEhB,IAAA,WAAA,CAAmB,IAAY,EAAE,IAAY,EAAE,UAA6B,EAAE,EAAA;QAC5E,KAAK,CAAC,IAAI,CAAC;AACX,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACjB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAChF,IAAI,CAAC,QAAQ,EAAE;IACjB;;AAIA,IAAA,IAAoB,IAAI,GAAA;QACtB,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,IAAoB,IAAI,CAAC,CAAS,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;QACd,IAAI,CAAC,QAAQ,EAAE;IACjB;;;AAKA,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAW,KAAK,CAAC,CAA+B,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,YAAY,SAAS,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE;IACjB;;AAGA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,CAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAChB,IAAI,CAAC,QAAQ,EAAE;IACjB;;AAGA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;IACxB;IAEA,IAAW,SAAS,CAAC,CAAS,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC;YAAE;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,EAAE;IACjB;;;AAKA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;IACnB;;AAGA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;IACnB;;AAGA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA,IAAA,IAAoB,UAAU,GAAA;QAC5B,OAAO,IAAI,CAAC,WAAW;IACzB;;AAGA,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;IAC5B;;;AAKO,IAAA,OAAO,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAChF,IAAI,CAAC,QAAQ,EAAE;IACjB;IAEgB,OAAO,GAAA;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;QACpB,KAAK,CAAC,OAAO,EAAE;IACjB;;IAIQ,QAAQ,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;AAC1C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE;;;;AAK7B,QAAA,MAAM,WAAW,GAAoB;YACnC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AAC1D,YAAA,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;AAClC,YAAA,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;AAC5B,YAAA,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB;AAED,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;AAEnF,QAAA,IAAI,IAAI,GAAG,CAAC,EACV,IAAI,GAAG,CAAC;AACV,QAAA,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK;YACxB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;YACzB,IAAI,EAAE,GAAG,IAAI;gBAAE,IAAI,GAAG,EAAE;YACxB,IAAI,EAAE,GAAG,IAAI;gBAAE,IAAI,GAAG,EAAE;QAC1B;AACA,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;AAEhD,QAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;IAClD;AACD;;;;"}
1
+ {"version":3,"file":"BitmapText.js","sources":["../../../../../src/rendering/text/BitmapText.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLText.d.ts","sourceRoot":"","sources":["../../../../src/rendering/text/HTMLText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAU1D,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,qBAAa,QAAS,SAAQ,SAAS;IACrC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,IAAI,CAA+D;IAC3E,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,KAAK,CAAO;IAEpB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAA8B;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;gBAEtD,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAwB9D,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,IAAI,CAAC,CAAC,EAAE,MAAM,EAIxB;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,IAAW,GAAG,CAAC,CAAC,EAAE,MAAM,EAIvB;IAED,IAAoB,KAAK,IAAI,MAAM,CAElC;IACD,IAAoB,KAAK,CAAC,CAAC,EAAE,MAAM,EAElC;IAED,IAAoB,MAAM,IAAI,MAAM,CAEnC;IACD,IAAoB,MAAM,CAAC,CAAC,EAAE,MAAM,EAEnC;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,IAAW,UAAU,CAAC,CAAC,EAAE,MAAM,EAK9B;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;IAID;;;;;;;;;;OAUG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAE,UAAoB,GAAG,IAAI;IAcrF,mEAAmE;IAC5D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWvC;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAUlC,OAAO,IAAI,IAAI;IAU/B,OAAO,CAAC,SAAS;YAQH,OAAO;IA4BrB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB,OAAO,CAAC,MAAM,CAAC,WAAW;CAkB3B"}
1
+ {"version":3,"file":"HTMLText.d.ts","sourceRoot":"","sources":["../../../../src/rendering/text/HTMLText.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAU1D,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,qBAAa,QAAS,SAAQ,SAAS;IACrC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,IAAI,CAA+D;IAC3E,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,KAAK,CAAO;IAEpB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAA8B;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;gBAEtD,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAwB9D,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,IAAI,CAAC,CAAC,EAAE,MAAM,EAIxB;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,IAAW,GAAG,CAAC,CAAC,EAAE,MAAM,EAIvB;IAED,IAAoB,KAAK,IAAI,MAAM,CAElC;IACD,IAAoB,KAAK,CAAC,CAAC,EAAE,MAAM,EAElC;IAED,IAAoB,MAAM,IAAI,MAAM,CAEnC;IACD,IAAoB,MAAM,CAAC,CAAC,EAAE,MAAM,EAEnC;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,IAAW,UAAU,CAAC,CAAC,EAAE,MAAM,EAK9B;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;IAID;;;;;;;;;;OAUG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAE,UAAoB,GAAG,IAAI;IAcrF,mEAAmE;IAC5D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWvC;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAUlC,OAAO,IAAI,IAAI;IAU/B,OAAO,CAAC,SAAS;YAOH,OAAO;IA4BrB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB,OAAO,CAAC,MAAM,CAAC,WAAW;CAkB3B"}
@@ -1,3 +1,4 @@
1
+ import { logger, LogSeverity } from '../../core/logging.js';
1
2
  import { Container } from '../Container.js';
2
3
  import { Mesh } from '../mesh/Mesh.js';
3
4
  import { Texture } from '../texture/Texture.js';
@@ -180,8 +181,7 @@ class HTMLText extends Container {
180
181
  _schedule() {
181
182
  const version = ++this._renderVersion;
182
183
  this._activeRender = this._render(version).catch(error => {
183
- // eslint-disable-next-line no-console -- SVG/HTML render failures are meaningful dev-time diagnostics
184
- console.warn('[ExoJS] HTMLText render failed.', error);
184
+ logger.log(LogSeverity.Warning, 'rendering', 'HTMLText render failed.', error instanceof Error ? { error } : undefined);
185
185
  });
186
186
  }
187
187
  async _render(version) {
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLText.js","sources":["../../../../../src/rendering/text/HTMLText.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLText.js","sources":["../../../../../src/rendering/text/HTMLText.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/rendering/text/Text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB,EAAE,aAAa;IAClE,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,oDAAoD;IACpD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAqC;gBAErC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAa1D,IAAW,KAAK,IAAI,SAAS,CAE5B;IAED,IAAW,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,gBAAgB,EAO/C;IAED,IAAoB,IAAI,IAAI,MAAM,CAEjC;IAED,IAAoB,IAAI,CAAC,CAAC,EAAE,MAAM,EAIjC;IAED,IAAW,MAAM,IAAI,aAAa,CAEjC;IAED,IAAW,MAAM,CAAC,CAAC,EAAE,aAAa,EAGjC;IAED;;;;OAIG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;;;OAIG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED,wDAAwD;IACxD,IAAW,SAAS,IAAI,SAAS,aAAa,EAAE,CAE/C;IAED,IAAoB,UAAU,IAAI,QAAQ,CAEzC;IAED,6DAA6D;IAC7D,IAAW,KAAK,IAAI,UAAU,GAAG,IAAI,CAEpC;IAEe,SAAS,IAAI,IAAI;IAOjB,OAAO,IAAI,IAAI;IAU/B,yEAAyE;IACzE,OAAO,CAAC,YAAY;IAMpB;;;;;;OAMG;YACW,SAAS;IAsBvB,OAAO,CAAC,QAAQ;CAiCjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/rendering/text/Text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB,EAAE,aAAa;IAClE,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,oDAAoD;IACpD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAqC;gBAErC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAa1D,IAAW,KAAK,IAAI,SAAS,CAE5B;IAED,IAAW,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,gBAAgB,EAO/C;IAED,IAAoB,IAAI,IAAI,MAAM,CAEjC;IAED,IAAoB,IAAI,CAAC,CAAC,EAAE,MAAM,EAIjC;IAED,IAAW,MAAM,IAAI,aAAa,CAEjC;IAED,IAAW,MAAM,CAAC,CAAC,EAAE,aAAa,EAGjC;IAED;;;;OAIG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;;;OAIG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED,wDAAwD;IACxD,IAAW,SAAS,IAAI,SAAS,aAAa,EAAE,CAE/C;IAED,IAAoB,UAAU,IAAI,QAAQ,CAEzC;IAED,6DAA6D;IAC7D,IAAW,KAAK,IAAI,UAAU,GAAG,IAAI,CAEpC;IAEe,SAAS,IAAI,IAAI;IAOjB,OAAO,IAAI,IAAI;IAU/B,yEAAyE;IACzE,OAAO,CAAC,YAAY;IAMpB;;;;;;OAMG;YACW,SAAS;IAsBvB,OAAO,CAAC,QAAQ;CAmCjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -193,6 +193,8 @@ class Text extends AbstractText {
193
193
  maxY = py;
194
194
  }
195
195
  this._textBounds = { width: maxX, height: maxY };
196
+ this.getLocalBounds().set(0, 0, maxX, maxY);
197
+ this._invalidateBoundsCascade();
196
198
  this._pageQuads = buildTextPageQuads(placements);
197
199
  this._style.consumeDirty();
198
200
  }