@pixi-ui-editor/runtime-pixi 0.3.0 → 0.5.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.
- package/README.md +81 -2
- package/dist/SceneViewport.d.ts +17 -0
- package/dist/SceneViewport.d.ts.map +1 -0
- package/dist/SceneViewport.js +35 -0
- package/dist/SceneViewport.js.map +1 -0
- package/dist/assets/bitmapFonts.d.ts +22 -0
- package/dist/assets/bitmapFonts.d.ts.map +1 -0
- package/dist/assets/bitmapFonts.js +75 -0
- package/dist/assets/bitmapFonts.js.map +1 -0
- package/dist/assets/cache.d.ts +31 -0
- package/dist/assets/cache.d.ts.map +1 -0
- package/dist/assets/cache.js +20 -0
- package/dist/assets/cache.js.map +1 -0
- package/dist/assets/fonts.d.ts +1 -1
- package/dist/assets/fonts.d.ts.map +1 -1
- package/dist/assets/fonts.js +2 -2
- package/dist/assets/fonts.js.map +1 -1
- package/dist/assets/loadTexture.d.ts +9 -0
- package/dist/assets/loadTexture.d.ts.map +1 -0
- package/dist/assets/loadTexture.js +14 -0
- package/dist/assets/loadTexture.js.map +1 -0
- package/dist/assets/textures.d.ts +4 -5
- package/dist/assets/textures.d.ts.map +1 -1
- package/dist/assets/textures.js +31 -20
- package/dist/assets/textures.js.map +1 -1
- package/dist/controls.d.ts +9 -1
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +23 -0
- package/dist/controls.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +95 -3
- package/dist/index.test.js.map +1 -1
- package/dist/layout.d.ts +10 -4
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +13 -0
- package/dist/layout.js.map +1 -1
- package/dist/localization.d.ts +42 -0
- package/dist/localization.d.ts.map +1 -0
- package/dist/localization.js +73 -0
- package/dist/localization.js.map +1 -0
- package/dist/scene.d.ts +24 -13
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +66 -14
- package/dist/scene.js.map +1 -1
- package/dist/views/ButtonNodeView.d.ts +16 -3
- package/dist/views/ButtonNodeView.d.ts.map +1 -1
- package/dist/views/ButtonNodeView.js +94 -27
- package/dist/views/ButtonNodeView.js.map +1 -1
- package/dist/views/CheckboxNodeView.d.ts +47 -0
- package/dist/views/CheckboxNodeView.d.ts.map +1 -0
- package/dist/views/CheckboxNodeView.js +127 -0
- package/dist/views/CheckboxNodeView.js.map +1 -0
- package/dist/views/NodeView.d.ts +8 -0
- package/dist/views/NodeView.d.ts.map +1 -1
- package/dist/views/NodeView.js +8 -0
- package/dist/views/NodeView.js.map +1 -1
- package/dist/views/StagedButtonNodeView.d.ts +81 -0
- package/dist/views/StagedButtonNodeView.d.ts.map +1 -0
- package/dist/views/StagedButtonNodeView.js +275 -0
- package/dist/views/StagedButtonNodeView.js.map +1 -0
- package/dist/views/basic.d.ts +97 -2
- package/dist/views/basic.d.ts.map +1 -1
- package/dist/views/basic.js +273 -8
- package/dist/views/basic.js.map +1 -1
- package/dist/views/createNodeView.d.ts +1 -1
- package/dist/views/createNodeView.d.ts.map +1 -1
- package/dist/views/createNodeView.js +30 -4
- package/dist/views/createNodeView.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StagedButtonNodeView.js","sourceRoot":"","sources":["../../src/views/StagedButtonNodeView.ts"],"names":[],"mappings":"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"}
|
package/dist/views/basic.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { type LayoutProfileId, type UINode } from "@pixi-ui-editor/schema";
|
|
1
|
+
import { type LayoutPadding, type LayoutProfileId, type UINode } from "@pixi-ui-editor/schema";
|
|
2
2
|
import { Container, Texture } from "pixi.js";
|
|
3
3
|
import { NodeView } from "./NodeView.js";
|
|
4
4
|
export declare class ContainerNodeView extends NodeView {
|
|
5
5
|
protected syncContent(): void;
|
|
6
6
|
}
|
|
7
|
+
/** Clips every authored child to the node's resolved rectangular layout area. */
|
|
8
|
+
export declare class MaskNodeView extends NodeView {
|
|
9
|
+
private readonly maskShape;
|
|
10
|
+
constructor();
|
|
11
|
+
protected syncContent(node: UINode, transform: UINode["transform"]): void;
|
|
12
|
+
}
|
|
7
13
|
/** Layout groups may optionally paint one image behind their managed children. No asset means no content/view at all. */
|
|
8
14
|
export declare class LayoutGroupNodeView extends NodeView {
|
|
9
15
|
private readonly layoutContent;
|
|
@@ -16,15 +22,104 @@ export declare class LayoutGroupNodeView extends NodeView {
|
|
|
16
22
|
/**
|
|
17
23
|
* Ноде-картинке источник не обязателен: без `assetId` она рисует белый прямоугольник своего размера,
|
|
18
24
|
* а серо-синяя заглушка остаётся признаком того, что назначенный ассет не загрузился.
|
|
25
|
+
*
|
|
26
|
+
* `nineSlice` переключает контент на `NineSliceSprite`: углы источника остаются нерастянутыми, а
|
|
27
|
+
* растягиваются только края/середина — то же 9-slice, что уже использует Slider/ProgressBar через
|
|
28
|
+
* `@pixi/ui`'s `fillPaddings`, только здесь это применяется напрямую к содержимому Image-ноды.
|
|
19
29
|
*/
|
|
20
30
|
export declare class ImageNodeView extends NodeView {
|
|
21
|
-
constructor(assetId: string | undefined, textures: ReadonlyMap<string, Texture> | undefined);
|
|
31
|
+
constructor(assetId: string | undefined, textures: ReadonlyMap<string, Texture> | undefined, nineSlice?: LayoutPadding);
|
|
32
|
+
private static createSpriteContent;
|
|
22
33
|
protected syncContent(node: UINode, transform: UINode["transform"]): void;
|
|
34
|
+
/**
|
|
35
|
+
* Editor-only live preview of border edits while dragging the canvas nine-slice gizmo; the
|
|
36
|
+
* document is only written once, on drag release. A no-op without a `NineSliceSprite` content —
|
|
37
|
+
* e.g. mid-drag right after the asset was cleared, before the next document sync catches up.
|
|
38
|
+
*/
|
|
39
|
+
previewNineSlice(nineSlice: LayoutPadding): void;
|
|
23
40
|
}
|
|
24
41
|
export declare class TextNodeView extends NodeView {
|
|
25
42
|
private readonly fonts?;
|
|
43
|
+
/**
|
|
44
|
+
* Строка, применённая локализацией поверх авторской. Она переживает `updateNodeView`: без неё
|
|
45
|
+
* любая синхронизация документа возвращала бы fallback `node.text` вместо текущего перевода.
|
|
46
|
+
*/
|
|
47
|
+
private localizedText?;
|
|
48
|
+
/** Последний применённый прямоугольник и стиль — их же переиспользует инкрементальный `setText`. */
|
|
49
|
+
private lastTransform?;
|
|
50
|
+
private lastStyle?;
|
|
26
51
|
constructor(text: string, fonts?: ReadonlyMap<string, string> | undefined);
|
|
27
52
|
protected syncContent(node: UINode, transform: UINode["transform"], profile: LayoutProfileId): void;
|
|
53
|
+
/**
|
|
54
|
+
* Applies the resolved style at the largest font size (down to `minFontSize`) that keeps the
|
|
55
|
+
* rendered text inside `transform`, when `autoSize` is on — the same "shrink, never grow past the
|
|
56
|
+
* authored size" contract as `BitmapTextNodeView.applyFittedStyle` / Unity legacy Text's Best Fit.
|
|
57
|
+
* A binary search over candidate sizes rather than a closed-form scale, because word-wrapped text
|
|
58
|
+
* re-flows at every size: a smaller font fits more words per line, so height doesn't shrink linearly
|
|
59
|
+
* with font size the way unwrapped bounds would — the same reasoning `measureOverflow` follows.
|
|
60
|
+
*/
|
|
61
|
+
private applyFittedStyle;
|
|
62
|
+
/**
|
|
63
|
+
* Инкрементальная смена строки: та же строка не делает работы вообще, новая — только переизмеряет
|
|
64
|
+
* и выравнивает текст в текущем authored rectangle. `TextStyle` не пересоздаётся, а сам view
|
|
65
|
+
* сохраняет identity, поэтому смена локали не трогает ни сцену, ни GPU-ресурсы стиля.
|
|
66
|
+
*/
|
|
67
|
+
setText(text: string): void;
|
|
68
|
+
/** `undefined` возвращает ноду к авторской строке при следующей синхронизации документа. */
|
|
69
|
+
setLocalizedText(text: string | undefined): void;
|
|
70
|
+
/**
|
|
71
|
+
* Rasterizes the canvas-based `Text` at a higher pixel density than the renderer's own backing
|
|
72
|
+
* resolution, so authoring-camera zoom doesn't magnify an already-rasterized bitmap past its
|
|
73
|
+
* source resolution. `Application.resolution` (see `resolveCanvasResolution`) only matches the
|
|
74
|
+
* *display's* pixel density — it knows nothing about the editor's independent camera zoom, which
|
|
75
|
+
* can reach 8x (`MAX_ZOOM`). Without this, zooming in to inspect a text node (exactly what
|
|
76
|
+
* `autoSize`/shrink-to-fit users do, since it converges to a smaller font) reads as soft/blurred
|
|
77
|
+
* even on a display this app already renders crisply on. A no-op if unchanged: assigning
|
|
78
|
+
* `.resolution` always re-rasterizes, so skip it when the caller (the authoring canvas, on every
|
|
79
|
+
* camera-zoom tick) passes back the same value.
|
|
80
|
+
*/
|
|
81
|
+
setContentResolution(resolution: number): void;
|
|
82
|
+
/**
|
|
83
|
+
* Вылезает ли фактически отрисованный текст за логический прямоугольник ноды.
|
|
84
|
+
*
|
|
85
|
+
* Меряется уже готовый `Text`, а не длина строки: перенос по словам, шрифт и обводка известны
|
|
86
|
+
* только рендеру. Без `wordWrap` переполнение возможно по ширине, с ним — по высоте, потому что
|
|
87
|
+
* перенос сам удерживает ширину в пределах `wordWrapWidth`. Диагностика transient: она ничего не
|
|
88
|
+
* пишет ни в документ, ни в view.
|
|
89
|
+
*/
|
|
90
|
+
measureOverflow(): boolean;
|
|
91
|
+
private align;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A bitmap font's rendered glyphs come from its texture, not an arbitrary system/TTF face, so unlike
|
|
95
|
+
* `TextNodeView` there is no style-driven fallback: without a loaded font (asset deleted, still
|
|
96
|
+
* loading, or failed to parse) this draws the same missing-asset placeholder `ImageNodeView` does.
|
|
97
|
+
*/
|
|
98
|
+
export declare class BitmapTextNodeView extends NodeView {
|
|
99
|
+
private readonly fonts?;
|
|
100
|
+
private lastTransform?;
|
|
101
|
+
private lastAlign;
|
|
102
|
+
private lastVerticalAlign;
|
|
103
|
+
constructor(fonts?: ReadonlyMap<string, string> | undefined);
|
|
104
|
+
protected syncContent(node: UINode, transform: UINode["transform"]): void;
|
|
105
|
+
/**
|
|
106
|
+
* Applies the node's style at the largest font size (down to `minFontSize`) that keeps the text
|
|
107
|
+
* inside `transform`, when `autoSize` is on — the same "shrink, never grow past the authored size"
|
|
108
|
+
* contract as Unity legacy Text's Best Fit. A binary search over candidate sizes rather than a
|
|
109
|
+
* closed-form scale, because word-wrapped text re-flows at every size: a smaller font can fit more
|
|
110
|
+
* words per line, so height doesn't shrink linearly with font size the way unwrapped bounds would.
|
|
111
|
+
*/
|
|
112
|
+
private applyFittedStyle;
|
|
113
|
+
/**
|
|
114
|
+
* Positions via PixiJS's own `anchor`, not a manual `getLocalBounds()` computation like
|
|
115
|
+
* `TextNodeView.align()` uses: `BitmapText.updateBounds()` reports a coarse line-metrics box
|
|
116
|
+
* (built from the font's `lineHeight`/`baseLineOffset`), not the tight pixel bounds a canvas
|
|
117
|
+
* `Text` or `Sprite` reports. Its own glyphs are drawn with an additional baseline-derived offset
|
|
118
|
+
* that box doesn't account for, so computing `-bounds.y`-style positions from it lands text
|
|
119
|
+
* slightly (but consistently, for every vertical setting) off — `anchor` is the one code path
|
|
120
|
+
* PixiJS keeps in sync with how it actually renders the glyphs.
|
|
121
|
+
*/
|
|
122
|
+
private align;
|
|
28
123
|
}
|
|
29
124
|
/**
|
|
30
125
|
* Содержимое инстанса приходит обычными детьми из общего резолвера иерархии. Собственный контент
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/views/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/views/basic.ts"],"names":[],"mappings":"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"}
|
package/dist/views/basic.js
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
|
-
import { Container, Graphics, Sprite, Text } from "pixi.js";
|
|
1
|
+
import { BitmapText, Container, Graphics, NineSliceSprite, Sprite, Text } from "pixi.js";
|
|
2
2
|
import { NodeView } from "./NodeView.js";
|
|
3
3
|
import { resolveTextStyle } from "../layout.js";
|
|
4
4
|
export class ContainerNodeView extends NodeView {
|
|
5
5
|
syncContent() { }
|
|
6
6
|
}
|
|
7
|
+
/** Clips every authored child to the node's resolved rectangular layout area. */
|
|
8
|
+
export class MaskNodeView extends NodeView {
|
|
9
|
+
maskShape = new Graphics();
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.addChild(this.maskShape);
|
|
13
|
+
// A Graphics mask keeps the shape GPU-native and avoids the offscreen texture pass of alpha masks.
|
|
14
|
+
// Pixi's regular mask contract also preserves correct clipping through rotation and transformed parents.
|
|
15
|
+
this.mask = this.maskShape;
|
|
16
|
+
}
|
|
17
|
+
syncContent(node, transform) {
|
|
18
|
+
if (node.type !== "mask")
|
|
19
|
+
return;
|
|
20
|
+
this.maskShape.clear().rect(0, 0, transform.width, transform.height).fill(0xffffff);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
7
23
|
/** Layout groups may optionally paint one image behind their managed children. No asset means no content/view at all. */
|
|
8
24
|
export class LayoutGroupNodeView extends NodeView {
|
|
9
25
|
layoutContent = new Container();
|
|
@@ -42,20 +58,46 @@ export class LayoutGroupNodeView extends NodeView {
|
|
|
42
58
|
/**
|
|
43
59
|
* Ноде-картинке источник не обязателен: без `assetId` она рисует белый прямоугольник своего размера,
|
|
44
60
|
* а серо-синяя заглушка остаётся признаком того, что назначенный ассет не загрузился.
|
|
61
|
+
*
|
|
62
|
+
* `nineSlice` переключает контент на `NineSliceSprite`: углы источника остаются нерастянутыми, а
|
|
63
|
+
* растягиваются только края/середина — то же 9-slice, что уже использует Slider/ProgressBar через
|
|
64
|
+
* `@pixi/ui`'s `fillPaddings`, только здесь это применяется напрямую к содержимому Image-ноды.
|
|
45
65
|
*/
|
|
46
66
|
export class ImageNodeView extends NodeView {
|
|
47
|
-
constructor(assetId, textures) {
|
|
67
|
+
constructor(assetId, textures, nineSlice) {
|
|
48
68
|
super(textures);
|
|
49
69
|
const texture = assetId === undefined ? undefined : this.textureFor(assetId);
|
|
50
|
-
this.setContent(
|
|
70
|
+
this.setContent(ImageNodeView.createSpriteContent(texture, nineSlice));
|
|
71
|
+
}
|
|
72
|
+
static createSpriteContent(texture, nineSlice) {
|
|
73
|
+
if (texture === undefined)
|
|
74
|
+
return new Graphics();
|
|
75
|
+
return nineSlice === undefined
|
|
76
|
+
? new Sprite(texture)
|
|
77
|
+
: new NineSliceSprite({ texture, leftWidth: nineSlice.left, topHeight: nineSlice.top, rightWidth: nineSlice.right, bottomHeight: nineSlice.bottom });
|
|
51
78
|
}
|
|
52
79
|
syncContent(node, transform) {
|
|
53
80
|
if (node.type !== "image")
|
|
54
81
|
return;
|
|
55
82
|
const texture = node.assetId === undefined ? undefined : this.textureFor(node.assetId);
|
|
56
|
-
|
|
57
|
-
//
|
|
58
|
-
|
|
83
|
+
const nineSlice = node.nineSlice;
|
|
84
|
+
// Sprite ↔ NineSliceSprite ↔ Graphics меняются местами прямо здесь: структурный ключ сцены не
|
|
85
|
+
// включает assetId/nineSlice, поэтому переключение (в том числе на None) не пересобирает сцену.
|
|
86
|
+
if (texture !== undefined && nineSlice !== undefined) {
|
|
87
|
+
if (!(this.content instanceof NineSliceSprite))
|
|
88
|
+
this.setContent(ImageNodeView.createSpriteContent(texture, nineSlice));
|
|
89
|
+
const sprite = this.content;
|
|
90
|
+
// Keep the NineSliceSprite and its layout rectangle stable when its image asset/borders change.
|
|
91
|
+
if (sprite.texture !== texture)
|
|
92
|
+
sprite.texture = texture;
|
|
93
|
+
sprite.leftWidth = nineSlice.left;
|
|
94
|
+
sprite.topHeight = nineSlice.top;
|
|
95
|
+
sprite.rightWidth = nineSlice.right;
|
|
96
|
+
sprite.bottomHeight = nineSlice.bottom;
|
|
97
|
+
sprite.setSize(transform.width, transform.height);
|
|
98
|
+
}
|
|
99
|
+
else if (texture !== undefined) {
|
|
100
|
+
// `NineSliceSprite` is a Sprite sibling, not a subclass, so this rebuilds when switching back from it.
|
|
59
101
|
if (!(this.content instanceof Sprite))
|
|
60
102
|
this.setContent(new Sprite(texture));
|
|
61
103
|
const sprite = this.content;
|
|
@@ -75,9 +117,30 @@ export class ImageNodeView extends NodeView {
|
|
|
75
117
|
}
|
|
76
118
|
this.content.alpha = node.opacity ?? 1;
|
|
77
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Editor-only live preview of border edits while dragging the canvas nine-slice gizmo; the
|
|
122
|
+
* document is only written once, on drag release. A no-op without a `NineSliceSprite` content —
|
|
123
|
+
* e.g. mid-drag right after the asset was cleared, before the next document sync catches up.
|
|
124
|
+
*/
|
|
125
|
+
previewNineSlice(nineSlice) {
|
|
126
|
+
if (!(this.content instanceof NineSliceSprite))
|
|
127
|
+
return;
|
|
128
|
+
this.content.leftWidth = nineSlice.left;
|
|
129
|
+
this.content.topHeight = nineSlice.top;
|
|
130
|
+
this.content.rightWidth = nineSlice.right;
|
|
131
|
+
this.content.bottomHeight = nineSlice.bottom;
|
|
132
|
+
}
|
|
78
133
|
}
|
|
79
134
|
export class TextNodeView extends NodeView {
|
|
80
135
|
fonts;
|
|
136
|
+
/**
|
|
137
|
+
* Строка, применённая локализацией поверх авторской. Она переживает `updateNodeView`: без неё
|
|
138
|
+
* любая синхронизация документа возвращала бы fallback `node.text` вместо текущего перевода.
|
|
139
|
+
*/
|
|
140
|
+
localizedText;
|
|
141
|
+
/** Последний применённый прямоугольник и стиль — их же переиспользует инкрементальный `setText`. */
|
|
142
|
+
lastTransform;
|
|
143
|
+
lastStyle;
|
|
81
144
|
constructor(text, fonts) {
|
|
82
145
|
super();
|
|
83
146
|
this.fonts = fonts;
|
|
@@ -86,11 +149,116 @@ export class TextNodeView extends NodeView {
|
|
|
86
149
|
syncContent(node, transform, profile) {
|
|
87
150
|
if (node.type !== "text" || !(this.content instanceof Text))
|
|
88
151
|
return;
|
|
89
|
-
|
|
152
|
+
const text = this.localizedText ?? node.text;
|
|
153
|
+
if (this.content.text !== text)
|
|
154
|
+
this.content.text = text;
|
|
90
155
|
const style = resolveTextStyle(node, profile);
|
|
156
|
+
this.lastTransform = transform;
|
|
157
|
+
this.lastStyle = style;
|
|
91
158
|
if (style === undefined)
|
|
92
159
|
return;
|
|
93
|
-
this.
|
|
160
|
+
this.applyFittedStyle(this.content, node, style, transform);
|
|
161
|
+
this.align();
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Applies the resolved style at the largest font size (down to `minFontSize`) that keeps the
|
|
165
|
+
* rendered text inside `transform`, when `autoSize` is on — the same "shrink, never grow past the
|
|
166
|
+
* authored size" contract as `BitmapTextNodeView.applyFittedStyle` / Unity legacy Text's Best Fit.
|
|
167
|
+
* A binary search over candidate sizes rather than a closed-form scale, because word-wrapped text
|
|
168
|
+
* re-flows at every size: a smaller font fits more words per line, so height doesn't shrink linearly
|
|
169
|
+
* with font size the way unwrapped bounds would — the same reasoning `measureOverflow` follows.
|
|
170
|
+
*/
|
|
171
|
+
applyFittedStyle(text, node, style, transform) {
|
|
172
|
+
const baseStyle = { fontFamily: style.fontAssetId === undefined ? style.fontFamily : this.fonts?.get(style.fontAssetId) ?? style.fontFamily, fontWeight: style.fontWeight, fontStyle: style.fontStyle, fill: style.fill, align: style.align, wordWrap: style.wordWrap, breakWords: style.breakWords, wordWrapWidth: transform.width, lineHeight: style.lineHeight, letterSpacing: style.letterSpacing, stroke: style.stroke === undefined ? undefined : { color: style.stroke.color, width: style.stroke.width } };
|
|
173
|
+
const fits = (fontSize) => {
|
|
174
|
+
text.style = { ...baseStyle, fontSize };
|
|
175
|
+
// Headless loaders and schema tests have no browser canvas to measure against; they keep the
|
|
176
|
+
// authored fontSize, same boundary `align()` already respects.
|
|
177
|
+
if (typeof globalThis.document === "undefined")
|
|
178
|
+
return true;
|
|
179
|
+
const bounds = text.getLocalBounds();
|
|
180
|
+
const tolerance = 0.5;
|
|
181
|
+
return style.wordWrap
|
|
182
|
+
? bounds.height <= transform.height + tolerance
|
|
183
|
+
: bounds.width <= transform.width + tolerance && bounds.height <= transform.height + tolerance;
|
|
184
|
+
};
|
|
185
|
+
// Always runs at least once, applying `baseStyle` at the authored size as a side effect — not
|
|
186
|
+
// just the shrink-check's fast path. Written as `||` short-circuit, `fits(style.fontSize)` would
|
|
187
|
+
// never execute while `autoSize` is off, leaving `text.style` frozen at whatever the constructor
|
|
188
|
+
// set it to and silently dropping every later font/color/align/wrap edit (see the identical fix
|
|
189
|
+
// in `BitmapTextNodeView.applyFittedStyle`).
|
|
190
|
+
const fitsAtAuthoredSize = fits(style.fontSize);
|
|
191
|
+
if (node.autoSize !== true || fitsAtAuthoredSize)
|
|
192
|
+
return;
|
|
193
|
+
const minFontSize = Math.min(node.minFontSize ?? 1, style.fontSize);
|
|
194
|
+
if (!fits(minFontSize))
|
|
195
|
+
return; // Best effort: even the floor overflows, so it stays at the floor.
|
|
196
|
+
let lo = minFontSize, hi = style.fontSize;
|
|
197
|
+
for (let i = 0; i < 8; i++) {
|
|
198
|
+
const mid = (lo + hi) / 2;
|
|
199
|
+
if (fits(mid))
|
|
200
|
+
lo = mid;
|
|
201
|
+
else
|
|
202
|
+
hi = mid;
|
|
203
|
+
}
|
|
204
|
+
fits(lo); // Leaves `text.style` applied at the converged, fitting size.
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Инкрементальная смена строки: та же строка не делает работы вообще, новая — только переизмеряет
|
|
208
|
+
* и выравнивает текст в текущем authored rectangle. `TextStyle` не пересоздаётся, а сам view
|
|
209
|
+
* сохраняет identity, поэтому смена локали не трогает ни сцену, ни GPU-ресурсы стиля.
|
|
210
|
+
*/
|
|
211
|
+
setText(text) {
|
|
212
|
+
if (!(this.content instanceof Text) || this.content.text === text)
|
|
213
|
+
return;
|
|
214
|
+
this.content.text = text;
|
|
215
|
+
this.align();
|
|
216
|
+
}
|
|
217
|
+
/** `undefined` возвращает ноду к авторской строке при следующей синхронизации документа. */
|
|
218
|
+
setLocalizedText(text) {
|
|
219
|
+
this.localizedText = text;
|
|
220
|
+
if (text !== undefined)
|
|
221
|
+
this.setText(text);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Rasterizes the canvas-based `Text` at a higher pixel density than the renderer's own backing
|
|
225
|
+
* resolution, so authoring-camera zoom doesn't magnify an already-rasterized bitmap past its
|
|
226
|
+
* source resolution. `Application.resolution` (see `resolveCanvasResolution`) only matches the
|
|
227
|
+
* *display's* pixel density — it knows nothing about the editor's independent camera zoom, which
|
|
228
|
+
* can reach 8x (`MAX_ZOOM`). Without this, zooming in to inspect a text node (exactly what
|
|
229
|
+
* `autoSize`/shrink-to-fit users do, since it converges to a smaller font) reads as soft/blurred
|
|
230
|
+
* even on a display this app already renders crisply on. A no-op if unchanged: assigning
|
|
231
|
+
* `.resolution` always re-rasterizes, so skip it when the caller (the authoring canvas, on every
|
|
232
|
+
* camera-zoom tick) passes back the same value.
|
|
233
|
+
*/
|
|
234
|
+
setContentResolution(resolution) {
|
|
235
|
+
if (!(this.content instanceof Text) || this.content.resolution === resolution)
|
|
236
|
+
return;
|
|
237
|
+
this.content.resolution = resolution;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Вылезает ли фактически отрисованный текст за логический прямоугольник ноды.
|
|
241
|
+
*
|
|
242
|
+
* Меряется уже готовый `Text`, а не длина строки: перенос по словам, шрифт и обводка известны
|
|
243
|
+
* только рендеру. Без `wordWrap` переполнение возможно по ширине, с ним — по высоте, потому что
|
|
244
|
+
* перенос сам удерживает ширину в пределах `wordWrapWidth`. Диагностика transient: она ничего не
|
|
245
|
+
* пишет ни в документ, ни в view.
|
|
246
|
+
*/
|
|
247
|
+
measureOverflow() {
|
|
248
|
+
const transform = this.lastTransform;
|
|
249
|
+
if (!(this.content instanceof Text) || transform === undefined || typeof globalThis.document === "undefined")
|
|
250
|
+
return false;
|
|
251
|
+
const bounds = this.content.getLocalBounds();
|
|
252
|
+
const tolerance = 0.5;
|
|
253
|
+
return this.lastStyle?.wordWrap === true
|
|
254
|
+
? bounds.height > transform.height + tolerance
|
|
255
|
+
: bounds.width > transform.width + tolerance || bounds.height > transform.height + tolerance;
|
|
256
|
+
}
|
|
257
|
+
align() {
|
|
258
|
+
const transform = this.lastTransform;
|
|
259
|
+
const style = this.lastStyle;
|
|
260
|
+
if (!(this.content instanceof Text) || transform === undefined || style === undefined)
|
|
261
|
+
return;
|
|
94
262
|
// Headless loaders and schema tests intentionally have no browser canvas. In that boundary
|
|
95
263
|
// text still owns its authored rectangle; browser rendering keeps the precise measurement.
|
|
96
264
|
const bounds = typeof globalThis.document === "undefined" ? { x: 0, y: 0, width: 0, height: 0 } : this.content.getLocalBounds();
|
|
@@ -98,6 +266,103 @@ export class TextNodeView extends NodeView {
|
|
|
98
266
|
this.content.y = style.verticalAlign === "middle" ? (transform.height - bounds.height) / 2 - bounds.y : style.verticalAlign === "bottom" ? transform.height - bounds.height - bounds.y : -bounds.y;
|
|
99
267
|
}
|
|
100
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* A bitmap font's rendered glyphs come from its texture, not an arbitrary system/TTF face, so unlike
|
|
271
|
+
* `TextNodeView` there is no style-driven fallback: without a loaded font (asset deleted, still
|
|
272
|
+
* loading, or failed to parse) this draws the same missing-asset placeholder `ImageNodeView` does.
|
|
273
|
+
*/
|
|
274
|
+
export class BitmapTextNodeView extends NodeView {
|
|
275
|
+
fonts;
|
|
276
|
+
lastTransform;
|
|
277
|
+
lastAlign = "left";
|
|
278
|
+
lastVerticalAlign = "top";
|
|
279
|
+
constructor(fonts) {
|
|
280
|
+
super();
|
|
281
|
+
this.fonts = fonts;
|
|
282
|
+
this.setContent(new Graphics());
|
|
283
|
+
}
|
|
284
|
+
syncContent(node, transform) {
|
|
285
|
+
if (node.type !== "bitmap-text")
|
|
286
|
+
return;
|
|
287
|
+
this.lastTransform = transform;
|
|
288
|
+
this.lastAlign = node.align;
|
|
289
|
+
this.lastVerticalAlign = node.verticalAlign;
|
|
290
|
+
const family = this.fonts?.get(node.assetId);
|
|
291
|
+
if (family === undefined) {
|
|
292
|
+
if (!(this.content instanceof Graphics))
|
|
293
|
+
this.setContent(new Graphics());
|
|
294
|
+
this.content.clear().rect(0, 0, transform.width, transform.height).fill(0x4a5568).stroke({ width: 1, color: 0x94a3b8 });
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
if (!(this.content instanceof BitmapText))
|
|
298
|
+
this.setContent(new BitmapText({ text: node.text, style: { fontFamily: family, fontSize: node.fontSize, fill: node.fill } }));
|
|
299
|
+
const bitmapText = this.content;
|
|
300
|
+
if (bitmapText.text !== node.text)
|
|
301
|
+
bitmapText.text = node.text;
|
|
302
|
+
this.applyFittedStyle(bitmapText, node, family, transform);
|
|
303
|
+
this.align();
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Applies the node's style at the largest font size (down to `minFontSize`) that keeps the text
|
|
307
|
+
* inside `transform`, when `autoSize` is on — the same "shrink, never grow past the authored size"
|
|
308
|
+
* contract as Unity legacy Text's Best Fit. A binary search over candidate sizes rather than a
|
|
309
|
+
* closed-form scale, because word-wrapped text re-flows at every size: a smaller font can fit more
|
|
310
|
+
* words per line, so height doesn't shrink linearly with font size the way unwrapped bounds would.
|
|
311
|
+
*/
|
|
312
|
+
applyFittedStyle(bitmapText, node, family, transform) {
|
|
313
|
+
const baseStyle = { fontFamily: family, fill: node.fill, align: node.align, letterSpacing: node.letterSpacing, wordWrap: node.wordWrap, wordWrapWidth: transform.width };
|
|
314
|
+
const fits = (fontSize) => {
|
|
315
|
+
bitmapText.style = { ...baseStyle, fontSize };
|
|
316
|
+
// Headless loaders and schema tests have no browser canvas to measure against; they keep the
|
|
317
|
+
// authored fontSize, same boundary `align()` already respects.
|
|
318
|
+
if (typeof globalThis.document === "undefined")
|
|
319
|
+
return true;
|
|
320
|
+
const bounds = bitmapText.getLocalBounds();
|
|
321
|
+
const tolerance = 0.5;
|
|
322
|
+
return node.wordWrap
|
|
323
|
+
? bounds.height <= transform.height + tolerance
|
|
324
|
+
: bounds.width <= transform.width + tolerance && bounds.height <= transform.height + tolerance;
|
|
325
|
+
};
|
|
326
|
+
// Always runs at least once, applying `baseStyle` at the authored size as a side effect — not
|
|
327
|
+
// just the shrink-check's fast path. Written as `||` short-circuit, `fits(node.fontSize)` would
|
|
328
|
+
// never execute while `autoSize` is off, leaving `bitmapText.style` frozen at whatever the
|
|
329
|
+
// constructor set it to and silently dropping every later fill/align/letterSpacing/wordWrap edit.
|
|
330
|
+
const fitsAtAuthoredSize = fits(node.fontSize);
|
|
331
|
+
if (node.autoSize !== true || fitsAtAuthoredSize)
|
|
332
|
+
return;
|
|
333
|
+
const minFontSize = Math.min(node.minFontSize ?? 1, node.fontSize);
|
|
334
|
+
if (!fits(minFontSize))
|
|
335
|
+
return; // Best effort: even the floor overflows, so it stays at the floor.
|
|
336
|
+
let lo = minFontSize, hi = node.fontSize;
|
|
337
|
+
for (let i = 0; i < 8; i++) {
|
|
338
|
+
const mid = (lo + hi) / 2;
|
|
339
|
+
if (fits(mid))
|
|
340
|
+
lo = mid;
|
|
341
|
+
else
|
|
342
|
+
hi = mid;
|
|
343
|
+
}
|
|
344
|
+
fits(lo); // Leaves `bitmapText.style` applied at the converged, fitting size.
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Positions via PixiJS's own `anchor`, not a manual `getLocalBounds()` computation like
|
|
348
|
+
* `TextNodeView.align()` uses: `BitmapText.updateBounds()` reports a coarse line-metrics box
|
|
349
|
+
* (built from the font's `lineHeight`/`baseLineOffset`), not the tight pixel bounds a canvas
|
|
350
|
+
* `Text` or `Sprite` reports. Its own glyphs are drawn with an additional baseline-derived offset
|
|
351
|
+
* that box doesn't account for, so computing `-bounds.y`-style positions from it lands text
|
|
352
|
+
* slightly (but consistently, for every vertical setting) off — `anchor` is the one code path
|
|
353
|
+
* PixiJS keeps in sync with how it actually renders the glyphs.
|
|
354
|
+
*/
|
|
355
|
+
align() {
|
|
356
|
+
const transform = this.lastTransform;
|
|
357
|
+
if (!(this.content instanceof BitmapText) || transform === undefined)
|
|
358
|
+
return;
|
|
359
|
+
const anchorX = this.lastAlign === "center" ? 0.5 : this.lastAlign === "right" ? 1 : 0;
|
|
360
|
+
const anchorY = this.lastVerticalAlign === "middle" ? 0.5 : this.lastVerticalAlign === "bottom" ? 1 : 0;
|
|
361
|
+
this.content.anchor.set(anchorX, anchorY);
|
|
362
|
+
this.content.x = anchorX * transform.width;
|
|
363
|
+
this.content.y = anchorY * transform.height;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
101
366
|
/**
|
|
102
367
|
* Содержимое инстанса приходит обычными детьми из общего резолвера иерархии. Собственный контент
|
|
103
368
|
* нужен только как заметная заглушка, когда определение пресета отсутствует в документе.
|
package/dist/views/basic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/views/basic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/views/basic.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { NodeView, type SceneInteractionMode } from "./NodeView.js";
|
|
|
7
7
|
* `hasPrefab` только сообщает, существует ли определение пресета: содержимое инстанса приходит его
|
|
8
8
|
* обычными детьми из общего резолвера иерархии, а не отдельной веткой сборки.
|
|
9
9
|
*/
|
|
10
|
-
export declare function createNodeView(node: UINode, interaction: SceneInteractionMode, textures?: ReadonlyMap<string, Texture>, spines?: ReadonlyMap<string, SkeletonData>, hasPrefab?: (prefabId: string) => boolean, fonts?: ReadonlyMap<string, string>, sounds?: ReadonlyMap<string, Sound>, effect?: ParticleEffectDefinition, spineReferenceFrame?: SpineReferenceFrame, ticker?: Ticker): NodeView;
|
|
10
|
+
export declare function createNodeView(node: UINode, interaction: SceneInteractionMode, textures?: ReadonlyMap<string, Texture>, spines?: ReadonlyMap<string, SkeletonData>, hasPrefab?: (prefabId: string) => boolean, fonts?: ReadonlyMap<string, string>, sounds?: ReadonlyMap<string, Sound>, effect?: ParticleEffectDefinition, spineReferenceFrame?: SpineReferenceFrame, ticker?: Ticker, bitmapFonts?: ReadonlyMap<string, string>): NodeView;
|
|
11
11
|
/**
|
|
12
12
|
* Every asset a node references: the image, the Spine data, or each of a button's state images.
|
|
13
13
|
* Single source of truth for "which assets does this node use" — texture loading and the editor's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNodeView.d.ts","sourceRoot":"","sources":["../../src/views/createNodeView.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"createNodeView.d.ts","sourceRoot":"","sources":["../../src/views/createNodeView.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,wBAAwB,EAAE,KAAK,mBAAmB,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtJ,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAa,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAK1D,OAAO,EAAE,QAAQ,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAOpE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAqC5a;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA8D1D"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import { BUTTON_STATE_KEYS } from "@pixi-ui-editor/schema";
|
|
1
|
+
import { BUTTON_STATE_KEYS, CHECKBOX_STATE_KEYS } from "@pixi-ui-editor/schema";
|
|
2
2
|
import { ButtonNodeView } from "./ButtonNodeView.js";
|
|
3
|
-
import {
|
|
3
|
+
import { CheckboxNodeView } from "./CheckboxNodeView.js";
|
|
4
|
+
import { BitmapTextNodeView, ContainerNodeView, ImageNodeView, LayoutGroupNodeView, MaskNodeView, PrefabInstanceNodeView, TextNodeView } from "./basic.js";
|
|
4
5
|
import { InputNodeView } from "./InputNodeView.js";
|
|
5
6
|
import { ScrollViewNodeView } from "./ScrollViewNodeView.js";
|
|
6
7
|
import { SpineNodeView } from "./SpineNodeView.js";
|
|
8
|
+
import { StagedButtonNodeView } from "./StagedButtonNodeView.js";
|
|
7
9
|
import { ProgressBarNodeView, SliderNodeView } from "./ValueControlNodeViews.js";
|
|
8
10
|
import { ParticleEmitterNodeView } from "./ParticleEmitterNodeView.js";
|
|
9
11
|
/**
|
|
10
12
|
* `hasPrefab` только сообщает, существует ли определение пресета: содержимое инстанса приходит его
|
|
11
13
|
* обычными детьми из общего резолвера иерархии, а не отдельной веткой сборки.
|
|
12
14
|
*/
|
|
13
|
-
export function createNodeView(node, interaction, textures, spines, hasPrefab, fonts, sounds, effect, spineReferenceFrame, ticker) {
|
|
15
|
+
export function createNodeView(node, interaction, textures, spines, hasPrefab, fonts, sounds, effect, spineReferenceFrame, ticker, bitmapFonts) {
|
|
14
16
|
switch (node.type) {
|
|
15
17
|
case "container":
|
|
16
18
|
return new ContainerNodeView();
|
|
19
|
+
case "mask":
|
|
20
|
+
return new MaskNodeView();
|
|
17
21
|
case "horizontal-layout":
|
|
18
22
|
case "vertical-layout":
|
|
19
23
|
case "grid-layout":
|
|
@@ -21,13 +25,19 @@ export function createNodeView(node, interaction, textures, spines, hasPrefab, f
|
|
|
21
25
|
case "scroll-view":
|
|
22
26
|
return new ScrollViewNodeView(node, textures, interaction);
|
|
23
27
|
case "image":
|
|
24
|
-
return new ImageNodeView(node.assetId, textures);
|
|
28
|
+
return new ImageNodeView(node.assetId, textures, node.nineSlice);
|
|
25
29
|
case "text":
|
|
26
30
|
return new TextNodeView(node.text, fonts);
|
|
31
|
+
case "bitmap-text":
|
|
32
|
+
return new BitmapTextNodeView(bitmapFonts);
|
|
27
33
|
case "spine":
|
|
28
34
|
return new SpineNodeView(spines?.get(node.assetId), node.animation, node.autoplay ?? true, node.loop ?? true, node.animationSpeed ?? 1, interaction === "authoring", spineReferenceFrame, ticker);
|
|
29
35
|
case "button":
|
|
30
36
|
return new ButtonNodeView(node, textures, interaction, sounds);
|
|
37
|
+
case "staged-button":
|
|
38
|
+
return new StagedButtonNodeView(node, textures, interaction, sounds);
|
|
39
|
+
case "checkbox":
|
|
40
|
+
return new CheckboxNodeView(node, textures, interaction, sounds);
|
|
31
41
|
case "input":
|
|
32
42
|
return new InputNodeView(node, textures, interaction, fonts);
|
|
33
43
|
case "slider":
|
|
@@ -58,7 +68,21 @@ export function collectNodeAssetIds(node) {
|
|
|
58
68
|
.filter((assetId) => assetId !== undefined),
|
|
59
69
|
...[node.sounds?.pressAssetId, node.sounds?.hoverAssetId].filter((assetId) => assetId !== undefined),
|
|
60
70
|
];
|
|
71
|
+
case "staged-button":
|
|
72
|
+
return [...new Set([
|
|
73
|
+
...node.stages.flatMap((stage) => BUTTON_STATE_KEYS.map((state) => stage.states[`${state}AssetId`])),
|
|
74
|
+
node.sounds?.pressAssetId,
|
|
75
|
+
node.sounds?.hoverAssetId,
|
|
76
|
+
].filter((assetId) => assetId !== undefined))];
|
|
77
|
+
case "checkbox":
|
|
78
|
+
return [
|
|
79
|
+
...CHECKBOX_STATE_KEYS
|
|
80
|
+
.map((state) => node.states[`${state}AssetId`])
|
|
81
|
+
.filter((assetId) => assetId !== undefined),
|
|
82
|
+
...[node.sounds?.checkAssetId, node.sounds?.uncheckAssetId].filter((assetId) => assetId !== undefined),
|
|
83
|
+
];
|
|
61
84
|
case "container":
|
|
85
|
+
case "mask":
|
|
62
86
|
case "prefab-instance":
|
|
63
87
|
return [];
|
|
64
88
|
case "horizontal-layout":
|
|
@@ -75,6 +99,8 @@ export function collectNodeAssetIds(node) {
|
|
|
75
99
|
node.textStyleOverrides?.desktop?.fontAssetId,
|
|
76
100
|
node.textStyleOverrides?.mobile?.fontAssetId,
|
|
77
101
|
].filter((assetId) => assetId !== undefined))];
|
|
102
|
+
case "bitmap-text":
|
|
103
|
+
return [node.assetId];
|
|
78
104
|
case "input": {
|
|
79
105
|
const ids = [];
|
|
80
106
|
if (node.backgroundAssetId !== undefined)
|