@pixi-ui-editor/schema 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.
@@ -1 +1 @@
1
- {"version":3,"file":"assetPaths.d.ts","sourceRoot":"","sources":["../src/assetPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAyBxC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,yHAAyH;AACzH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAG5F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAG3F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAG5F;AAED,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAE5E;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,6HAA6H;AAC7H,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,EAAE,CAetE;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAavD"}
1
+ {"version":3,"file":"assetPaths.d.ts","sourceRoot":"","sources":["../src/assetPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAyBxC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,yHAAyH;AACzH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAG5F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAG3F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAG5F;AAED,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAE5E;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,6HAA6H;AAC7H,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,EAAE,CAqBtE;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAkBvD"}
@@ -63,6 +63,12 @@ export function collectAssetFileEntries(asset) {
63
63
  { path: assetFilePath(asset, asset.files.texture.name), fileName: asset.files.texture.name, mediaType: asset.files.texture.mediaType, uri: asset.files.texture.uri },
64
64
  ];
65
65
  }
66
+ if (asset.type === "bitmapFont") {
67
+ return [
68
+ { path: assetFilePath(asset, asset.files.xml.name), fileName: asset.files.xml.name, mediaType: asset.files.xml.mediaType, uri: asset.files.xml.uri },
69
+ { path: assetFilePath(asset, asset.files.texture.name), fileName: asset.files.texture.name, mediaType: asset.files.texture.mediaType, uri: asset.files.texture.uri },
70
+ ];
71
+ }
66
72
  return [
67
73
  { path: assetFilePath(asset, asset.files.skeleton.name), fileName: asset.files.skeleton.name, mediaType: asset.files.skeleton.mediaType, uri: asset.files.skeleton.uri },
68
74
  { path: assetFilePath(asset, asset.files.atlas.name), fileName: asset.files.atlas.name, mediaType: asset.files.atlas.mediaType, uri: asset.files.atlas.uri },
@@ -80,6 +86,11 @@ export function rewriteAssetFileUris(asset) {
80
86
  asset.files.texture.uri = assetFilePath(asset, asset.files.texture.name);
81
87
  return;
82
88
  }
89
+ if (asset.type === "bitmapFont") {
90
+ asset.files.xml.uri = assetFilePath(asset, asset.files.xml.name);
91
+ asset.files.texture.uri = assetFilePath(asset, asset.files.texture.name);
92
+ return;
93
+ }
83
94
  asset.files.skeleton.uri = assetFilePath(asset, asset.files.skeleton.name);
84
95
  asset.files.atlas.uri = assetFilePath(asset, asset.files.atlas.name);
85
96
  for (const texture of asset.files.textures)
@@ -1 +1 @@
1
- {"version":3,"file":"assetPaths.js","sourceRoot":"","sources":["../src/assetPaths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assetPaths.js","sourceRoot":"","sources":["../src/assetPaths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { UINode } from "./index.js";
2
+ import type { MaterializedPrefabNodeOrigin } from "./prefabs.js";
3
+ /**
4
+ * Единственная реализация группировки binding-ключей: и validation документа, и Inspector спрашивают
5
+ * именно её, поэтому «ключ занят» в UI и «ключ дублируется» в документе не могут разойтись.
6
+ *
7
+ * На вход идут materialized-ноды владельца (`resolveOwnerNodeGraph`), а не сырые `owner.nodes`: ключ
8
+ * принадлежит конкретному view, поэтому нода внутри prefab-инстанса участвует в проверке наравне с
9
+ * обычной нодой сцены. Ключ группируется по trimmed-значению; пустая строка остаётся отдельной
10
+ * группой, чтобы вызывающий отличил «ключа нет» от «ключ состоит из пробелов».
11
+ */
12
+ export declare function collectBindingKeys(nodes: readonly UINode[]): Map<string, string[]>;
13
+ /** Область владельца: собственные узлы сцены или определения пресета. Инстанс адресуется своим id. */
14
+ export declare const OWNER_BINDING_KEY_SCOPE = "";
15
+ /**
16
+ * Разбивает materialized-граф владельца на области, внутри которых ключ обязан быть уникальным.
17
+ * Область — это то, относительно чего ключ разрешается, а не весь граф целиком: развёрнутое из
18
+ * определения поддерево принадлежит своему инстансу, потому что игровой код спрашивает такой ключ
19
+ * у конкретного инстанса (`materializedPrefabNodeId`), а не у сцены. Иначе пресет с ключом внутри
20
+ * нельзя было бы разместить на сцене дважды: второй инстанс тиражировал бы тот же ключ.
21
+ *
22
+ * Локально добавленный узел попадает сразу в две области: он существует в единственном экземпляре и
23
+ * авторится на сцене, поэтому участвует в области владельца, но живёт внутри инстанса, поэтому не
24
+ * должен сталкиваться с унаследованными ключами того же инстанса.
25
+ */
26
+ export declare function collectBindingKeyScopes(graph: {
27
+ readonly nodes: readonly UINode[];
28
+ readonly origins: ReadonlyMap<string, MaterializedPrefabNodeOrigin>;
29
+ }): Map<string, UINode[]>;
30
+ //# sourceMappingURL=bindingKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindingKeys.d.ts","sourceRoot":"","sources":["../src/bindingKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEjE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAUlF;AAED,sGAAsG;AACtG,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;CAAE,GAChH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAgBvB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Единственная реализация группировки binding-ключей: и validation документа, и Inspector спрашивают
3
+ * именно её, поэтому «ключ занят» в UI и «ключ дублируется» в документе не могут разойтись.
4
+ *
5
+ * На вход идут materialized-ноды владельца (`resolveOwnerNodeGraph`), а не сырые `owner.nodes`: ключ
6
+ * принадлежит конкретному view, поэтому нода внутри prefab-инстанса участвует в проверке наравне с
7
+ * обычной нодой сцены. Ключ группируется по trimmed-значению; пустая строка остаётся отдельной
8
+ * группой, чтобы вызывающий отличил «ключа нет» от «ключ состоит из пробелов».
9
+ */
10
+ export function collectBindingKeys(nodes) {
11
+ const keys = new Map();
12
+ for (const node of nodes) {
13
+ if (node.bindingKey === undefined)
14
+ continue;
15
+ const key = node.bindingKey.trim();
16
+ const owners = keys.get(key);
17
+ if (owners === undefined)
18
+ keys.set(key, [node.id]);
19
+ else
20
+ owners.push(node.id);
21
+ }
22
+ return keys;
23
+ }
24
+ /** Область владельца: собственные узлы сцены или определения пресета. Инстанс адресуется своим id. */
25
+ export const OWNER_BINDING_KEY_SCOPE = "";
26
+ /**
27
+ * Разбивает materialized-граф владельца на области, внутри которых ключ обязан быть уникальным.
28
+ * Область — это то, относительно чего ключ разрешается, а не весь граф целиком: развёрнутое из
29
+ * определения поддерево принадлежит своему инстансу, потому что игровой код спрашивает такой ключ
30
+ * у конкретного инстанса (`materializedPrefabNodeId`), а не у сцены. Иначе пресет с ключом внутри
31
+ * нельзя было бы разместить на сцене дважды: второй инстанс тиражировал бы тот же ключ.
32
+ *
33
+ * Локально добавленный узел попадает сразу в две области: он существует в единственном экземпляре и
34
+ * авторится на сцене, поэтому участвует в области владельца, но живёт внутри инстанса, поэтому не
35
+ * должен сталкиваться с унаследованными ключами того же инстанса.
36
+ */
37
+ export function collectBindingKeyScopes(graph) {
38
+ const scopes = new Map([[OWNER_BINDING_KEY_SCOPE, []]]);
39
+ const push = (scope, node) => {
40
+ const existing = scopes.get(scope);
41
+ if (existing === undefined)
42
+ scopes.set(scope, [node]);
43
+ else
44
+ existing.push(node);
45
+ };
46
+ for (const node of graph.nodes) {
47
+ const origin = graph.origins.get(node.id);
48
+ if (origin === undefined)
49
+ push(OWNER_BINDING_KEY_SCOPE, node);
50
+ else {
51
+ push(origin.instanceId, node);
52
+ if (origin.kind === "local")
53
+ push(OWNER_BINDING_KEY_SCOPE, node);
54
+ }
55
+ }
56
+ return scopes;
57
+ }
58
+ //# sourceMappingURL=bindingKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindingKeys.js","sourceRoot":"","sources":["../src/bindingKeys.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;;YAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAiH;IAEjH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,CAAC,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;YACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aACzD,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}