@kurot/core 2.4.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +101 -2
- package/README.md +60 -14
- package/dist/kurot/display/texture/RenderTexture.d.ts +1 -0
- package/dist/kurot/display/texture/RenderTexture.d.ts.map +1 -1
- package/dist/kurot/display/texture/RenderTexture.js +4 -0
- package/dist/kurot/display/texture/RenderTexture.js.map +1 -1
- package/dist/kurot/display/texture/SpriteSheet.d.ts +4 -0
- package/dist/kurot/display/texture/SpriteSheet.d.ts.map +1 -1
- package/dist/kurot/display/texture/SpriteSheet.js +7 -3
- package/dist/kurot/display/texture/SpriteSheet.js.map +1 -1
- package/dist/kurot/display/texture/Texture.d.ts +14 -0
- package/dist/kurot/display/texture/Texture.d.ts.map +1 -1
- package/dist/kurot/display/texture/Texture.js +28 -6
- package/dist/kurot/display/texture/Texture.js.map +1 -1
- package/dist/kurot/player/bitmap-fill.js +1 -1
- package/dist/kurot/player/bitmap-fill.js.map +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.js +25 -36
- package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
- package/dist/kurot/player/pipes/BitmapPipe.js +2 -2
- package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -1
- package/dist/kurot/player/pipes/BitmapTextPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/BitmapTextPipe.js +1 -2
- package/dist/kurot/player/pipes/BitmapTextPipe.js.map +1 -1
- package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/MaskPipe.js +7 -1
- package/dist/kurot/player/pipes/MaskPipe.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js +2 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts.map +1 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.js +4 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.js.map +1 -1
- package/dist/kurot/text/BitmapFont.d.ts.map +1 -1
- package/dist/kurot/text/BitmapFont.js +2 -0
- package/dist/kurot/text/BitmapFont.js.map +1 -1
- package/dist/kurot/text/TextBlockBounds.d.ts +12 -0
- package/dist/kurot/text/TextBlockBounds.d.ts.map +1 -0
- package/dist/kurot/text/TextBlockBounds.js +25 -0
- package/dist/kurot/text/TextBlockBounds.js.map +1 -0
- package/dist/kurot/text/TextField.d.ts.map +1 -1
- package/dist/kurot/text/TextField.js +7 -30
- package/dist/kurot/text/TextField.js.map +1 -1
- package/dist/kurot/text/TextLineLayout.d.ts.map +1 -1
- package/dist/kurot/text/TextLineLayout.js +44 -6
- package/dist/kurot/text/TextLineLayout.js.map +1 -1
- package/dist/kurot/text/TextMeasurer.d.ts +5 -0
- package/dist/kurot/text/TextMeasurer.d.ts.map +1 -1
- package/dist/kurot/text/TextMeasurer.js +10 -1
- package/dist/kurot/text/TextMeasurer.js.map +1 -1
- package/dist/kurot/text/TextRenderBounds.d.ts +1 -1
- package/dist/kurot/text/TextRenderBounds.d.ts.map +1 -1
- package/dist/kurot/text/TextRenderBounds.js +12 -2
- package/dist/kurot/text/TextRenderBounds.js.map +1 -1
- package/dist/kurot/text/TextVerticalLayout.d.ts +7 -0
- package/dist/kurot/text/TextVerticalLayout.d.ts.map +1 -0
- package/dist/kurot/text/TextVerticalLayout.js +22 -0
- package/dist/kurot/text/TextVerticalLayout.js.map +1 -0
- package/dist/kurot/text/types/ITextElement.d.ts +12 -0
- package/dist/kurot/text/types/ITextElement.d.ts.map +1 -1
- package/docs/ai-context.md +31 -4
- package/docs/architecture.md +8 -1
- package/docs/bitmap-fill.md +9 -3
- package/docs/bitmap-fonts.md +7 -3
- package/docs/centered-flips.md +4 -4
- package/docs/resource.md +5 -0
- package/docs/text-layout.md +92 -0
- package/docs/texture-density.md +96 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,16 +4,115 @@ All notable changes to `@kurot/core` are documented here.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [2.5.1] — 2026-10-10
|
|
8
|
+
|
|
9
|
+
Prepared, not published. The latest verified registry release remains 2.5.0.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Decouple dynamic `verticalAlign = "middle"` from `multiline`. Single and
|
|
14
|
+
multiple lines center their complete glyph block, including mixed-size rich
|
|
15
|
+
runs and fallback glyphs. Identical one-line content has the same placement
|
|
16
|
+
in either line mode. Blank rows retain their nominal height and line spacing.
|
|
17
|
+
- Reuse cached block bounds for drawing, link hits and render-only glyph/outline
|
|
18
|
+
padding so nested bitmap caches and WebGL text captures retain centered ink.
|
|
19
|
+
- Preserve stable input row baselines, caret, selection and composition geometry
|
|
20
|
+
in both line modes; preserve top/bottom alignment and nominal measurements.
|
|
21
|
+
|
|
22
|
+
### Compatibility
|
|
23
|
+
|
|
24
|
+
- No new API, dependencies, XML fields or resource format. Existing multiline
|
|
25
|
+
dynamic middle-aligned captions can move to their visual center; changing
|
|
26
|
+
glyphs can translate the block without changing its relative baselines.
|
|
27
|
+
- Unchanged UI, Game, DragonBones, Spine and ui-runtime SDK peers accept this
|
|
28
|
+
patch without version bumps. Applications adopt Core and rebuild explicitly.
|
|
29
|
+
Editor's exact 2.5.0 pin must be changed to adopt it; compatible game ranges
|
|
30
|
+
such as `^2.5.0` need an installation/lock update. CLI and headless packages
|
|
31
|
+
require no release. See [text layout](docs/text-layout.md).
|
|
32
|
+
|
|
33
|
+
### Verification — 2026-10-10
|
|
34
|
+
|
|
35
|
+
- Core 2.5.1 build and all 900 unit tests pass (81 files).
|
|
36
|
+
- All 12 minified browser checks pass in Canvas, WebGL 1/2 at 1×/2×.
|
|
37
|
+
Independent Canvas references verify identical one-row placement in both
|
|
38
|
+
line modes, 24/40/56 px automatic-height captions, multilingual paragraphs,
|
|
39
|
+
wrapping, rich text, blank rows, outlines and nested caches. Input caret,
|
|
40
|
+
selection, composition underline and second-row character hits pass.
|
|
41
|
+
- Package dry-run verifies the 2.5.1 manifest, compiled block-alignment module,
|
|
42
|
+
declarations and updated documentation; `git diff --check` passes.
|
|
43
|
+
No application dependency or SDK peer changes.
|
|
44
|
+
|
|
45
|
+
## [2.5.0] — 2026-10-10
|
|
46
|
+
|
|
47
|
+
Published; registry version metadata and latest verified on 2026-10-10.
|
|
48
|
+
CLI 3.6.0 is also published; its game template requires this Core release.
|
|
49
|
+
The published archive downloads through npm pack with matching registry integrity;
|
|
50
|
+
its density API, text baseline module and fractional scissor correction are present.
|
|
51
|
+
|
|
52
|
+
### Added
|
|
53
|
+
|
|
54
|
+
- Independent immutable `Texture.resolution`, inherited by SpriteSheet views,
|
|
55
|
+
and optional sheet JSON `resolution`. Sampling/UV coordinates remain physical
|
|
56
|
+
while original dimensions, trim offsets, repeat periods and nine-slice borders
|
|
57
|
+
remain logical. Bitmap/Image scale, clip, repeat, tint and Canvas-backed caches
|
|
58
|
+
support mixed source densities in Canvas and WebGL. Existing sheets default
|
|
59
|
+
to 1×; malformed densities fail loading. See [texture density](docs/texture-density.md).
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- Preserve ItemRenderer and other bitmap edges at fractional WebGL viewport
|
|
64
|
+
scales/translations. Axis-aligned clips enclose transformed physical bounds
|
|
65
|
+
before calculating scissor dimensions, retaining partially covered edge pixels.
|
|
66
|
+
Integer boundaries and nested/rotated stencil clips keep their existing behavior.
|
|
67
|
+
- Center single-line dynamic middle-aligned text by measured ink bounds across
|
|
68
|
+
languages. Share alphabetic baselines between rich runs; retain stable font
|
|
69
|
+
frames for paragraphs, empty lines and inputs. Keep layout/measurement sizes
|
|
70
|
+
nominal, preserve glyph overhang in dynamic captures, and align link hits,
|
|
71
|
+
selection, caret and composition decoration with the same row geometry.
|
|
72
|
+
- Restore the root WebGL render target after the first scratch-buffer allocation
|
|
73
|
+
by cycling a real 1×1 target, preventing the second frame from retaining old
|
|
74
|
+
pixels while drawing into the scratch framebuffer.
|
|
75
|
+
|
|
76
|
+
### Compatibility
|
|
77
|
+
|
|
78
|
+
- Compatible API addition; existing 1× resources and public text flags retain
|
|
79
|
+
their contracts. No new runtime dependencies or resource-manifest/KUI fields.
|
|
80
|
+
- UI, Game, DragonBones, Spine and ui-runtime Core peers already accept 2.5.0.
|
|
81
|
+
Their package versions, peer minima and development locks need no incidental
|
|
82
|
+
change. Applications adopt this Core installation/lock and rebuild explicitly.
|
|
83
|
+
- Projects using the CLI 3.6.0 default 2× skin kit require Core >=2.5.0 within
|
|
84
|
+
the 2.x line. Editor/Reskin adoption additionally needs logical frame dimensions
|
|
85
|
+
derived from source density; their current installations remain unchanged.
|
|
86
|
+
|
|
87
|
+
### Verification — 2026-10-10
|
|
88
|
+
|
|
89
|
+
- Core build and 890 unit tests; CLI build and 112 unit tests pass.
|
|
90
|
+
- Package dry-run verifies the 2.5.0 manifest, implementation/declarations,
|
|
91
|
+
density/text documentation and release notes.
|
|
92
|
+
- 12 minified text alignment/outline browser checks pass in Canvas, WebGL 1/2
|
|
93
|
+
at 1×/2×. Six golden/context-restoration/high-density checks and 30 filter
|
|
94
|
+
checks pass. Reviewed golden changes include the shared text baseline and
|
|
95
|
+
the correctly rendered blurred surface after root-target restoration.
|
|
96
|
+
- Four fractional-viewport pixel regressions pass in WebGL 1/2 at 1×/2×,
|
|
97
|
+
including reflection and scrolling. All 24 related nested-clip, outline and
|
|
98
|
+
filter-chain checks pass after scissor quantization.
|
|
99
|
+
- Isolated native KUI example passes strict development and release builds;
|
|
100
|
+
the local 2× preview retains stable English/Thai/Chinese input baselines and
|
|
101
|
+
the intended 2-pixel pressed caption offset. Windows is not tested.
|
|
102
|
+
|
|
7
103
|
## [2.4.0] — 2026-10-09
|
|
8
104
|
|
|
9
|
-
|
|
105
|
+
Published; verified on npm on 2026-10-09. Existing Core 2.x peer ranges
|
|
106
|
+
accept this optional API addition. UI 3.4.0 adopts the reflection-frame hook
|
|
107
|
+
and requires Core ^2.4.0.
|
|
10
108
|
|
|
11
109
|
### Added
|
|
12
110
|
|
|
13
111
|
Added independent false-default flipX/flipY on DisplayObject, reflecting around the local content or scroll viewport center while preserving authored scale, position and anchors. Both backends and coordinate/hit-test paths share the effective transform; reflected ancestor bounds changes refresh descendant transforms.
|
|
14
112
|
|
|
15
113
|
See [centered flips](../../docs/centered-flips.md) for semantics, adoption and
|
|
16
|
-
|
|
114
|
+
consumer verification. UI development now installs published Core 2.4.0 with
|
|
115
|
+
a matching registry lockfile; no local Core override is needed.
|
|
17
116
|
|
|
18
117
|
### Verification
|
|
19
118
|
|
package/README.md
CHANGED
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
# @kurot/core
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
**2.5.1 is prepared, not published.** It makes dynamic middle alignment
|
|
4
|
+
independent of single/multiline mode. The latest verified registry release is
|
|
5
|
+
2.5.0 (2026-10-10), with source texture density, text baselines, fractional
|
|
6
|
+
viewport fixes and root WebGL target restoration. See [CHANGELOG.md](CHANGELOG.md).
|
|
5
7
|
|
|
6
8
|
A modern rewrite of the Egret game engine. Maintains Egret-compatible display object and event APIs while upgrading the rendering architecture, type safety, and tooling.
|
|
7
9
|
|
|
8
|
-
> **Package version: 2.
|
|
10
|
+
> **Package version: 2.5.1 (prepared, not published).** Targets ES2022 and evergreen browsers (Chrome / Edge / Firefox / Safari). No IE / old-Android / pre-2022 Safari support shims.
|
|
11
|
+
|
|
12
|
+
## Unified middle alignment in 2.5.1
|
|
13
|
+
|
|
14
|
+
`multiline` controls hard breaks and wrapping. Dynamic `verticalAlign = "middle"`
|
|
15
|
+
centers the complete glyph block in either line mode, including rich text and
|
|
16
|
+
fallback fonts. Blank rows retain their space; relative baselines and line
|
|
17
|
+
spacing remain unchanged. Identical single-row content centers identically
|
|
18
|
+
with either `multiline` value. Input keeps stable editing rows, including its
|
|
19
|
+
caret, selection and composition underline. Top/bottom alignment and nominal
|
|
20
|
+
measurement sizes retain their contracts.
|
|
21
|
+
|
|
22
|
+
Existing multiline middle-aligned captions may move. After publication,
|
|
23
|
+
adopt Core 2.5.1 and rebuild the application; existing SDK peers accept the patch
|
|
24
|
+
without new releases. This source change does not update installed Editors or
|
|
25
|
+
games. See [text alignment](docs/text-layout.md#middle-alignment-independent-of-line-mode-core-251).
|
|
26
|
+
|
|
27
|
+
## Text alignment correction in 2.5.0
|
|
28
|
+
|
|
29
|
+
Published 2.5.0 centers single-line dynamic middle alignment by measured glyph
|
|
30
|
+
ink, including fallback fonts and accents. Its multiline text and input retain
|
|
31
|
+
font-frame alignment; rich runs share an alphabetic baseline. Version 2.5.1
|
|
32
|
+
extends visual middle alignment to multiline dynamic text. Layout sizes and wrapping stay nominal.
|
|
33
|
+
The existing font-readiness invalidation refreshes these cached metrics.
|
|
34
|
+
See [text alignment](docs/text-layout.md#visual-centering-and-stable-baselines-core-250).
|
|
35
|
+
Install Core 2.5.0 and rebuild to adopt it; published 2.4.0
|
|
36
|
+
does not include the correction. Existing SDK peer ranges require no change.
|
|
9
37
|
|
|
10
38
|
## Bitmap fill correction in 2.3.3
|
|
11
39
|
|
|
@@ -13,8 +41,9 @@ A modern rewrite of the Egret game engine. Maintains Egret-compatible display ob
|
|
|
13
41
|
backends and bitmap caches. Repeat uses the original texture dimensions, including
|
|
14
42
|
transparent trim margins; partial edge tiles are cropped rather than stretched.
|
|
15
43
|
Nine-slice remains active only for `scale`. No XML or resource migration is needed.
|
|
16
|
-
Core 2.3.3 is published; Core 2.3.2 does not include this fix.
|
|
17
|
-
|
|
44
|
+
Core 2.3.3 is published; Core 2.3.2 does not include this fix. UI 3.3.0/runtime
|
|
45
|
+
0.9.0 and Game/DragonBones/Spine peers accept it without SDK bumps. Current
|
|
46
|
+
UI 3.4.0/runtime 0.10.0 require Core ^2.4.0, which includes it. Applications adopt
|
|
18
47
|
its installation/lock and rebuild; templates are not rewritten.
|
|
19
48
|
See [bitmap fill modes](docs/bitmap-fill.md).
|
|
20
49
|
|
|
@@ -25,8 +54,9 @@ Canvas drawing, WebGL text textures, display-list caches, filter captures and
|
|
|
25
54
|
object-mask buffers. Rich-text run strokes are included. Layout measurements,
|
|
26
55
|
wrapping and alignment retain their existing dimensions; input viewports and
|
|
27
56
|
external clips remain exact. This fix is not included in published 2.3.1.
|
|
28
|
-
No API or resource-format migration is required.
|
|
29
|
-
Spine
|
|
57
|
+
No API or resource-format migration is required. UI 3.3.0/runtime 0.9.0 and
|
|
58
|
+
Game/DragonBones/Spine peers accept the patch without SDK bumps. Current
|
|
59
|
+
UI 3.4.0/runtime 0.10.0 require Core ^2.4.0, which includes it.
|
|
30
60
|
Update the application's installation and lockfile, then rebuild; existing
|
|
31
61
|
bundled Editor Apps retain their old Core until rebuilt.
|
|
32
62
|
See [text layout](docs/text-layout.md#text-outlines-core-232).
|
|
@@ -35,8 +65,9 @@ See [text layout](docs/text-layout.md#text-outlines-core-232).
|
|
|
35
65
|
|
|
36
66
|
An unstyled blank run between styled runs now uses the TextField base font size,
|
|
37
67
|
matching other unstyled content, rather than borrowing a later run's size.
|
|
38
|
-
Core 2.3.1 is published as a compatible patch.
|
|
39
|
-
|
|
68
|
+
Core 2.3.1 is published as a compatible patch. Consumers whose Core peer range
|
|
69
|
+
accepts it need no SDK bump. Current UI 3.4.0/runtime 0.10.0 require Core ^2.4.0,
|
|
70
|
+
which includes the correction.
|
|
40
71
|
|
|
41
72
|
## Independent text measurement in 2.3.0
|
|
42
73
|
|
|
@@ -69,6 +100,15 @@ The existing UI 3.2.0, Game 2.0.0, ui-runtime 0.8.2 and DragonBones 0.1.0 peer
|
|
|
69
100
|
ranges accept it. Update the installed Core version and lockfile to receive
|
|
70
101
|
the fixes; see [text layout](docs/text-layout.md).
|
|
71
102
|
|
|
103
|
+
## Fractional viewport clipping in 2.5.0
|
|
104
|
+
|
|
105
|
+
Axis-aligned WebGL clips now floor their left/top physical edges and ceil their
|
|
106
|
+
right/bottom edges before calculating scissor dimensions. This preserves boundary
|
|
107
|
+
pixels when a scaled UI list or another viewport lands between pixels, avoiding
|
|
108
|
+
cut-off nine-slice outlines. Scissor precision remains one physical pixel; nested
|
|
109
|
+
or rotated clips retain the stencil path. No skin padding or layout change is
|
|
110
|
+
required. Published Core 2.4.0 does not include this correction.
|
|
111
|
+
|
|
72
112
|
## Scroll clipping in 2.1.1
|
|
73
113
|
|
|
74
114
|
WebGL keeps a `scrollRect` viewport fixed when it is nested inside another clip
|
|
@@ -99,7 +139,7 @@ matching UI release; Core does not expose `textFit` or `minFontSize`.
|
|
|
99
139
|
## Installation
|
|
100
140
|
|
|
101
141
|
```bash
|
|
102
|
-
pnpm add @kurot/core@^2.
|
|
142
|
+
pnpm add @kurot/core@^2.5.0
|
|
103
143
|
```
|
|
104
144
|
|
|
105
145
|
Core depends on `@kurot/bitmap-font ^0.1.0` for bitmap-font data and shared
|
|
@@ -263,6 +303,11 @@ text and `cacheAsTexture(true)` caches will be regenerated at the new density.
|
|
|
263
303
|
WebGL vector graphics are also re-rasterized when their display scale increases;
|
|
264
304
|
their cached sampling scale is capped at 8× to bound zoom-related memory use.
|
|
265
305
|
|
|
306
|
+
The Core 2.5.0 [texture density API](docs/texture-density.md) adds independent
|
|
307
|
+
source density through `new Texture(2)` and sheet JSON `resolution: 2`.
|
|
308
|
+
High-density images retain logical dimensions and nine-slice corners while
|
|
309
|
+
sampling physical atlas pixels. Published Core 2.4.0 does not contain this API.
|
|
310
|
+
|
|
266
311
|
## Multilingual text
|
|
267
312
|
|
|
268
313
|
`TextField.wordWrap = true` uses Unicode 17.0 UAX #14, with dictionary
|
|
@@ -384,8 +429,8 @@ to arbitrary `Bitmap` objects. See the
|
|
|
384
429
|
[resource format](docs/resource.md) and
|
|
385
430
|
[nine-slice contract](../ui-document/docs/resource-nine-slice.md).
|
|
386
431
|
|
|
387
|
-
The optional `resource/config/style.json` is handled by
|
|
388
|
-
CLI 3.
|
|
432
|
+
The optional `resource/config/style.json` is handled by current document 0.13.0 and
|
|
433
|
+
CLI 3.5.0, including named colors and Label presets. Core does not read this file or interpret `@style:colors:<key>` XML
|
|
389
434
|
references. Compiled skins receive numeric RGB values; the application loads
|
|
390
435
|
fonts before measuring text. See the
|
|
391
436
|
[project style contract](../ui-document/docs/project-styles.md).
|
|
@@ -402,5 +447,6 @@ Widths/heights are layout constraints; use scaleX/scaleY to resize the artwork.
|
|
|
402
447
|
Height admits complete lines, and explicit `multiline = false` keeps the first
|
|
403
448
|
hard-separated line unwrapped. `BitmapText.EMPTY_FACTOR` is deprecated in favor
|
|
404
449
|
of `font.data.spaceAdvance`. See the linked contracts before migrating custom
|
|
405
|
-
bitmap-text measurements.
|
|
406
|
-
|
|
450
|
+
bitmap-text measurements. Native UI BitmapLabel was introduced in UI 3.2.0;
|
|
451
|
+
current UI 3.4.0, document 0.13.0, CLI 3.5.0 and runtime 0.10.0 include its native,
|
|
452
|
+
authoring, compilation and materialization contracts. Editor adoption is separate.
|
|
@@ -6,6 +6,7 @@ export declare class RenderTexture extends Texture {
|
|
|
6
6
|
static renderer?: RenderFunction;
|
|
7
7
|
private _canvas?;
|
|
8
8
|
private _ctx?;
|
|
9
|
+
constructor();
|
|
9
10
|
drawToTexture(displayObject: DisplayObject, clipBounds?: Rectangle, scale?: number): boolean;
|
|
10
11
|
getPixel32(x: number, y: number): number[];
|
|
11
12
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderTexture.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/RenderTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,KAAK,cAAc,GAAG,CACrB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACX,iBAAiB,CAAC;AAEvB,qBAAa,aAAc,SAAQ,OAAO;IAGzC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAIjC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,IAAI,CAAC,CAA2B
|
|
1
|
+
{"version":3,"file":"RenderTexture.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/RenderTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,KAAK,cAAc,GAAG,CACrB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACX,iBAAiB,CAAC;AAEvB,qBAAa,aAAc,SAAQ,OAAO;IAGzC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAIjC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,IAAI,CAAC,CAA2B;;IAUjC,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,SAAI,GAAG,OAAO;IA+B9E,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAa1C,OAAO,IAAI,IAAI;CAK/B"}
|
|
@@ -6,6 +6,10 @@ export class RenderTexture extends Texture {
|
|
|
6
6
|
// ── Instance fields ───────────────────────────────────────────────────────
|
|
7
7
|
_canvas;
|
|
8
8
|
_ctx;
|
|
9
|
+
// ── Constructor ───────────────────────────────────────────────────────────
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
}
|
|
9
13
|
// ── Public methods ────────────────────────────────────────────────────────
|
|
10
14
|
drawToTexture(displayObject, clipBounds, scale = 1) {
|
|
11
15
|
if (clipBounds && (clipBounds.width === 0 || clipBounds.height === 0)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderTexture.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/RenderTexture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RenderTexture.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/RenderTexture.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ export declare class SpriteSheet {
|
|
|
6
6
|
private _textureMap;
|
|
7
7
|
constructor(texture: Texture);
|
|
8
8
|
getTexture(name: string): Texture | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a view using source-pixel coordinates, trim offsets and original
|
|
11
|
+
* frame dimensions. Logical dimensions inherit the page's resolution.
|
|
12
|
+
*/
|
|
9
13
|
createTexture(name: string, bitmapX: number, bitmapY: number, bitmapWidth: number, bitmapHeight: number, offsetX?: number, offsetY?: number, textureWidth?: number, textureHeight?: number): Texture;
|
|
10
14
|
dispose(): void;
|
|
11
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpriteSheet.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/SpriteSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,qBAAa,WAAW;IAGvB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAA8B;gBAI9B,OAAO,EAAE,OAAO;IAQ5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"SpriteSheet.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/SpriteSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,qBAAa,WAAW;IAGvB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAA8B;gBAI9B,OAAO,EAAE,OAAO;IAQ5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIpD;;;OAGG;IACI,aAAa,CACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,SAAI,EACX,OAAO,SAAI,EACX,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO;IAsBH,OAAO,IAAI,IAAI;CAGtB"}
|
|
@@ -8,17 +8,21 @@ export class SpriteSheet {
|
|
|
8
8
|
// ── Constructor ───────────────────────────────────────────────────────────
|
|
9
9
|
constructor(texture) {
|
|
10
10
|
this._texture = texture;
|
|
11
|
-
this._bitmapX = texture.bitmapX - texture.offsetX;
|
|
12
|
-
this._bitmapY = texture.bitmapY - texture.offsetY;
|
|
11
|
+
this._bitmapX = texture.bitmapX - texture.offsetX / texture.pixelScale;
|
|
12
|
+
this._bitmapY = texture.bitmapY - texture.offsetY / texture.pixelScale;
|
|
13
13
|
}
|
|
14
14
|
// ── Public methods ────────────────────────────────────────────────────────
|
|
15
15
|
getTexture(name) {
|
|
16
16
|
return this._textureMap.get(name);
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates a view using source-pixel coordinates, trim offsets and original
|
|
20
|
+
* frame dimensions. Logical dimensions inherit the page's resolution.
|
|
21
|
+
*/
|
|
18
22
|
createTexture(name, bitmapX, bitmapY, bitmapWidth, bitmapHeight, offsetX = 0, offsetY = 0, textureWidth, textureHeight) {
|
|
19
23
|
const tw = textureWidth ?? offsetX + bitmapWidth;
|
|
20
24
|
const th = textureHeight ?? offsetY + bitmapHeight;
|
|
21
|
-
const texture = new Texture();
|
|
25
|
+
const texture = new Texture(this._texture.resolution);
|
|
22
26
|
texture.disposeBitmapData = false;
|
|
23
27
|
texture.bitmapData = this._texture.bitmapData;
|
|
24
28
|
texture.initData(this._bitmapX + bitmapX, this._bitmapY + bitmapY, bitmapWidth, bitmapHeight, offsetX, offsetY, tw, th, this._texture.sourceWidth, this._texture.sourceHeight);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpriteSheet.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/SpriteSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,WAAW;IACvB,6EAA6E;IAErE,QAAQ,CAAU;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEjD,6EAA6E;IAE7E,YAAmB,OAAgB;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SpriteSheet.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/SpriteSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,WAAW;IACvB,6EAA6E;IAErE,QAAQ,CAAU;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEjD,6EAA6E;IAE7E,YAAmB,OAAgB;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IACxE,CAAC;IAED,6EAA6E;IAEtE,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,aAAa,CACnB,IAAY,EACZ,OAAe,EACf,OAAe,EACf,WAAmB,EACnB,YAAoB,EACpB,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,YAAqB,EACrB,aAAsB;QAEtB,MAAM,EAAE,GAAG,YAAY,IAAI,OAAO,GAAG,WAAW,CAAC;QACjD,MAAM,EAAE,GAAG,aAAa,IAAI,OAAO,GAAG,YAAY,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAClC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,OAAO,CAAC,QAAQ,CACf,IAAI,CAAC,QAAQ,GAAG,OAAO,EACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,EACvB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,OAAO,EACP,EAAE,EACF,EAAE,EACF,IAAI,CAAC,QAAQ,CAAC,WAAW,EACzB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC1B,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC;IAChB,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CACD"}
|
|
@@ -2,6 +2,11 @@ import { Rectangle } from '../../geom/Rectangle.js';
|
|
|
2
2
|
import { BitmapData } from './BitmapData.js';
|
|
3
3
|
export declare let textureScaleFactor: number;
|
|
4
4
|
export declare class Texture {
|
|
5
|
+
/**
|
|
6
|
+
* Source pixels per logical unit. Immutable for this texture and inherited
|
|
7
|
+
* by SpriteSheet views; independent of the player's render resolution.
|
|
8
|
+
*/
|
|
9
|
+
readonly resolution: number;
|
|
5
10
|
bitmapX: number;
|
|
6
11
|
bitmapY: number;
|
|
7
12
|
bitmapWidth: number;
|
|
@@ -15,6 +20,11 @@ export declare class Texture {
|
|
|
15
20
|
disposeBitmapData: boolean;
|
|
16
21
|
private _textureWidth;
|
|
17
22
|
private _textureHeight;
|
|
23
|
+
constructor(resolution?: number);
|
|
24
|
+
/**
|
|
25
|
+
* Logical units per sampled source pixel, including textureScaleFactor.
|
|
26
|
+
*/
|
|
27
|
+
get pixelScale(): number;
|
|
18
28
|
get textureWidth(): number;
|
|
19
29
|
get textureHeight(): number;
|
|
20
30
|
get scaleBitmapWidth(): number;
|
|
@@ -33,6 +43,10 @@ export declare class Texture {
|
|
|
33
43
|
* @deprecated This operation is not supported by Texture.
|
|
34
44
|
*/
|
|
35
45
|
toDataURL(_type: string, _rect?: Rectangle): string;
|
|
46
|
+
/**
|
|
47
|
+
* Atlas geometry and original frame sizes are in source pixels. Stored
|
|
48
|
+
* offsets and texture dimensions are logical; page dimensions stay physical.
|
|
49
|
+
*/
|
|
36
50
|
initData(bitmapX: number, bitmapY: number, bitmapWidth: number, bitmapHeight: number, offsetX: number, offsetY: number, textureWidth: number, textureHeight: number, sourceWidth: number, sourceHeight: number, rotated?: boolean): void;
|
|
37
51
|
}
|
|
38
52
|
//# sourceMappingURL=Texture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Texture.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/Texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,eAAO,IAAI,kBAAkB,QAAI,CAAC;AAElC,qBAAa,OAAO;IAGnB,OAAO,SAAK;IACZ,OAAO,SAAK;IACZ,WAAW,SAAK;IAChB,YAAY,SAAK;IACjB,OAAO,SAAK;IACZ,OAAO,SAAK;IACZ,WAAW,SAAK;IAChB,YAAY,SAAK;IACjB,OAAO,UAAS;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,UAAQ;IAEzB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;
|
|
1
|
+
{"version":3,"file":"Texture.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/Texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,eAAO,IAAI,kBAAkB,QAAI,CAAC;AAElC,qBAAa,OAAO;IAGnB;;;OAGG;IACH,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,OAAO,SAAK;IACZ,OAAO,SAAK;IACZ,WAAW,SAAK;IAChB,YAAY,SAAK;IACjB,OAAO,SAAK;IACZ,OAAO,SAAK;IACZ,WAAW,SAAK;IAChB,YAAY,SAAK;IACjB,OAAO,UAAS;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,UAAQ;IAEzB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;gBAIR,UAAU,SAAI;IASjC;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IACD,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAIM,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQtC,OAAO,IAAI,IAAI;IAStB;;OAEG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAInD;;OAEG;IACI,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,OAAO,SAAI,GAAG,MAAM,EAAE;IAI3E;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM;IAM1D;;;OAGG;IACH,QAAQ,CACP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,UAAQ,GACb,IAAI;CAeP"}
|
|
@@ -2,6 +2,11 @@ import { BitmapData } from './BitmapData.js';
|
|
|
2
2
|
export let textureScaleFactor = 1;
|
|
3
3
|
export class Texture {
|
|
4
4
|
// ── Instance fields ───────────────────────────────────────────────────────
|
|
5
|
+
/**
|
|
6
|
+
* Source pixels per logical unit. Immutable for this texture and inherited
|
|
7
|
+
* by SpriteSheet views; independent of the player's render resolution.
|
|
8
|
+
*/
|
|
9
|
+
resolution;
|
|
5
10
|
bitmapX = 0;
|
|
6
11
|
bitmapY = 0;
|
|
7
12
|
bitmapWidth = 0;
|
|
@@ -15,7 +20,20 @@ export class Texture {
|
|
|
15
20
|
disposeBitmapData = true;
|
|
16
21
|
_textureWidth = 0;
|
|
17
22
|
_textureHeight = 0;
|
|
23
|
+
// ── Constructor ───────────────────────────────────────────────────────────
|
|
24
|
+
constructor(resolution = 1) {
|
|
25
|
+
if (!Number.isFinite(resolution) || resolution <= 0) {
|
|
26
|
+
throw new RangeError('Texture resolution must be a finite positive number.');
|
|
27
|
+
}
|
|
28
|
+
this.resolution = resolution;
|
|
29
|
+
}
|
|
18
30
|
// ── Getters / Setters ─────────────────────────────────────────────────────
|
|
31
|
+
/**
|
|
32
|
+
* Logical units per sampled source pixel, including textureScaleFactor.
|
|
33
|
+
*/
|
|
34
|
+
get pixelScale() {
|
|
35
|
+
return textureScaleFactor / this.resolution;
|
|
36
|
+
}
|
|
19
37
|
get textureWidth() {
|
|
20
38
|
return this._textureWidth;
|
|
21
39
|
}
|
|
@@ -23,10 +41,10 @@ export class Texture {
|
|
|
23
41
|
return this._textureHeight;
|
|
24
42
|
}
|
|
25
43
|
get scaleBitmapWidth() {
|
|
26
|
-
return this.bitmapWidth *
|
|
44
|
+
return this.bitmapWidth * this.pixelScale;
|
|
27
45
|
}
|
|
28
46
|
get scaleBitmapHeight() {
|
|
29
|
-
return this.bitmapHeight *
|
|
47
|
+
return this.bitmapHeight * this.pixelScale;
|
|
30
48
|
}
|
|
31
49
|
// ── Public methods ────────────────────────────────────────────────────────
|
|
32
50
|
setBitmapData(value) {
|
|
@@ -63,16 +81,20 @@ export class Texture {
|
|
|
63
81
|
throw new Error('toDataURL requires renderer implementation');
|
|
64
82
|
}
|
|
65
83
|
// ── Internal methods ──────────────────────────────────────────────────────
|
|
84
|
+
/**
|
|
85
|
+
* Atlas geometry and original frame sizes are in source pixels. Stored
|
|
86
|
+
* offsets and texture dimensions are logical; page dimensions stay physical.
|
|
87
|
+
*/
|
|
66
88
|
initData(bitmapX, bitmapY, bitmapWidth, bitmapHeight, offsetX, offsetY, textureWidth, textureHeight, sourceWidth, sourceHeight, rotated = false) {
|
|
67
89
|
const scale = textureScaleFactor;
|
|
68
90
|
this.bitmapX = bitmapX / scale;
|
|
69
91
|
this.bitmapY = bitmapY / scale;
|
|
70
92
|
this.bitmapWidth = bitmapWidth / scale;
|
|
71
93
|
this.bitmapHeight = bitmapHeight / scale;
|
|
72
|
-
this.offsetX = offsetX;
|
|
73
|
-
this.offsetY = offsetY;
|
|
74
|
-
this._textureWidth = textureWidth;
|
|
75
|
-
this._textureHeight = textureHeight;
|
|
94
|
+
this.offsetX = offsetX / this.resolution;
|
|
95
|
+
this.offsetY = offsetY / this.resolution;
|
|
96
|
+
this._textureWidth = textureWidth / this.resolution;
|
|
97
|
+
this._textureHeight = textureHeight / this.resolution;
|
|
76
98
|
this.sourceWidth = sourceWidth;
|
|
77
99
|
this.sourceHeight = sourceHeight;
|
|
78
100
|
this.rotated = rotated;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/Texture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAElC,MAAM,OAAO,OAAO;IACnB,6EAA6E;IAE7E,OAAO,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,CAAC,CAAC;IACZ,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IACjB,OAAO,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,CAAC,CAAC;IACZ,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IACjB,OAAO,GAAG,KAAK,CAAC;IAChB,UAAU,CAAc;IACxB,iBAAiB,GAAG,IAAI,CAAC;IAEjB,aAAa,GAAG,CAAC,CAAC;IAClB,cAAc,GAAG,CAAC,CAAC;IAE3B,6EAA6E;IAE7E,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IACD,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAW,gBAAgB;QAC1B,OAAO,IAAI,CAAC,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/Texture.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { textureScaleFactor } from '../display/texture/Texture.js';
|
|
|
8
8
|
export function drawUnscaledBitmapFill(bitmap, width, height, draw) {
|
|
9
9
|
const tileWidth = bitmap.textureWidth;
|
|
10
10
|
const tileHeight = bitmap.textureHeight;
|
|
11
|
-
const scale = textureScaleFactor;
|
|
11
|
+
const scale = bitmap.texture?.pixelScale ?? textureScaleFactor;
|
|
12
12
|
if (![width, height, tileWidth, tileHeight, scale].every(value => Number.isFinite(value) && value > 0)) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmap-fill.js","sourceRoot":"","sources":["../../../src/kurot/player/bitmap-fill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAanE;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,IAAwB;IAC7G,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;IACxC,MAAM,KAAK,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmap-fill.js","sourceRoot":"","sources":["../../../src/kurot/player/bitmap-fill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/CanvasRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAyB,MAAM,yBAAyB,CAAC;AAKxE,OAAO,EAAE,QAAQ,EAAsB,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMpD,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAwBhE;;GAEG;AACH,qBAAa,cAAc;IAE1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4C;IAC7E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8C;IACjF,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,WAAW,CAAK;IAIxB;;OAEG;IACI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAiBnF,eAAe,CACrB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,GACZ,IAAI;IAUA,uBAAuB,CAC7B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,UAAQ,EAClB,SAAS,UAAQ,GACf,IAAI;IAIA,wBAAwB,CAC9B,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,IAAI;IAIA,qBAAqB,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,IAAI;IAKP,OAAO,CAAC,iBAAiB;IAkHzB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,cAAc;IAuGtB,OAAO,CAAC,YAAY;IAuFpB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/CanvasRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAyB,MAAM,yBAAyB,CAAC;AAKxE,OAAO,EAAE,QAAQ,EAAsB,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMpD,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAwBhE;;GAEG;AACH,qBAAa,cAAc;IAE1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4C;IAC7E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8C;IACjF,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,WAAW,CAAK;IAIxB;;OAEG;IACI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAiBnF,eAAe,CACrB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,GACZ,IAAI;IAUA,uBAAuB,CAC7B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,UAAQ,EAClB,SAAS,UAAQ,GACf,IAAI;IAIA,wBAAwB,CAC9B,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,IAAI;IAIA,qBAAqB,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,IAAI;IAKP,OAAO,CAAC,iBAAiB;IAkHzB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,cAAc;IAuGtB,OAAO,CAAC,YAAY;IAuFpB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,YAAY;IAqDpB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,gBAAgB;IAqDxB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,oBAAoB;IA2E5B,OAAO,CAAC,cAAc;IAoEtB,OAAO,CAAC,eAAe;IAsKvB,OAAO,CAAC,oBAAoB;IAoD5B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,sBAAsB;CAmI9B"}
|