@pixi-ui-editor/runtime-pixi 0.4.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/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 +5 -1
- package/dist/assets/cache.d.ts.map +1 -1
- package/dist/assets/cache.js +3 -0
- package/dist/assets/cache.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 +4 -0
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +12 -1
- package/dist/controls.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +2 -0
- package/dist/index.test.js.map +1 -1
- package/dist/scene.d.ts +1 -0
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +7 -5
- package/dist/scene.js.map +1 -1
- 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 +52 -0
- package/dist/views/basic.d.ts.map +1 -1
- package/dist/views/basic.js +158 -2
- 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 +15 -2
- package/dist/views/createNodeView.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Asset, ProjectDocument } from "@pixi-ui-editor/schema";
|
|
2
|
+
import { BitmapFont, type Texture } from "pixi.js";
|
|
3
|
+
import type { FileUrlResolver } from "./textures.js";
|
|
4
|
+
type BitmapFontAsset = Extract<Asset, {
|
|
5
|
+
type: "bitmapFont";
|
|
6
|
+
}>;
|
|
7
|
+
/**
|
|
8
|
+
* Loads scene bitmap fonts before views are built, mirroring `loadSceneFonts`. Unlike a regular
|
|
9
|
+
* `FontFace`, PixiJS resolves a `BitmapText`'s font by looking up `Cache` for `${fontFamily}-bitmap`
|
|
10
|
+
* (see `BitmapFontManager.getFont`), so loading here means parsing the XML, building one `BitmapFont`
|
|
11
|
+
* from the already-fetched texture, and registering it in that cache — there is no URL-based loader
|
|
12
|
+
* to delegate to, since our XML and texture live at unrelated asset URIs, not a fixed relative pair.
|
|
13
|
+
*/
|
|
14
|
+
export declare function loadSceneBitmapFonts(document: ProjectDocument, sceneId: string, resolveFileUrl: FileUrlResolver, cache?: Map<string, Promise<BitmapFont | undefined>>): Promise<Map<string, string>>;
|
|
15
|
+
/**
|
|
16
|
+
* Resolves one glyph's already-cropped `Texture` from a bitmap font asset, for reuse as a plain image
|
|
17
|
+
* asset (an Image node, a Button/Checkbox state, ...) — see `BitmapFontAsset.frames`. `BitmapFont`
|
|
18
|
+
* builds one `Texture` per character up front (see its constructor), so this is a lookup, not a crop.
|
|
19
|
+
*/
|
|
20
|
+
export declare function loadBitmapFontGlyphTexture(asset: BitmapFontAsset, glyph: string, resolveFileUrl: FileUrlResolver, cache?: Map<string, Promise<BitmapFont | undefined>>): Promise<Texture | undefined>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=bitmapFonts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapFonts.d.ts","sourceRoot":"","sources":["../../src/assets/bitmapFonts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAU,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAoC,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAMrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,KAAK,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AAqC9D;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,GAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYjO;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,GAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAGlO"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { BitmapFont, Cache, bitmapFontXMLStringParser } from "pixi.js";
|
|
2
|
+
import { collectRenderedNodes } from "../scene.js";
|
|
3
|
+
import { sharedBitmapFontCache } from "./cache.js";
|
|
4
|
+
import { loadTexture } from "./loadTexture.js";
|
|
5
|
+
const keyOf = (asset) => `${asset.files.xml.uri}#${asset.files.texture.uri}`;
|
|
6
|
+
/**
|
|
7
|
+
* The synthetic family every loaded font installs under — never whatever `<info face>` its XML
|
|
8
|
+
* declares. Two uploaded bitmap fonts could share the same exporter-generated face name, and the
|
|
9
|
+
* asset id is the only identity PixiJS's `${fontFamily}-bitmap` Cache key is guaranteed not to collide on.
|
|
10
|
+
*/
|
|
11
|
+
const familyOf = (assetId) => `bitmap-font-${assetId}`;
|
|
12
|
+
const fromNodes = (nodes) => nodes.flatMap((node) => (node.type === "bitmap-text" ? [node.assetId] : []));
|
|
13
|
+
/**
|
|
14
|
+
* Shared by `loadSceneFonts`'s reasoning (see `sharedFontCache`): a loaded `BitmapFont` registers into
|
|
15
|
+
* PixiJS's own global `Cache`, so re-parsing the same asset under a caller-scoped cache would still
|
|
16
|
+
* collide there. `cache` defaults to that shared map but accepts a `SceneAssetCache.bitmapFonts` from
|
|
17
|
+
* the caller, the same override every other scene asset loader takes.
|
|
18
|
+
*/
|
|
19
|
+
function loadFont(asset, resolveFileUrl, cache) {
|
|
20
|
+
const key = keyOf(asset);
|
|
21
|
+
let pending = cache.get(key);
|
|
22
|
+
if (pending === undefined) {
|
|
23
|
+
pending = (async () => {
|
|
24
|
+
const xmlUrl = resolveFileUrl(asset.files.xml.uri);
|
|
25
|
+
const textureUrl = resolveFileUrl(asset.files.texture.uri);
|
|
26
|
+
if (xmlUrl === undefined || textureUrl === undefined)
|
|
27
|
+
return undefined;
|
|
28
|
+
try {
|
|
29
|
+
const [xml, texture] = await Promise.all([fetch(xmlUrl).then((response) => response.text()), loadTexture(textureUrl)]);
|
|
30
|
+
const font = new BitmapFont({ data: bitmapFontXMLStringParser.parse(xml), textures: [texture] });
|
|
31
|
+
Cache.set(`${familyOf(asset.id)}-bitmap`, font);
|
|
32
|
+
return font;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.warn(`Unable to load bitmap font asset '${asset.id}'. Text using it will not render.`, error);
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
})();
|
|
39
|
+
cache.set(key, pending);
|
|
40
|
+
}
|
|
41
|
+
return pending;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Loads scene bitmap fonts before views are built, mirroring `loadSceneFonts`. Unlike a regular
|
|
45
|
+
* `FontFace`, PixiJS resolves a `BitmapText`'s font by looking up `Cache` for `${fontFamily}-bitmap`
|
|
46
|
+
* (see `BitmapFontManager.getFont`), so loading here means parsing the XML, building one `BitmapFont`
|
|
47
|
+
* from the already-fetched texture, and registering it in that cache — there is no URL-based loader
|
|
48
|
+
* to delegate to, since our XML and texture live at unrelated asset URIs, not a fixed relative pair.
|
|
49
|
+
*/
|
|
50
|
+
export async function loadSceneBitmapFonts(document, sceneId, resolveFileUrl, cache = sharedBitmapFontCache) {
|
|
51
|
+
const scene = document.scenes.find((item) => item.id === sceneId);
|
|
52
|
+
if (scene === undefined)
|
|
53
|
+
throw new Error(`Scene '${sceneId}' does not exist in the project document.`);
|
|
54
|
+
const ids = new Set(fromNodes(collectRenderedNodes(document, scene)));
|
|
55
|
+
const fonts = new Map();
|
|
56
|
+
await Promise.all([...ids].map(async (id) => {
|
|
57
|
+
const asset = document.assets.find((item) => item.id === id);
|
|
58
|
+
if (asset?.type !== "bitmapFont")
|
|
59
|
+
return;
|
|
60
|
+
const font = await loadFont(asset, resolveFileUrl, cache);
|
|
61
|
+
if (font !== undefined)
|
|
62
|
+
fonts.set(id, familyOf(asset.id));
|
|
63
|
+
}));
|
|
64
|
+
return fonts;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Resolves one glyph's already-cropped `Texture` from a bitmap font asset, for reuse as a plain image
|
|
68
|
+
* asset (an Image node, a Button/Checkbox state, ...) — see `BitmapFontAsset.frames`. `BitmapFont`
|
|
69
|
+
* builds one `Texture` per character up front (see its constructor), so this is a lookup, not a crop.
|
|
70
|
+
*/
|
|
71
|
+
export async function loadBitmapFontGlyphTexture(asset, glyph, resolveFileUrl, cache = sharedBitmapFontCache) {
|
|
72
|
+
const font = await loadFont(asset, resolveFileUrl, cache);
|
|
73
|
+
return font?.chars[glyph]?.texture;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=bitmapFonts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapFonts.js","sourceRoot":"","sources":["../../src/assets/bitmapFonts.ts"],"names":[],"mappings":"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"}
|
package/dist/assets/cache.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SkeletonData } from "@esotericsoftware/spine-pixi-v8";
|
|
2
2
|
import type { Sound } from "@pixi/sound";
|
|
3
|
-
import type { Spritesheet, Texture } from "pixi.js";
|
|
3
|
+
import type { BitmapFont, Spritesheet, Texture } from "pixi.js";
|
|
4
4
|
/**
|
|
5
5
|
* Разобранные ассеты, переиспользуемые между загрузками сцен и пресетов. Каждая карта ключуется URI
|
|
6
6
|
* файла ассета, а не его id: один и тот же файл, назначенный разным ассетам, скачивается и парсится один раз.
|
|
@@ -14,6 +14,8 @@ export interface SceneAssetCache {
|
|
|
14
14
|
spines: Map<string, SkeletonData>;
|
|
15
15
|
/** Обещание, а не готовое имя family: параллельные загрузки одного файла должны ждать один и тот же `FontFace.load()`. */
|
|
16
16
|
fonts: Map<string, Promise<string | undefined>>;
|
|
17
|
+
/** Обещание, а не готовый `BitmapFont`: по той же причине, что `fonts` — см. ниже. */
|
|
18
|
+
bitmapFonts: Map<string, Promise<BitmapFont | undefined>>;
|
|
17
19
|
sounds: Map<string, Sound>;
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
@@ -22,6 +24,8 @@ export interface SceneAssetCache {
|
|
|
22
24
|
* это кэш. Остальные ассеты живут в GPU-памяти вызывающей стороны и такого общего реестра не имеют.
|
|
23
25
|
*/
|
|
24
26
|
export declare const sharedFontCache: Map<string, Promise<string | undefined>>;
|
|
27
|
+
/** Та же причина, что у `sharedFontCache`: `loadSceneBitmapFonts` регистрирует шрифт в общем PixiJS `Cache`. */
|
|
28
|
+
export declare const sharedBitmapFontCache: Map<string, Promise<BitmapFont | undefined>>;
|
|
25
29
|
/** Создаёт пустой кэш ассетов. Шрифты по умолчанию разделяются со всеми остальными кэшами — см. `sharedFontCache`. */
|
|
26
30
|
export declare function createSceneAssetCache(): SceneAssetCache;
|
|
27
31
|
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/assets/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/assets/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClC,0HAA0H;IAC1H,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAChD,sFAAsF;IACtF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,0CAAiD,CAAC;AAE9E,gHAAgH;AAChH,eAAO,MAAM,qBAAqB,8CAAqD,CAAC;AAExF,sHAAsH;AACtH,wBAAgB,qBAAqB,IAAI,eAAe,CASvD"}
|
package/dist/assets/cache.js
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* это кэш. Остальные ассеты живут в GPU-памяти вызывающей стороны и такого общего реестра не имеют.
|
|
5
5
|
*/
|
|
6
6
|
export const sharedFontCache = new Map();
|
|
7
|
+
/** Та же причина, что у `sharedFontCache`: `loadSceneBitmapFonts` регистрирует шрифт в общем PixiJS `Cache`. */
|
|
8
|
+
export const sharedBitmapFontCache = new Map();
|
|
7
9
|
/** Создаёт пустой кэш ассетов. Шрифты по умолчанию разделяются со всеми остальными кэшами — см. `sharedFontCache`. */
|
|
8
10
|
export function createSceneAssetCache() {
|
|
9
11
|
return {
|
|
@@ -11,6 +13,7 @@ export function createSceneAssetCache() {
|
|
|
11
13
|
spritesheets: new Map(),
|
|
12
14
|
spines: new Map(),
|
|
13
15
|
fonts: sharedFontCache,
|
|
16
|
+
bitmapFonts: sharedBitmapFontCache,
|
|
14
17
|
sounds: new Map(),
|
|
15
18
|
};
|
|
16
19
|
}
|
package/dist/assets/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/assets/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/assets/cache.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuC,CAAC;AAE9E,gHAAgH;AAChH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA2C,CAAC;AAExF,sHAAsH;AACtH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,IAAI,GAAG,EAAE;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Texture } from "pixi.js";
|
|
2
|
+
/**
|
|
3
|
+
* Its own module (not `textures.ts`) so `textures.ts` and `bitmapFonts.ts` can both depend on it
|
|
4
|
+
* without importing from each other: `textures.ts` resolves bitmap font glyph frames through
|
|
5
|
+
* `bitmapFonts.ts`, which itself needs this same texture loader.
|
|
6
|
+
*/
|
|
7
|
+
/** Loads one texture from a data URI or a regular URL. */
|
|
8
|
+
export declare function loadTexture(url: string): Promise<Texture>;
|
|
9
|
+
//# sourceMappingURL=loadTexture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadTexture.d.ts","sourceRoot":"","sources":["../../src/assets/loadTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;GAIG;AAEH,0DAA0D;AAC1D,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Texture } from "pixi.js";
|
|
2
|
+
/**
|
|
3
|
+
* Its own module (not `textures.ts`) so `textures.ts` and `bitmapFonts.ts` can both depend on it
|
|
4
|
+
* without importing from each other: `textures.ts` resolves bitmap font glyph frames through
|
|
5
|
+
* `bitmapFonts.ts`, which itself needs this same texture loader.
|
|
6
|
+
*/
|
|
7
|
+
/** Loads one texture from a data URI or a regular URL. */
|
|
8
|
+
export async function loadTexture(url) {
|
|
9
|
+
const image = new Image();
|
|
10
|
+
image.src = url;
|
|
11
|
+
await image.decode();
|
|
12
|
+
return Texture.from(image);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=loadTexture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadTexture.js","sourceRoot":"","sources":["../../src/assets/loadTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;GAIG;AAEH,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAC1B,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACrB,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { type Asset, type ProjectDocument } from "@pixi-ui-editor/schema";
|
|
2
|
-
import { Spritesheet, Texture } from "pixi.js";
|
|
2
|
+
import { Spritesheet, type BitmapFont, type Texture } from "pixi.js";
|
|
3
|
+
import { loadTexture } from "./loadTexture.js";
|
|
3
4
|
export type AssetUrlResolver = (asset: Asset) => string | undefined;
|
|
4
5
|
export type FileUrlResolver = (uri: string) => string | undefined;
|
|
5
6
|
type AtlasAsset = Extract<Asset, {
|
|
6
7
|
type: "atlas";
|
|
7
8
|
}>;
|
|
8
|
-
|
|
9
|
-
export declare function loadTexture(url: string): Promise<Texture>;
|
|
9
|
+
export { loadTexture };
|
|
10
10
|
/** Loads and parses one atlas's Spritesheet, sharing the parse by the JSON file's URI. */
|
|
11
11
|
export declare function loadAtlasSpritesheet(asset: AtlasAsset, resolveFileUrl: FileUrlResolver, cache?: Map<string, Spritesheet>): Promise<Spritesheet>;
|
|
12
12
|
/** Loads textures for image nodes in a scene, resolving atlas frame ids through their Spritesheet. Leaves failed assets for placeholder rendering. */
|
|
13
|
-
export declare function loadSceneTextures(document: ProjectDocument, sceneId: string, resolveAssetUrl: AssetUrlResolver, resolveFileUrl: FileUrlResolver, cache?: Map<string, Texture>, spritesheetCache?: Map<string, Spritesheet
|
|
14
|
-
export {};
|
|
13
|
+
export declare function loadSceneTextures(document: ProjectDocument, sceneId: string, resolveAssetUrl: AssetUrlResolver, resolveFileUrl: FileUrlResolver, cache?: Map<string, Texture>, spritesheetCache?: Map<string, Spritesheet>, bitmapFontCache?: Map<string, Promise<BitmapFont | undefined>>): Promise<Map<string, Texture>>;
|
|
15
14
|
//# sourceMappingURL=textures.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textures.d.ts","sourceRoot":"","sources":["../../src/assets/textures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAwB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"textures.d.ts","sourceRoot":"","sources":["../../src/assets/textures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAwB,MAAM,SAAS,CAAC;AAK3F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAClE,KAAK,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,0FAA0F;AAC1F,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,eAAe,EAC/B,KAAK,GAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAa,GAC1C,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,sJAAsJ;AACtJ,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,gBAAgB,EACjC,cAAc,EAAE,eAAe,EAC/B,KAAK,GAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAa,EACvC,gBAAgB,GAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAa,EACtD,eAAe,GAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAyB,GACpF,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsD/B"}
|
package/dist/assets/textures.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { collectEffectAssetIds } from "@pixi-ui-editor/schema";
|
|
2
|
-
import { Spritesheet
|
|
2
|
+
import { Spritesheet } from "pixi.js";
|
|
3
3
|
import { collectRenderedNodes } from "../scene.js";
|
|
4
4
|
import { collectNodeAssetIds } from "../views/createNodeView.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
await image.decode();
|
|
10
|
-
return Texture.from(image);
|
|
11
|
-
}
|
|
5
|
+
import { loadBitmapFontGlyphTexture } from "./bitmapFonts.js";
|
|
6
|
+
import { sharedBitmapFontCache } from "./cache.js";
|
|
7
|
+
import { loadTexture } from "./loadTexture.js";
|
|
8
|
+
export { loadTexture };
|
|
12
9
|
/** Loads and parses one atlas's Spritesheet, sharing the parse by the JSON file's URI. */
|
|
13
10
|
export async function loadAtlasSpritesheet(asset, resolveFileUrl, cache = new Map()) {
|
|
14
11
|
const cached = cache.get(asset.files.json.uri);
|
|
@@ -28,17 +25,21 @@ export async function loadAtlasSpritesheet(asset, resolveFileUrl, cache = new Ma
|
|
|
28
25
|
return sheet;
|
|
29
26
|
}
|
|
30
27
|
/** Loads textures for image nodes in a scene, resolving atlas frame ids through their Spritesheet. Leaves failed assets for placeholder rendering. */
|
|
31
|
-
export async function loadSceneTextures(document, sceneId, resolveAssetUrl, resolveFileUrl, cache = new Map(), spritesheetCache = new Map()) {
|
|
28
|
+
export async function loadSceneTextures(document, sceneId, resolveAssetUrl, resolveFileUrl, cache = new Map(), spritesheetCache = new Map(), bitmapFontCache = sharedBitmapFontCache) {
|
|
32
29
|
const scene = document.scenes.find((candidate) => candidate.id === sceneId);
|
|
33
30
|
if (scene === undefined)
|
|
34
31
|
throw new Error(`Scene '${sceneId}' does not exist in the project document.`);
|
|
35
32
|
const assetsById = new Map(document.assets.map((asset) => [asset.id, asset]));
|
|
36
33
|
const framesById = new Map();
|
|
37
34
|
for (const asset of document.assets) {
|
|
38
|
-
if (asset.type
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
if (asset.type === "atlas") {
|
|
36
|
+
for (const [frameName, frameId] of Object.entries(asset.frames))
|
|
37
|
+
framesById.set(frameId, { kind: "atlas", atlas: asset, frameName });
|
|
38
|
+
}
|
|
39
|
+
else if (asset.type === "bitmapFont") {
|
|
40
|
+
for (const [frameName, frameId] of Object.entries(asset.frames ?? {}))
|
|
41
|
+
framesById.set(frameId, { kind: "bitmapFont", bitmapFont: asset, frameName });
|
|
42
|
+
}
|
|
42
43
|
}
|
|
43
44
|
const textures = new Map();
|
|
44
45
|
for (const node of collectRenderedNodes(document, scene)) {
|
|
@@ -68,16 +69,26 @@ export async function loadSceneTextures(document, sceneId, resolveAssetUrl, reso
|
|
|
68
69
|
if (frame === undefined)
|
|
69
70
|
continue;
|
|
70
71
|
try {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
if (frame.kind === "atlas") {
|
|
73
|
+
const sheet = await loadAtlasSpritesheet(frame.atlas, resolveFileUrl, spritesheetCache);
|
|
74
|
+
const frameTexture = sheet.textures[frame.frameName];
|
|
75
|
+
if (frameTexture === undefined) {
|
|
76
|
+
console.warn(`Atlas '${frame.atlas.id}' has no frame '${frame.frameName}'.`);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
textures.set(assetId, frameTexture);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
const glyphTexture = await loadBitmapFontGlyphTexture(frame.bitmapFont, frame.frameName, resolveFileUrl, bitmapFontCache);
|
|
83
|
+
if (glyphTexture === undefined) {
|
|
84
|
+
console.warn(`Bitmap font '${frame.bitmapFont.id}' has no glyph '${frame.frameName}'.`);
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
textures.set(assetId, glyphTexture);
|
|
76
88
|
}
|
|
77
|
-
textures.set(assetId, frameTexture);
|
|
78
89
|
}
|
|
79
90
|
catch (error) {
|
|
80
|
-
console.warn(`Unable to load
|
|
91
|
+
console.warn(`Unable to load frame texture for '${assetId}'.`, error);
|
|
81
92
|
}
|
|
82
93
|
}
|
|
83
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textures.js","sourceRoot":"","sources":["../../src/assets/textures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAoC,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"textures.js","sourceRoot":"","sources":["../../src/assets/textures.ts"],"names":[],"mappings":"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"}
|
package/dist/controls.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export declare function setSpineViewFrame(view: Container, frame: number, skelet
|
|
|
12
12
|
export declare function setButtonViewState(view: Container, state: ButtonStateKey): void;
|
|
13
13
|
/** Forces an editor-only checkbox checked state; the node's serialized `defaultChecked` stays untouched. */
|
|
14
14
|
export declare function setCheckboxViewChecked(view: Container, checked: boolean): void;
|
|
15
|
+
/** Forces an editor-only staged button preview stage; the document's `stages`/current stage stay untouched. */
|
|
16
|
+
export declare function setStagedButtonViewStage(view: Container, index: number): void;
|
|
17
|
+
/** Forces an editor-only staged button visual state; the node's serialized `enabled` stays untouched. */
|
|
18
|
+
export declare function setStagedButtonViewState(view: Container, state: ButtonStateKey): void;
|
|
15
19
|
/** Live-previews nine-slice border edits while dragging the canvas gizmo; commits only on release. */
|
|
16
20
|
export declare function previewNineSlice(view: Container, nineSlice: LayoutPadding): void;
|
|
17
21
|
/** Applies an editor-only slider preview value without touching the document. */
|
package/dist/controls.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../src/controls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../src/controls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAapC,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CASnJ;AAED,kHAAkH;AAClH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASrH;AAED,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAE/E;AAED,4GAA4G;AAC5G,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAE9E;AAED,+GAA+G;AAC/G,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE7E;AAED,yGAAyG;AACzG,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAErF;AAED,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAEhF;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEvE;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAElF;AAED,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAG7E"}
|
package/dist/controls.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Spine } from "@esotericsoftware/spine-pixi-v8";
|
|
2
2
|
import { ButtonNodeView } from "./views/ButtonNodeView.js";
|
|
3
3
|
import { CheckboxNodeView } from "./views/CheckboxNodeView.js";
|
|
4
|
+
import { StagedButtonNodeView } from "./views/StagedButtonNodeView.js";
|
|
4
5
|
import { ImageNodeView } from "./views/basic.js";
|
|
5
6
|
import { NodeView } from "./views/NodeView.js";
|
|
6
7
|
import { ProgressBarNodeView, SliderNodeView } from "./views/ValueControlNodeViews.js";
|
|
@@ -43,9 +44,19 @@ export function setCheckboxViewChecked(view, checked) {
|
|
|
43
44
|
if (view instanceof CheckboxNodeView)
|
|
44
45
|
view.forceCheck(checked);
|
|
45
46
|
}
|
|
47
|
+
/** Forces an editor-only staged button preview stage; the document's `stages`/current stage stay untouched. */
|
|
48
|
+
export function setStagedButtonViewStage(view, index) {
|
|
49
|
+
if (view instanceof StagedButtonNodeView)
|
|
50
|
+
view.forceStage(index);
|
|
51
|
+
}
|
|
52
|
+
/** Forces an editor-only staged button visual state; the node's serialized `enabled` stays untouched. */
|
|
53
|
+
export function setStagedButtonViewState(view, state) {
|
|
54
|
+
if (view instanceof StagedButtonNodeView)
|
|
55
|
+
view.setState(state);
|
|
56
|
+
}
|
|
46
57
|
/** Live-previews nine-slice border edits while dragging the canvas gizmo; commits only on release. */
|
|
47
58
|
export function previewNineSlice(view, nineSlice) {
|
|
48
|
-
if (view instanceof ImageNodeView || view instanceof ButtonNodeView)
|
|
59
|
+
if (view instanceof ImageNodeView || view instanceof ButtonNodeView || view instanceof StagedButtonNodeView)
|
|
49
60
|
view.previewNineSlice(nineSlice);
|
|
50
61
|
}
|
|
51
62
|
/** Applies an editor-only slider preview value without touching the document. */
|
package/dist/controls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../src/controls.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../src/controls.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from "./layoutGroups.js";
|
|
|
7
7
|
export * from "./scrollView.js";
|
|
8
8
|
export * from "./views/NodeView.js";
|
|
9
9
|
export { ButtonNodeView } from "./views/ButtonNodeView.js";
|
|
10
|
+
export { StagedButtonNodeView } from "./views/StagedButtonNodeView.js";
|
|
10
11
|
export { CheckboxNodeView } from "./views/CheckboxNodeView.js";
|
|
11
12
|
export { InputNodeView } from "./views/InputNodeView.js";
|
|
12
13
|
export { ScrollViewNodeView } from "./views/ScrollViewNodeView.js";
|
|
@@ -26,5 +27,6 @@ export type { SceneAssetCache } from "./assets/cache.js";
|
|
|
26
27
|
export * from "./assets/textures.js";
|
|
27
28
|
export * from "./assets/spine.js";
|
|
28
29
|
export * from "./assets/fonts.js";
|
|
30
|
+
export * from "./assets/bitmapFonts.js";
|
|
29
31
|
export * from "./assets/sounds.js";
|
|
30
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7E,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3K,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7E,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3K,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export * from "./layoutGroups.js";
|
|
|
5
5
|
export * from "./scrollView.js";
|
|
6
6
|
export * from "./views/NodeView.js";
|
|
7
7
|
export { ButtonNodeView } from "./views/ButtonNodeView.js";
|
|
8
|
+
export { StagedButtonNodeView } from "./views/StagedButtonNodeView.js";
|
|
8
9
|
export { CheckboxNodeView } from "./views/CheckboxNodeView.js";
|
|
9
10
|
export { InputNodeView } from "./views/InputNodeView.js";
|
|
10
11
|
export { ScrollViewNodeView } from "./views/ScrollViewNodeView.js";
|
|
@@ -21,5 +22,6 @@ export { createSceneAssetCache } from "./assets/cache.js";
|
|
|
21
22
|
export * from "./assets/textures.js";
|
|
22
23
|
export * from "./assets/spine.js";
|
|
23
24
|
export * from "./assets/fonts.js";
|
|
25
|
+
export * from "./assets/bitmapFonts.js";
|
|
24
26
|
export * from "./assets/sounds.js";
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3K,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3K,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.test.js
CHANGED
|
@@ -63,8 +63,10 @@ const NODE_TYPE_FIXTURES = {
|
|
|
63
63
|
"grid-layout": (base) => ({ ...base, type: "grid-layout", layoutGroup: { base: { padding: { left: 0, right: 0, top: 0, bottom: 0 }, spacingX: 0, spacingY: 0, cellWidth: 20, cellHeight: 20, startCorner: "upper-left", startAxis: "horizontal", childAlignment: "upper-left", constraint: "flexible" } } }),
|
|
64
64
|
image: (base) => ({ ...base, type: "image", assetId: ids.asset }),
|
|
65
65
|
text: (base) => ({ ...base, type: "text", text: "Label" }),
|
|
66
|
+
"bitmap-text": (base) => ({ ...base, type: "bitmap-text", text: "0", assetId: ids.asset, fontSize: 24, fill: "#FFFFFF", align: "left", verticalAlign: "top", letterSpacing: 0, wordWrap: false }),
|
|
66
67
|
spine: (base) => ({ ...base, type: "spine", assetId: ids.asset }),
|
|
67
68
|
button: (base) => ({ ...base, type: "button", enabled: true, states: { normalAssetId: ids.asset } }),
|
|
69
|
+
"staged-button": (base) => ({ ...base, type: "staged-button", enabled: true, wrap: true, stages: [{ id: "40000000-0000-4000-8000-0000000000fe", value: "1x", states: { normalAssetId: ids.asset } }], defaultStageId: "40000000-0000-4000-8000-0000000000fe" }),
|
|
68
70
|
checkbox: (base) => ({ ...base, type: "checkbox", enabled: true, defaultChecked: false, states: { uncheckedAssetId: ids.asset, checkedAssetId: ids.asset } }),
|
|
69
71
|
"prefab-instance": (base) => ({ ...base, type: "prefab-instance", prefabId: "40000000-0000-4000-8000-00000000000f" }),
|
|
70
72
|
"scroll-view": (base) => ({ ...base, type: "scroll-view", scrollView: { direction: "vertical", padding: { left: 0, right: 0, top: 0, bottom: 0 }, itemSpacing: 0, cornerRadius: 0, easingEnabled: true } }),
|