@kurot/core 1.0.14 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -1
- package/dist/kurot/display/Bitmap.d.ts +0 -1
- package/dist/kurot/display/Bitmap.d.ts.map +1 -1
- package/dist/kurot/display/Bitmap.js +0 -3
- package/dist/kurot/display/Bitmap.js.map +1 -1
- package/dist/kurot/display/DisplayObject.d.ts +16 -35
- package/dist/kurot/display/DisplayObject.d.ts.map +1 -1
- package/dist/kurot/display/DisplayObject.js +6 -41
- package/dist/kurot/display/DisplayObject.js.map +1 -1
- package/dist/kurot/display/DisplayObjectContainer.d.ts +0 -10
- package/dist/kurot/display/DisplayObjectContainer.d.ts.map +1 -1
- package/dist/kurot/display/DisplayObjectContainer.js +0 -14
- package/dist/kurot/display/DisplayObjectContainer.js.map +1 -1
- package/dist/kurot/display/Graphics.d.ts +0 -1
- package/dist/kurot/display/Graphics.d.ts.map +1 -1
- package/dist/kurot/display/Graphics.js +0 -3
- package/dist/kurot/display/Graphics.js.map +1 -1
- package/dist/kurot/display/Mesh.d.ts +9 -3
- package/dist/kurot/display/Mesh.d.ts.map +1 -1
- package/dist/kurot/display/Mesh.js +9 -3
- package/dist/kurot/display/Mesh.js.map +1 -1
- package/dist/kurot/display/Stage.d.ts +0 -1
- package/dist/kurot/display/Stage.d.ts.map +1 -1
- package/dist/kurot/display/Stage.js +0 -2
- package/dist/kurot/display/Stage.js.map +1 -1
- package/dist/kurot/display/enums/BlendMode.d.ts.map +1 -1
- package/dist/kurot/display/enums/BlendMode.js +0 -2
- package/dist/kurot/display/enums/BlendMode.js.map +1 -1
- package/dist/kurot/display/texture/RenderTexture.d.ts +0 -1
- package/dist/kurot/display/texture/RenderTexture.d.ts.map +1 -1
- package/dist/kurot/display/texture/RenderTexture.js +0 -4
- package/dist/kurot/display/texture/RenderTexture.js.map +1 -1
- package/dist/kurot/display/texture/Texture.d.ts +9 -3
- package/dist/kurot/display/texture/Texture.d.ts.map +1 -1
- package/dist/kurot/display/texture/Texture.js +9 -3
- package/dist/kurot/display/texture/Texture.js.map +1 -1
- package/dist/kurot/events/Event.d.ts +3 -1
- package/dist/kurot/events/Event.d.ts.map +1 -1
- package/dist/kurot/events/Event.js +0 -2
- package/dist/kurot/events/Event.js.map +1 -1
- package/dist/kurot/events/EventDispatcher.d.ts.map +1 -1
- package/dist/kurot/events/EventDispatcher.js +0 -2
- package/dist/kurot/events/EventDispatcher.js.map +1 -1
- package/dist/kurot/events/TimerEvent.d.ts +0 -1
- package/dist/kurot/events/TimerEvent.d.ts.map +1 -1
- package/dist/kurot/events/TimerEvent.js +0 -1
- package/dist/kurot/events/TimerEvent.js.map +1 -1
- package/dist/kurot/events/TouchEvent.d.ts +0 -1
- package/dist/kurot/events/TouchEvent.d.ts.map +1 -1
- package/dist/kurot/events/TouchEvent.js +0 -1
- package/dist/kurot/events/TouchEvent.js.map +1 -1
- package/dist/kurot/filters/BlurFilter.d.ts.map +1 -1
- package/dist/kurot/filters/BlurFilter.js +0 -3
- package/dist/kurot/filters/BlurFilter.js.map +1 -1
- package/dist/kurot/filters/DropShadowFilter.d.ts.map +1 -1
- package/dist/kurot/filters/DropShadowFilter.js +0 -2
- package/dist/kurot/filters/DropShadowFilter.js.map +1 -1
- package/dist/kurot/geom/Matrix.d.ts +3 -9
- package/dist/kurot/geom/Matrix.d.ts.map +1 -1
- package/dist/kurot/geom/Matrix.js +3 -9
- package/dist/kurot/geom/Matrix.js.map +1 -1
- package/dist/kurot/geom/Point.d.ts +3 -1
- package/dist/kurot/geom/Point.d.ts.map +1 -1
- package/dist/kurot/geom/Point.js +3 -1
- package/dist/kurot/geom/Point.js.map +1 -1
- package/dist/kurot/geom/Rectangle.d.ts +3 -3
- package/dist/kurot/geom/Rectangle.d.ts.map +1 -1
- package/dist/kurot/geom/Rectangle.js +3 -3
- package/dist/kurot/geom/Rectangle.js.map +1 -1
- package/dist/kurot/media/Sound.d.ts.map +1 -1
- package/dist/kurot/media/Sound.js +1 -8
- package/dist/kurot/media/Sound.js.map +1 -1
- package/dist/kurot/media/SoundChannel.d.ts +0 -1
- package/dist/kurot/media/SoundChannel.d.ts.map +1 -1
- package/dist/kurot/media/SoundChannel.js +0 -3
- package/dist/kurot/media/SoundChannel.js.map +1 -1
- package/dist/kurot/player/InstructionSet.d.ts +4 -17
- package/dist/kurot/player/InstructionSet.d.ts.map +1 -1
- package/dist/kurot/player/InstructionSet.js +3 -20
- package/dist/kurot/player/InstructionSet.js.map +1 -1
- package/dist/kurot/player/KurotOptions.d.ts +24 -9
- package/dist/kurot/player/KurotOptions.d.ts.map +1 -1
- package/dist/kurot/player/Player.d.ts +15 -9
- package/dist/kurot/player/Player.d.ts.map +1 -1
- package/dist/kurot/player/Player.js +20 -22
- package/dist/kurot/player/Player.js.map +1 -1
- package/dist/kurot/player/RenderBuffer.d.ts +4 -14
- package/dist/kurot/player/RenderBuffer.d.ts.map +1 -1
- package/dist/kurot/player/RenderContext.d.ts +11 -27
- package/dist/kurot/player/RenderContext.d.ts.map +1 -1
- package/dist/kurot/player/RenderPipe.d.ts +3 -13
- package/dist/kurot/player/RenderPipe.d.ts.map +1 -1
- package/dist/kurot/player/ScreenAdapter.d.ts +6 -5
- package/dist/kurot/player/ScreenAdapter.d.ts.map +1 -1
- package/dist/kurot/player/ScreenAdapter.js +6 -15
- package/dist/kurot/player/ScreenAdapter.js.map +1 -1
- package/dist/kurot/player/SystemTicker.d.ts +13 -9
- package/dist/kurot/player/SystemTicker.d.ts.map +1 -1
- package/dist/kurot/player/SystemTicker.js +10 -13
- package/dist/kurot/player/SystemTicker.js.map +1 -1
- package/dist/kurot/player/TouchHandler.d.ts +3 -4
- package/dist/kurot/player/TouchHandler.d.ts.map +1 -1
- package/dist/kurot/player/TouchHandler.js +3 -12
- package/dist/kurot/player/TouchHandler.js.map +1 -1
- package/dist/kurot/player/canvas/CanvasBuffer.d.ts.map +1 -1
- package/dist/kurot/player/canvas/CanvasBuffer.js +0 -3
- package/dist/kurot/player/canvas/CanvasBuffer.js.map +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.d.ts +9 -17
- package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.js +182 -74
- package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
- package/dist/kurot/player/canvas/DisplayList.d.ts +1 -5
- package/dist/kurot/player/canvas/DisplayList.d.ts.map +1 -1
- package/dist/kurot/player/canvas/DisplayList.js +1 -5
- package/dist/kurot/player/canvas/DisplayList.js.map +1 -1
- package/dist/kurot/player/createPlayer.d.ts.map +1 -1
- package/dist/kurot/player/createPlayer.js +0 -2
- package/dist/kurot/player/createPlayer.js.map +1 -1
- package/dist/kurot/player/pipes/BitmapPipe.d.ts +3 -9
- package/dist/kurot/player/pipes/BitmapPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/BitmapPipe.js +19 -33
- package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -1
- package/dist/kurot/player/pipes/FilterPipe.d.ts +11 -28
- package/dist/kurot/player/pipes/FilterPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/FilterPipe.js +8 -51
- package/dist/kurot/player/pipes/FilterPipe.js.map +1 -1
- package/dist/kurot/player/pipes/GraphicsPipe.d.ts +2 -7
- package/dist/kurot/player/pipes/GraphicsPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/GraphicsPipe.js +28 -38
- package/dist/kurot/player/pipes/GraphicsPipe.js.map +1 -1
- package/dist/kurot/player/pipes/MaskPipe.d.ts +9 -14
- package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/MaskPipe.js +24 -46
- package/dist/kurot/player/pipes/MaskPipe.js.map +1 -1
- package/dist/kurot/player/pipes/MeshPipe.d.ts +4 -1
- package/dist/kurot/player/pipes/MeshPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/MeshPipe.js +20 -22
- package/dist/kurot/player/pipes/MeshPipe.js.map +1 -1
- package/dist/kurot/player/pipes/ParticlePipe.d.ts +1 -2
- package/dist/kurot/player/pipes/ParticlePipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/ParticlePipe.js +6 -14
- package/dist/kurot/player/pipes/ParticlePipe.js.map +1 -1
- package/dist/kurot/player/pipes/TextPipe.d.ts +3 -23
- package/dist/kurot/player/pipes/TextPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/TextPipe.js +31 -74
- package/dist/kurot/player/pipes/TextPipe.js.map +1 -1
- package/dist/kurot/player/webgl/MultiTextureBatcher.d.ts +1 -12
- package/dist/kurot/player/webgl/MultiTextureBatcher.d.ts.map +1 -1
- package/dist/kurot/player/webgl/MultiTextureBatcher.js +2 -11
- package/dist/kurot/player/webgl/MultiTextureBatcher.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLDrawCmdManager.d.ts +4 -4
- package/dist/kurot/player/webgl/WebGLDrawCmdManager.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLDrawCmdManager.js +11 -10
- package/dist/kurot/player/webgl/WebGLDrawCmdManager.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLProgram.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLProgram.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts +2 -0
- package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderBuffer.js +9 -6
- package/dist/kurot/player/webgl/WebGLRenderBuffer.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderContext.d.ts +14 -43
- package/dist/kurot/player/webgl/WebGLRenderContext.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderContext.js +34 -114
- package/dist/kurot/player/webgl/WebGLRenderContext.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderTarget.d.ts +2 -0
- package/dist/kurot/player/webgl/WebGLRenderTarget.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderTarget.js +6 -0
- package/dist/kurot/player/webgl/WebGLRenderTarget.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.d.ts +3 -147
- package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js +6 -210
- package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLUtils.d.ts +4 -4
- package/dist/kurot/player/webgl/WebGLUtils.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLUtils.js +3 -2
- package/dist/kurot/player/webgl/WebGLUtils.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLVertexArrayObject.d.ts +6 -2
- package/dist/kurot/player/webgl/WebGLVertexArrayObject.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLVertexArrayObject.js +6 -11
- package/dist/kurot/player/webgl/WebGLVertexArrayObject.js.map +1 -1
- package/dist/kurot/player/webgl/shaders/ShaderLib.d.ts +1 -2
- package/dist/kurot/player/webgl/shaders/ShaderLib.d.ts.map +1 -1
- package/dist/kurot/player/webgl/shaders/ShaderLib.js +1 -6
- package/dist/kurot/player/webgl/shaders/ShaderLib.js.map +1 -1
- package/dist/kurot/player/webgl/shaders/ShaderLib2.d.ts +1 -2
- package/dist/kurot/player/webgl/shaders/ShaderLib2.d.ts.map +1 -1
- package/dist/kurot/player/webgl/shaders/ShaderLib2.js +1 -13
- package/dist/kurot/player/webgl/shaders/ShaderLib2.js.map +1 -1
- package/dist/kurot/player/webgl/shaders/index.d.ts.map +1 -1
- package/dist/kurot/player/webgl/shaders/index.js +0 -2
- package/dist/kurot/player/webgl/shaders/index.js.map +1 -1
- package/dist/kurot/resource/Resource.d.ts +1 -1
- package/dist/kurot/resource/Resource.d.ts.map +1 -1
- package/dist/kurot/resource/Resource.js +1 -12
- package/dist/kurot/resource/Resource.js.map +1 -1
- package/dist/kurot/resource/ResourceEvent.d.ts +15 -5
- package/dist/kurot/resource/ResourceEvent.d.ts.map +1 -1
- package/dist/kurot/resource/ResourceLoader.d.ts +15 -24
- package/dist/kurot/resource/ResourceLoader.d.ts.map +1 -1
- package/dist/kurot/resource/ResourceLoader.js +17 -35
- package/dist/kurot/resource/ResourceLoader.js.map +1 -1
- package/dist/kurot/resource/analyzers/AnalyzerBase.d.ts +3 -4
- package/dist/kurot/resource/analyzers/AnalyzerBase.d.ts.map +1 -1
- package/dist/kurot/resource/analyzers/AnalyzerBase.js +3 -5
- package/dist/kurot/resource/analyzers/AnalyzerBase.js.map +1 -1
- package/dist/kurot/resource/analyzers/ImageAnalyzer.d.ts.map +1 -1
- package/dist/kurot/resource/analyzers/ImageAnalyzer.js +0 -1
- package/dist/kurot/resource/analyzers/ImageAnalyzer.js.map +1 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts +6 -5
- package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts.map +1 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.js +6 -12
- package/dist/kurot/resource/analyzers/SheetAnalyzer.js.map +1 -1
- package/dist/kurot/resource/analyzers/SoundAnalyzer.d.ts.map +1 -1
- package/dist/kurot/resource/analyzers/SoundAnalyzer.js +0 -1
- package/dist/kurot/resource/analyzers/SoundAnalyzer.js.map +1 -1
- package/dist/kurot/resource/index.d.ts.map +1 -1
- package/dist/kurot/resource/index.js +0 -3
- package/dist/kurot/resource/index.js.map +1 -1
- package/dist/kurot/system/Capabilities.d.ts +11 -13
- package/dist/kurot/system/Capabilities.d.ts.map +1 -1
- package/dist/kurot/system/Capabilities.js +12 -18
- package/dist/kurot/system/Capabilities.js.map +1 -1
- package/dist/kurot/text/BitmapFont.d.ts +0 -1
- package/dist/kurot/text/BitmapFont.d.ts.map +1 -1
- package/dist/kurot/text/BitmapFont.js +0 -2
- package/dist/kurot/text/BitmapFont.js.map +1 -1
- package/dist/kurot/text/BitmapText.d.ts +0 -5
- package/dist/kurot/text/BitmapText.d.ts.map +1 -1
- package/dist/kurot/text/BitmapText.js +0 -6
- package/dist/kurot/text/BitmapText.js.map +1 -1
- package/dist/kurot/text/HtmlTextParser.d.ts +3 -1
- package/dist/kurot/text/HtmlTextParser.d.ts.map +1 -1
- package/dist/kurot/text/HtmlTextParser.js +3 -1
- package/dist/kurot/text/HtmlTextParser.js.map +1 -1
- package/dist/kurot/text/InputController.d.ts.map +1 -1
- package/dist/kurot/text/InputController.js +0 -2
- package/dist/kurot/text/InputController.js.map +1 -1
- package/dist/kurot/text/StageText.d.ts +1 -20
- package/dist/kurot/text/StageText.d.ts.map +1 -1
- package/dist/kurot/text/StageText.js +2 -46
- package/dist/kurot/text/StageText.js.map +1 -1
- package/dist/kurot/text/TextField.d.ts +0 -12
- package/dist/kurot/text/TextField.d.ts.map +1 -1
- package/dist/kurot/text/TextField.js +0 -41
- package/dist/kurot/text/TextField.js.map +1 -1
- package/dist/kurot/text/WordWrap.d.ts +0 -1
- package/dist/kurot/text/WordWrap.d.ts.map +1 -1
- package/dist/kurot/text/WordWrap.js +0 -3
- package/dist/kurot/text/WordWrap.js.map +1 -1
- package/dist/kurot/utils/Base64Util.d.ts +1 -6
- package/dist/kurot/utils/Base64Util.d.ts.map +1 -1
- package/dist/kurot/utils/Base64Util.js +1 -7
- package/dist/kurot/utils/Base64Util.js.map +1 -1
- package/dist/kurot/utils/DebugLog.js +0 -1
- package/dist/kurot/utils/DebugLog.js.map +1 -1
- package/dist/kurot/utils/FontManager.d.ts.map +1 -1
- package/dist/kurot/utils/FontManager.js +3 -1
- package/dist/kurot/utils/FontManager.js.map +1 -1
- package/dist/kurot/utils/NumberUtils.d.ts.map +1 -1
- package/dist/kurot/utils/NumberUtils.js +0 -1
- package/dist/kurot/utils/NumberUtils.js.map +1 -1
- package/package.json +14 -3
- package/dist/kurot/benchmark/BenchmarkRunner.d.ts +0 -60
- package/dist/kurot/benchmark/BenchmarkRunner.d.ts.map +0 -1
- package/dist/kurot/benchmark/BenchmarkRunner.js +0 -112
- package/dist/kurot/benchmark/BenchmarkRunner.js.map +0 -1
- package/dist/kurot/benchmark/MetricsCollector.d.ts +0 -34
- package/dist/kurot/benchmark/MetricsCollector.d.ts.map +0 -1
- package/dist/kurot/benchmark/MetricsCollector.js +0 -123
- package/dist/kurot/benchmark/MetricsCollector.js.map +0 -1
- package/dist/kurot/benchmark/PerfPanel.d.ts +0 -24
- package/dist/kurot/benchmark/PerfPanel.d.ts.map +0 -1
- package/dist/kurot/benchmark/PerfPanel.js +0 -131
- package/dist/kurot/benchmark/PerfPanel.js.map +0 -1
- package/dist/kurot/benchmark/ReportExporter.d.ts +0 -8
- package/dist/kurot/benchmark/ReportExporter.d.ts.map +0 -1
- package/dist/kurot/benchmark/ReportExporter.js +0 -54
- package/dist/kurot/benchmark/ReportExporter.js.map +0 -1
- package/dist/kurot/benchmark/SceneRegistry.d.ts +0 -16
- package/dist/kurot/benchmark/SceneRegistry.d.ts.map +0 -1
- package/dist/kurot/benchmark/SceneRegistry.js +0 -233
- package/dist/kurot/benchmark/SceneRegistry.js.map +0 -1
- package/dist/kurot/benchmark/types.d.ts +0 -47
- package/dist/kurot/benchmark/types.d.ts.map +0 -1
- package/dist/kurot/benchmark/types.js +0 -2
- package/dist/kurot/benchmark/types.js.map +0 -1
|
@@ -7,19 +7,27 @@
|
|
|
7
7
|
* - Progress is reported via the `onProgress` callback.
|
|
8
8
|
*/
|
|
9
9
|
export class ResourceLoader {
|
|
10
|
-
// ──
|
|
11
|
-
/**
|
|
10
|
+
// ── Instance fields ──────────────────────────────────────────────────────
|
|
11
|
+
/**
|
|
12
|
+
* Maximum concurrent loads
|
|
13
|
+
*/
|
|
12
14
|
threadCount = 2;
|
|
13
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Maximum retries for failed items
|
|
17
|
+
*/
|
|
14
18
|
retryCount = 3;
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Called for each successfully loaded item
|
|
21
|
+
*/
|
|
17
22
|
onComplete;
|
|
18
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Called for each failed item (after retries exhausted)
|
|
25
|
+
*/
|
|
19
26
|
onError;
|
|
20
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Called with (loaded, total) progress
|
|
29
|
+
*/
|
|
21
30
|
onProgress;
|
|
22
|
-
// ── Internal state ─────────────────────────────────────────────────────
|
|
23
31
|
pendingList = [];
|
|
24
32
|
loadingList = [];
|
|
25
33
|
retryDic = new Map();
|
|
@@ -27,7 +35,7 @@ export class ResourceLoader {
|
|
|
27
35
|
activeCount = 0;
|
|
28
36
|
totalCount = 0;
|
|
29
37
|
completedCount = 0;
|
|
30
|
-
// ── Public
|
|
38
|
+
// ── Public methods ─────────────────────────────────────────────────────────
|
|
31
39
|
/**
|
|
32
40
|
* Register an analyzer for a resource type.
|
|
33
41
|
*/
|
|
@@ -68,7 +76,6 @@ export class ResourceLoader {
|
|
|
68
76
|
// ── Private methods ────────────────────────────────────────────────────
|
|
69
77
|
_resolve;
|
|
70
78
|
next() {
|
|
71
|
-
// All done?
|
|
72
79
|
if (this.pendingList.length === 0 && this.activeCount === 0) {
|
|
73
80
|
if (this._resolve) {
|
|
74
81
|
this._resolve();
|
|
@@ -76,7 +83,6 @@ export class ResourceLoader {
|
|
|
76
83
|
}
|
|
77
84
|
return;
|
|
78
85
|
}
|
|
79
|
-
// Fill up to threadCount
|
|
80
86
|
while (this.activeCount < this.threadCount && this.pendingList.length > 0) {
|
|
81
87
|
const item = this.pendingList.shift();
|
|
82
88
|
this.loadingList.push(item);
|
|
@@ -84,20 +90,6 @@ export class ResourceLoader {
|
|
|
84
90
|
this.loadItem(item);
|
|
85
91
|
}
|
|
86
92
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Load a single item via its registered analyzer and route the outcome
|
|
89
|
-
* through `finishItem()`, regardless of how it finished (no analyzer,
|
|
90
|
-
* synchronous throw, rejection, or a resolved result).
|
|
91
|
-
*
|
|
92
|
-
* `analyzer.loadFile(item)` is a plain (possibly user-supplied) method —
|
|
93
|
-
* it isn't guaranteed to always return a Promise before throwing. If it
|
|
94
|
-
* throws synchronously instead of rejecting, that exception happens on
|
|
95
|
-
* the call expression itself, before any Promise exists to attach
|
|
96
|
-
* `.catch()` to; without the try/catch below, the exception would
|
|
97
|
-
* propagate out of `loadItem()` (past `next()`'s while-loop, skipping
|
|
98
|
-
* every subsequent item this tick) and this item's `activeCount` slot
|
|
99
|
-
* would never be retired, permanently wedging `start()`.
|
|
100
|
-
*/
|
|
101
93
|
loadItem(item) {
|
|
102
94
|
const analyzer = this.analyzerMap.get(item.type);
|
|
103
95
|
if (!analyzer) {
|
|
@@ -114,9 +106,6 @@ export class ResourceLoader {
|
|
|
114
106
|
this.finishItem(item);
|
|
115
107
|
return;
|
|
116
108
|
}
|
|
117
|
-
// Use the rejection callback of then(), rather than a chained catch().
|
|
118
|
-
// Exceptions from completion callbacks must not be mistaken for an
|
|
119
|
-
// analyzer failure and retire the same item twice.
|
|
120
109
|
result.then(r => {
|
|
121
110
|
this.finishItem(r);
|
|
122
111
|
}, () => {
|
|
@@ -124,11 +113,6 @@ export class ResourceLoader {
|
|
|
124
113
|
this.finishItem(item);
|
|
125
114
|
});
|
|
126
115
|
}
|
|
127
|
-
/**
|
|
128
|
-
* Single completion point for an in-flight item, whether it loaded, failed,
|
|
129
|
-
* threw, or had no analyzer. Decrements `activeCount` exactly once per item
|
|
130
|
-
* so retry / no-analyzer paths can't double-decrement or leak a slot.
|
|
131
|
-
*/
|
|
132
116
|
finishItem(item) {
|
|
133
117
|
this.loadingList = this.loadingList.filter(i => i !== item);
|
|
134
118
|
this.activeCount--;
|
|
@@ -153,7 +137,6 @@ export class ResourceLoader {
|
|
|
153
137
|
this.next();
|
|
154
138
|
return;
|
|
155
139
|
}
|
|
156
|
-
// Retries exhausted
|
|
157
140
|
this.completedCount++;
|
|
158
141
|
this.safeNotify(() => this.onError?.(item));
|
|
159
142
|
this.reportProgress();
|
|
@@ -167,7 +150,6 @@ export class ResourceLoader {
|
|
|
167
150
|
callback();
|
|
168
151
|
}
|
|
169
152
|
catch {
|
|
170
|
-
// Consumer callbacks must not corrupt loader bookkeeping or stall the queue.
|
|
171
153
|
}
|
|
172
154
|
}
|
|
173
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceLoader.js","sourceRoot":"","sources":["../../../src/kurot/resource/ResourceLoader.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IAC1B,
|
|
1
|
+
{"version":3,"file":"ResourceLoader.js","sourceRoot":"","sources":["../../../src/kurot/resource/ResourceLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ import { ResourceItem } from '../ResourceItem.js';
|
|
|
4
4
|
* Each analyzer handles loading and caching one type of resource.
|
|
5
5
|
*/
|
|
6
6
|
export declare abstract class AnalyzerBase {
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Cached resource data: name → data
|
|
9
|
+
*/
|
|
8
10
|
protected fileDic: Map<string, unknown>;
|
|
9
11
|
/**
|
|
10
12
|
* Load a resource file. Returns a promise that resolves with the ResourceItem
|
|
@@ -23,9 +25,6 @@ export declare abstract class AnalyzerBase {
|
|
|
23
25
|
* Remove a cached resource. Returns true if the resource existed.
|
|
24
26
|
*/
|
|
25
27
|
destroyRes(name: string): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Called when a resource is destroyed. Subclasses override for cleanup.
|
|
28
|
-
*/
|
|
29
28
|
protected onResourceDestroy(_resource: unknown): void;
|
|
30
29
|
}
|
|
31
30
|
//# sourceMappingURL=AnalyzerBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyzerBase.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/AnalyzerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,8BAAsB,YAAY;IACjC
|
|
1
|
+
{"version":3,"file":"AnalyzerBase.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/AnalyzerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,8BAAsB,YAAY;IACjC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAA8B;IAErE;;;OAGG;aACa,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAEnE;;OAEG;IACI,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIvD;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASxC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;CAErD"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* Each analyzer handles loading and caching one type of resource.
|
|
4
4
|
*/
|
|
5
5
|
export class AnalyzerBase {
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Cached resource data: name → data
|
|
8
|
+
*/
|
|
7
9
|
fileDic = new Map();
|
|
8
10
|
/**
|
|
9
11
|
* Get a cached resource by name.
|
|
@@ -28,11 +30,7 @@ export class AnalyzerBase {
|
|
|
28
30
|
}
|
|
29
31
|
return false;
|
|
30
32
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Called when a resource is destroyed. Subclasses override for cleanup.
|
|
33
|
-
*/
|
|
34
33
|
onResourceDestroy(_resource) {
|
|
35
|
-
// override in subclasses
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
//# sourceMappingURL=AnalyzerBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyzerBase.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/AnalyzerBase.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAgB,YAAY;IACjC
|
|
1
|
+
{"version":3,"file":"AnalyzerBase.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/AnalyzerBase.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAgB,YAAY;IACjC;;OAEG;IACO,OAAO,GAAyB,IAAI,GAAG,EAAmB,CAAC;IAQrE;;OAEG;IACI,MAAM,CAAc,IAAY;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAkB,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,IAAY;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,iBAAiB,CAAC,SAAkB;IAC9C,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/ImageAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/ImageAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;cAuCvC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;CAK7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/ImageAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAkB;QACjC,
|
|
1
|
+
{"version":3,"file":"ImageAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/ImageAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAkB;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,OAAO,CAAe,OAAO,CAAC,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAEjC,MAAM,UAAU,GAAG,GAAS,EAAE;gBAC7B,OAAO,EAAE,CAAC;gBACV,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC9B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACrB,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBAC1B,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBAC1B,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACvD,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACpD,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEkB,iBAAiB,CAAC,QAAiB;QACrD,IAAI,QAAQ,YAAY,OAAO,EAAE,CAAC;YACjC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;CACD"}
|
|
@@ -5,9 +5,13 @@ import { AnalyzerBase } from './AnalyzerBase.js';
|
|
|
5
5
|
* Produces a SpriteSheet object with sub-textures.
|
|
6
6
|
*/
|
|
7
7
|
export declare class SheetAnalyzer extends AnalyzerBase {
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Texture map for individual sub-textures accessible by subkey
|
|
10
|
+
*/
|
|
9
11
|
private textureMap;
|
|
10
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Reverse mapping: sheet name → sub-key names
|
|
14
|
+
*/
|
|
11
15
|
private sheetSubkeys;
|
|
12
16
|
/**
|
|
13
17
|
* Load a sheet resource. This involves two steps:
|
|
@@ -24,9 +28,6 @@ export declare class SheetAnalyzer extends AnalyzerBase {
|
|
|
24
28
|
private loadSheetConfig;
|
|
25
29
|
private loadSheetImage;
|
|
26
30
|
private analyzeBitmap;
|
|
27
|
-
/**
|
|
28
|
-
* Resolve a relative image path from the sheet URL.
|
|
29
|
-
*/
|
|
30
31
|
private getRelativePath;
|
|
31
32
|
}
|
|
32
33
|
//# sourceMappingURL=SheetAnalyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SheetAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA6BjD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C
|
|
1
|
+
{"version":3,"file":"SheetAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SheetAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA6BjD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACH,OAAO,CAAC,UAAU,CAAoD;IACtE;;OAEG;IACH,OAAO,CAAC,YAAY,CAAsD;IAE1E;;;;;OAKG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAe1D;;OAEG;IACa,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAoBhD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAuBjD,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,eAAe;CAQvB"}
|
|
@@ -11,9 +11,13 @@ import { IOErrorEvent } from '../../events/IOErrorEvent.js';
|
|
|
11
11
|
* Produces a SpriteSheet object with sub-textures.
|
|
12
12
|
*/
|
|
13
13
|
export class SheetAnalyzer extends AnalyzerBase {
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Texture map for individual sub-textures accessible by subkey
|
|
16
|
+
*/
|
|
15
17
|
textureMap = new Map();
|
|
16
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Reverse mapping: sheet name → sub-key names
|
|
20
|
+
*/
|
|
17
21
|
sheetSubkeys = new Map();
|
|
18
22
|
/**
|
|
19
23
|
* Load a sheet resource. This involves two steps:
|
|
@@ -26,13 +30,11 @@ export class SheetAnalyzer extends AnalyzerBase {
|
|
|
26
30
|
item.loaded = true;
|
|
27
31
|
return Promise.resolve(item);
|
|
28
32
|
}
|
|
29
|
-
// Step 1: Load the JSON config
|
|
30
33
|
return this.loadSheetConfig(item).then(({ config, imageUrl }) => {
|
|
31
34
|
if (!config || !imageUrl) {
|
|
32
35
|
item.loaded = false;
|
|
33
36
|
return item;
|
|
34
37
|
}
|
|
35
|
-
// Step 2: Load the image
|
|
36
38
|
return this.loadSheetImage(item, imageUrl, config);
|
|
37
39
|
});
|
|
38
40
|
}
|
|
@@ -40,15 +42,12 @@ export class SheetAnalyzer extends AnalyzerBase {
|
|
|
40
42
|
* Get a cached resource by name. Supports subkey lookup (e.g., "sheet.textureName").
|
|
41
43
|
*/
|
|
42
44
|
getRes(name) {
|
|
43
|
-
// Direct lookup
|
|
44
45
|
const direct = this.fileDic.get(name);
|
|
45
46
|
if (direct)
|
|
46
47
|
return direct;
|
|
47
|
-
// Subkey lookup in texture map
|
|
48
48
|
const tex = this.textureMap.get(name);
|
|
49
49
|
if (tex)
|
|
50
50
|
return tex;
|
|
51
|
-
// Dot notation: "sheetName.subKey"
|
|
52
51
|
const dotIndex = name.indexOf('.');
|
|
53
52
|
if (dotIndex !== -1) {
|
|
54
53
|
const prefix = name.substring(0, dotIndex);
|
|
@@ -63,7 +62,6 @@ export class SheetAnalyzer extends AnalyzerBase {
|
|
|
63
62
|
destroyRes(name) {
|
|
64
63
|
const sheet = this.fileDic.get(name);
|
|
65
64
|
if (sheet instanceof SpriteSheet) {
|
|
66
|
-
// Clean up sub-key textures from the texture map
|
|
67
65
|
const subkeys = this.sheetSubkeys.get(name);
|
|
68
66
|
if (subkeys) {
|
|
69
67
|
for (const texName of subkeys) {
|
|
@@ -75,7 +73,6 @@ export class SheetAnalyzer extends AnalyzerBase {
|
|
|
75
73
|
sheet.dispose();
|
|
76
74
|
return true;
|
|
77
75
|
}
|
|
78
|
-
// Also support destroying individual sub-textures by name
|
|
79
76
|
if (this.textureMap.has(name)) {
|
|
80
77
|
this.textureMap.delete(name);
|
|
81
78
|
return true;
|
|
@@ -167,9 +164,6 @@ export class SheetAnalyzer extends AnalyzerBase {
|
|
|
167
164
|
this.sheetSubkeys.set(name, subkeys);
|
|
168
165
|
this.fileDic.set(name, spriteSheet);
|
|
169
166
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Resolve a relative image path from the sheet URL.
|
|
172
|
-
*/
|
|
173
167
|
getRelativePath(url, file) {
|
|
174
168
|
const normalized = url.split('\\').join('/');
|
|
175
169
|
const index = normalized.lastIndexOf('/');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SheetAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAsB5D;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC9C
|
|
1
|
+
{"version":3,"file":"SheetAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SheetAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SoundAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SoundAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;cAkCvC,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"SoundAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SoundAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;cAkCvC,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;CAM9D"}
|
|
@@ -35,7 +35,6 @@ export class SoundAnalyzer extends AnalyzerBase {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
onResourceDestroy(_resource) {
|
|
38
|
-
// Audio elements don't need explicit disposal, but we can release references
|
|
39
38
|
if (_resource instanceof HTMLAudioElement) {
|
|
40
39
|
_resource.pause();
|
|
41
40
|
_resource.src = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SoundAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SoundAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAkB;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,OAAO,CAAe,OAAO,CAAC,EAAE;YAC1C,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAEvB,MAAM,gBAAgB,GAAG,GAAS,EAAE;gBACnC,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBAC1B,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBAC1B,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,CAAC;YAEF,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC3D,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEkB,iBAAiB,CAAC,SAAkB;QACtD,
|
|
1
|
+
{"version":3,"file":"SoundAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SoundAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC9C;;OAEG;IACI,QAAQ,CAAC,IAAkB;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,OAAO,CAAe,OAAO,CAAC,EAAE;YAC1C,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAEvB,MAAM,gBAAgB,GAAG,GAAS,EAAE;gBACnC,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBAC1B,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBAC1B,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,CAAC;YAEF,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC3D,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEkB,iBAAiB,CAAC,SAAkB;QACtD,IAAI,SAAS,YAAY,gBAAgB,EAAE,CAAC;YAC3C,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
// Main class and singleton
|
|
2
1
|
export { Resource, resource } from './Resource.js';
|
|
3
|
-
// Core types
|
|
4
2
|
export { ResourceItem, ResourceType } from './ResourceItem.js';
|
|
5
3
|
export { ResourceConfig } from './ResourceConfig.js';
|
|
6
4
|
export { ResourceLoader } from './ResourceLoader.js';
|
|
7
5
|
export { ResourceEventType } from './ResourceEvent.js';
|
|
8
|
-
// Analyzers
|
|
9
6
|
export { AnalyzerBase } from './analyzers/AnalyzerBase.js';
|
|
10
7
|
export { ImageAnalyzer } from './analyzers/ImageAnalyzer.js';
|
|
11
8
|
export { JsonAnalyzer } from './analyzers/JsonAnalyzer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provides
|
|
2
|
+
* Provides information about the runtime environment.
|
|
3
3
|
* Values are populated once by `Capabilities._init()` (called from
|
|
4
4
|
* `createPlayer`) and updated by `ScreenAdapter` on resize.
|
|
5
|
-
*
|
|
6
|
-
* Equivalent to Egret's `egret.Capabilities`, Web-only simplified version.
|
|
7
5
|
*/
|
|
8
6
|
export declare class Capabilities {
|
|
9
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* System language code, e.g. "zh-CN", "en-US".
|
|
9
|
+
*/
|
|
10
10
|
static language: string;
|
|
11
11
|
/**
|
|
12
12
|
* Operating system name.
|
|
13
13
|
* One of: "iOS" | "Android" | "Windows Phone" | "Windows PC" | "Mac OS" | "Unknown"
|
|
14
14
|
*/
|
|
15
15
|
static os: string;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Whether the application is running on a mobile device.
|
|
18
|
+
*/
|
|
17
19
|
static isMobile: boolean;
|
|
18
20
|
/**
|
|
19
21
|
* Current render mode, set by Player after WebGL initialisation.
|
|
20
22
|
* One of: "webgl" | "canvas"
|
|
21
23
|
*/
|
|
22
24
|
static $renderMode: string;
|
|
23
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Current Kurot engine version.
|
|
27
|
+
*/
|
|
24
28
|
static readonly engineVersion: string;
|
|
25
29
|
/**
|
|
26
30
|
* Width of the canvas bounding client rect in CSS pixels.
|
|
@@ -33,13 +37,7 @@ export declare class Capabilities {
|
|
|
33
37
|
*/
|
|
34
38
|
static boundingClientHeight: number;
|
|
35
39
|
/**
|
|
36
|
-
*
|
|
37
|
-
* Called once by `createPlayer` before the player starts.
|
|
38
|
-
*
|
|
39
|
-
* Strategy (per MDN + Client Hints spec):
|
|
40
|
-
* 1. `navigator.userAgentData.mobile` — Client Hints API, most accurate,
|
|
41
|
-
* Chromium-only as of 2025 (not available in Safari / Firefox).
|
|
42
|
-
* 2. UA regex fallback — covers Safari, Firefox, and older browsers.
|
|
40
|
+
* Initializes environment information from browser APIs.
|
|
43
41
|
*/
|
|
44
42
|
static _init(): void;
|
|
45
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/kurot/system/Capabilities.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/kurot/system/Capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,YAAY;IAGxB;;OAEG;IACH,OAAc,QAAQ,EAAE,MAAM,CAAQ;IAEtC;;;OAGG;IACH,OAAc,EAAE,EAAE,MAAM,CAAa;IAErC;;OAEG;IACH,OAAc,QAAQ,EAAE,OAAO,CAAS;IAExC;;;OAGG;IACH,OAAc,WAAW,EAAE,MAAM,CAAa;IAE9C;;OAEG;IACH,gBAAuB,aAAa,EAAE,MAAM,CAAY;IAExD;;;OAGG;IACH,OAAc,mBAAmB,EAAE,MAAM,CAAK;IAE9C;;;OAGG;IACH,OAAc,oBAAoB,EAAE,MAAM,CAAK;IAI/C;;OAEG;WACW,KAAK,IAAI,IAAI;CA4C3B"}
|
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provides
|
|
2
|
+
* Provides information about the runtime environment.
|
|
3
3
|
* Values are populated once by `Capabilities._init()` (called from
|
|
4
4
|
* `createPlayer`) and updated by `ScreenAdapter` on resize.
|
|
5
|
-
*
|
|
6
|
-
* Equivalent to Egret's `egret.Capabilities`, Web-only simplified version.
|
|
7
5
|
*/
|
|
8
6
|
export class Capabilities {
|
|
9
7
|
// ── Static fields ─────────────────────────────────────────────────────────
|
|
10
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* System language code, e.g. "zh-CN", "en-US".
|
|
10
|
+
*/
|
|
11
11
|
static language = 'en';
|
|
12
12
|
/**
|
|
13
13
|
* Operating system name.
|
|
14
14
|
* One of: "iOS" | "Android" | "Windows Phone" | "Windows PC" | "Mac OS" | "Unknown"
|
|
15
15
|
*/
|
|
16
16
|
static os = 'Unknown';
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Whether the application is running on a mobile device.
|
|
19
|
+
*/
|
|
18
20
|
static isMobile = false;
|
|
19
21
|
/**
|
|
20
22
|
* Current render mode, set by Player after WebGL initialisation.
|
|
21
23
|
* One of: "webgl" | "canvas"
|
|
22
24
|
*/
|
|
23
25
|
static $renderMode = 'unknown';
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Current Kurot engine version.
|
|
28
|
+
*/
|
|
29
|
+
static engineVersion = '1.0.15';
|
|
26
30
|
/**
|
|
27
31
|
* Width of the canvas bounding client rect in CSS pixels.
|
|
28
32
|
* Updated by ScreenAdapter on every resize.
|
|
@@ -35,20 +39,12 @@ export class Capabilities {
|
|
|
35
39
|
static boundingClientHeight = 0;
|
|
36
40
|
// ── Internal init ─────────────────────────────────────────────────────────
|
|
37
41
|
/**
|
|
38
|
-
*
|
|
39
|
-
* Called once by `createPlayer` before the player starts.
|
|
40
|
-
*
|
|
41
|
-
* Strategy (per MDN + Client Hints spec):
|
|
42
|
-
* 1. `navigator.userAgentData.mobile` — Client Hints API, most accurate,
|
|
43
|
-
* Chromium-only as of 2025 (not available in Safari / Firefox).
|
|
44
|
-
* 2. UA regex fallback — covers Safari, Firefox, and older browsers.
|
|
42
|
+
* Initializes environment information from browser APIs.
|
|
45
43
|
*/
|
|
46
44
|
static _init() {
|
|
47
45
|
const ua = navigator.userAgent;
|
|
48
46
|
const uaLower = ua.toLowerCase();
|
|
49
47
|
// ── isMobile ──────────────────────────────────────────────────────────
|
|
50
|
-
// Prefer the Client Hints API when available (Chromium, HTTPS only).
|
|
51
|
-
// Fall back to UA regex for Safari / Firefox.
|
|
52
48
|
const uaData = navigator.userAgentData;
|
|
53
49
|
if (uaData !== undefined) {
|
|
54
50
|
this.isMobile = uaData.mobile;
|
|
@@ -58,8 +54,6 @@ export class Capabilities {
|
|
|
58
54
|
}
|
|
59
55
|
// ── os ────────────────────────────────────────────────────────────────
|
|
60
56
|
if (this.isMobile) {
|
|
61
|
-
// iPad on iOS 13+ requests desktop site by default — UA looks like
|
|
62
|
-
// macOS but maxTouchPoints > 1 gives it away.
|
|
63
57
|
const isIpad = navigator.maxTouchPoints > 1 && uaLower.includes('mac os');
|
|
64
58
|
if (isIpad || uaLower.includes('iphone') || uaLower.includes('ipad') || uaLower.includes('ipod')) {
|
|
65
59
|
this.os = 'iOS';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Capabilities.js","sourceRoot":"","sources":["../../../src/kurot/system/Capabilities.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Capabilities.js","sourceRoot":"","sources":["../../../src/kurot/system/Capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,6 @@ export declare class BitmapFont extends SpriteSheet {
|
|
|
22
22
|
});
|
|
23
23
|
getTexture(name: string): Texture | undefined;
|
|
24
24
|
getConfig(name: string, key: keyof CharConfig): number;
|
|
25
|
-
/** @internal Returns the height of the first character, used for space width calculation. */
|
|
26
25
|
getFirstCharHeight(): number;
|
|
27
26
|
private _parseConfig;
|
|
28
27
|
private _getConfigByKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitmapFont.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,UAAU,UAAU;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,WAAW;IAC1C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,gBAAgB,CAAK;gBAEV,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE;IAS5E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAQtD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAAU,GAAG,MAAM;IAI7D,
|
|
1
|
+
{"version":3,"file":"BitmapFont.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,UAAU,UAAU;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,WAAW;IAC1C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,gBAAgB,CAAK;gBAEV,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE;IAS5E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAQtD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAAU,GAAG,MAAM;IAI7D,kBAAkB,IAAI,MAAM;IAc5B,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,eAAe;CAQvB"}
|
|
@@ -26,7 +26,6 @@ export class BitmapFont extends SpriteSheet {
|
|
|
26
26
|
getConfig(name, key) {
|
|
27
27
|
return this._charList[name]?.[key] ?? 0;
|
|
28
28
|
}
|
|
29
|
-
/** @internal Returns the height of the first character, used for space width calculation. */
|
|
30
29
|
getFirstCharHeight() {
|
|
31
30
|
if (this._firstCharHeight === 0) {
|
|
32
31
|
for (const str in this._charList) {
|
|
@@ -44,7 +43,6 @@ export class BitmapFont extends SpriteSheet {
|
|
|
44
43
|
}
|
|
45
44
|
_parseConfig(fntText) {
|
|
46
45
|
const lines = fntText.replace(/\r\n/g, '\n').split('\n');
|
|
47
|
-
// Find the "chars count=N" line dynamically instead of assuming line index
|
|
48
46
|
let charsCount = 0;
|
|
49
47
|
let charsStartLine = -1;
|
|
50
48
|
for (let i = 0; i < lines.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitmapFont.js","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAehE;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IAClC,SAAS,GAA+B,EAAE,CAAC;IAC3C,gBAAgB,GAAG,CAAC,CAAC;IAE7B,YAAmB,OAAgB,EAAE,MAAuD;QAC3F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC;IACF,CAAC;IAEe,UAAU,CAAC,IAAY;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3F,CAAC;IAEM,SAAS,CAAC,IAAY,EAAE,GAAqB;QACnD,OAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAY,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"BitmapFont.js","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,15 +42,10 @@ export declare class BitmapText extends DisplayObject {
|
|
|
42
42
|
get textWidth(): number;
|
|
43
43
|
get textHeight(): number;
|
|
44
44
|
$measureContentBounds(bounds: Rectangle): void;
|
|
45
|
-
/** @internal Returns computed text lines for rendering. */
|
|
46
45
|
getTextLines(): string[];
|
|
47
|
-
/** @internal Per-line widths for rendering. */
|
|
48
46
|
getTextLinesWidth(): number[];
|
|
49
|
-
/** @internal Per-line heights for rendering. */
|
|
50
47
|
getLineHeights(): number[];
|
|
51
|
-
/** @internal Text start X offset after alignment. */
|
|
52
48
|
getTextStartX(): number;
|
|
53
|
-
/** @internal Text start Y offset after alignment. */
|
|
54
49
|
getTextStartY(): number;
|
|
55
50
|
private _invalidate;
|
|
56
51
|
private _ensureLines;
|