@pixi-ui-editor/schema 0.5.0 → 0.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/dist/assetPaths.js.map +1 -1
- package/dist/assetPaths.test.js.map +1 -1
- package/dist/bindingKeys.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test-fixtures.js.map +1 -1
- package/dist/index.test.js.map +1 -1
- package/dist/localization.js.map +1 -1
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.test.js.map +1 -1
- package/dist/prefabs.js.map +1 -1
- package/package.json +1 -1
package/dist/assetPaths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetPaths.js","sourceRoot":"","sources":["../src/assetPaths.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,gBAAgB,GAA2B;IAC/C,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,MAAM;IACvB,YAAY,EAAE,OAAO;CACtB,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,aAAa,CAAC,KAAsD;IAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;IAChI,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAsD;IACjF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACjE,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAsD;IAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;IAChI,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC;AACnD,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,kBAAkB,CAAC,KAAiC;IAClE,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;AACnD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,KAAiC,EAAE,QAAgB;IAC/E,OAAO,UAAU,kBAAkB,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;AAC3D,CAAC;AAID,6HAA6H;AAC7H,MAAM,UAAU,uBAAuB,CAAC,KAAY;IAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAAC,CAAC;IAC7L,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAAC,CAAC;IAC3L,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAAC,CAAC;IAC7L,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACxJ,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;SACrK,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO;YACL,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACpJ,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;SACrK,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;QACxK,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QAC5J,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;KACjK,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAAC,KAAY;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9E,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5J,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3E,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC"}
|
|
1
|
+
{"version":3,"file":"assetPaths.js","sourceRoot":"","sources":["../src/assetPaths.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Asset } from \"./index.js\";\r\n\r\n/**\r\n * Single source of truth for `Asset -> project folder relative path` naming, shared by the exported ZIP\r\n * package (`apps/editor-web/src/shared/exportPackage.ts`) and the IndexedDB working copy (`projectStore`):\r\n * both must resolve the same asset to the same `assets/<assetName>_<assetId>/<fileName>` path.\r\n */\r\n\r\nconst IMAGE_EXTENSIONS: Record<string, string> = {\r\n \"image/png\": \".png\",\r\n \"image/jpeg\": \".jpg\",\r\n \"image/webp\": \".webp\",\r\n \"image/gif\": \".gif\",\r\n \"image/svg+xml\": \".svg\",\r\n \"image/avif\": \".avif\",\r\n};\r\n\r\nconst SOUND_EXTENSIONS: Record<string, string> = {\r\n \"audio/wav\": \".wav\",\r\n \"audio/mpeg\": \".mp3\",\r\n \"audio/ogg\": \".ogg\",\r\n \"audio/aac\": \".aac\",\r\n \"audio/mp4\": \".m4a\",\r\n};\r\n\r\nexport function sanitizeName(name: string): string {\r\n const safe = name.replace(/[^\\p{L}\\p{N}._-]+/gu, \"-\").replace(/^-+|-+$/g, \"\");\r\n return safe === \"\" ? \"file\" : safe;\r\n}\r\n\r\n/** Image/font/sound assets have no uploaded file name, so the file name is the asset name plus a mediaType extension. */\r\nexport function imageFileName(asset: { name: string; source: { mediaType: string } }): string {\r\n const extension = IMAGE_EXTENSIONS[asset.source.mediaType] ?? `.${sanitizeName(asset.source.mediaType.split(\"/\")[1] ?? \"bin\")}`;\r\n return `${sanitizeName(asset.name)}${extension}`;\r\n}\r\n\r\nexport function fontFileName(asset: { name: string; source: { mediaType: string } }): string {\r\n const extension = asset.source.mediaType.split(\"/\")[1] ?? \"font\";\r\n return `${sanitizeName(asset.name)}.${sanitizeName(extension)}`;\r\n}\r\n\r\nexport function soundFileName(asset: { name: string; source: { mediaType: string } }): string {\r\n const extension = SOUND_EXTENSIONS[asset.source.mediaType] ?? `.${sanitizeName(asset.source.mediaType.split(\"/\")[1] ?? \"bin\")}`;\r\n return `${sanitizeName(asset.name)}${extension}`;\r\n}\r\n\r\n/** Human-readable, collision-safe directory name for an asset. Stable ID remains the identity boundary. */\r\nexport function assetDirectoryName(asset: Pick<Asset, \"id\" | \"name\">): string {\r\n return `${sanitizeName(asset.name)}_${asset.id}`;\r\n}\r\n\r\n/** Package-relative path for one asset file. */\r\nexport function assetFilePath(asset: Pick<Asset, \"id\" | \"name\">, fileName: string): string {\r\n return `assets/${assetDirectoryName(asset)}/${fileName}`;\r\n}\r\n\r\nexport type AssetFileEntry = { path: string; fileName: string; mediaType: string; uri: string };\r\n\r\n/** Every relative-path file entry an asset owns: multi-file assets (atlas/Spine) keep their original uploaded file names. */\r\nexport function collectAssetFileEntries(asset: Asset): AssetFileEntry[] {\r\n if (asset.type === \"image\") { const fileName = imageFileName(asset); return [{ path: assetFilePath(asset, fileName), fileName, mediaType: asset.source.mediaType, uri: asset.source.uri }]; }\r\n if (asset.type === \"font\") { const fileName = fontFileName(asset); return [{ path: assetFilePath(asset, fileName), fileName, mediaType: asset.source.mediaType, uri: asset.source.uri }]; }\r\n if (asset.type === \"sound\") { const fileName = soundFileName(asset); return [{ path: assetFilePath(asset, fileName), fileName, mediaType: asset.source.mediaType, uri: asset.source.uri }]; }\r\n if (asset.type === \"atlas\") {\r\n return [\r\n { path: assetFilePath(asset, asset.files.json.name), fileName: asset.files.json.name, mediaType: asset.files.json.mediaType, uri: asset.files.json.uri },\r\n { path: assetFilePath(asset, asset.files.texture.name), fileName: asset.files.texture.name, mediaType: asset.files.texture.mediaType, uri: asset.files.texture.uri },\r\n ];\r\n }\r\n if (asset.type === \"bitmapFont\") {\r\n return [\r\n { path: assetFilePath(asset, asset.files.xml.name), fileName: asset.files.xml.name, mediaType: asset.files.xml.mediaType, uri: asset.files.xml.uri },\r\n { path: assetFilePath(asset, asset.files.texture.name), fileName: asset.files.texture.name, mediaType: asset.files.texture.mediaType, uri: asset.files.texture.uri },\r\n ];\r\n }\r\n return [\r\n { path: assetFilePath(asset, asset.files.skeleton.name), fileName: asset.files.skeleton.name, mediaType: asset.files.skeleton.mediaType, uri: asset.files.skeleton.uri },\r\n { path: assetFilePath(asset, asset.files.atlas.name), fileName: asset.files.atlas.name, mediaType: asset.files.atlas.mediaType, uri: asset.files.atlas.uri },\r\n ...asset.files.textures.map((texture) => ({ path: assetFilePath(asset, texture.name), fileName: texture.name, mediaType: texture.mediaType, uri: texture.uri })),\r\n ];\r\n}\r\n\r\n/** Rewrites every URI owned by an asset to its canonical package-relative location. */\r\nexport function rewriteAssetFileUris(asset: Asset): void {\r\n if (asset.type === \"image\" || asset.type === \"font\" || asset.type === \"sound\") {\r\n asset.source.uri = assetFilePath(asset, asset.type === \"image\" ? imageFileName(asset) : asset.type === \"font\" ? fontFileName(asset) : soundFileName(asset));\r\n return;\r\n }\r\n if (asset.type === \"atlas\") {\r\n asset.files.json.uri = assetFilePath(asset, asset.files.json.name);\r\n asset.files.texture.uri = assetFilePath(asset, asset.files.texture.name);\r\n return;\r\n }\r\n if (asset.type === \"bitmapFont\") {\r\n asset.files.xml.uri = assetFilePath(asset, asset.files.xml.name);\r\n asset.files.texture.uri = assetFilePath(asset, asset.files.texture.name);\r\n return;\r\n }\r\n asset.files.skeleton.uri = assetFilePath(asset, asset.files.skeleton.name);\r\n asset.files.atlas.uri = assetFilePath(asset, asset.files.atlas.name);\r\n for (const texture of asset.files.textures) texture.uri = assetFilePath(asset, texture.name);\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetPaths.test.js","sourceRoot":"","sources":["../src/assetPaths.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGxF,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAEvD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxG,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,OAAO,gBAAgB,CAAC,CAAC;IACzL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qGAAqG,EAAE,GAAG,EAAE;QAC7G,MAAM,KAAK,GAAU;YACnB,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,sBAAsB,EAAE,SAAS,EAAE,kBAAkB,EAAE;gBAC3F,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE;aACtF;YACD,MAAM,EAAE,EAAE;SACX,CAAC;QACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7C,EAAE,IAAI,EAAE,wBAAwB,OAAO,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,EAAE,sBAAsB,EAAE;YAChJ,EAAE,IAAI,EAAE,wBAAwB,OAAO,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAqB,EAAE;SACvI,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"assetPaths.test.js","sourceRoot":"","sources":["../src/assetPaths.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGxF,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAEvD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxG,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,OAAO,gBAAgB,CAAC,CAAC;IACzL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qGAAqG,EAAE,GAAG,EAAE;QAC7G,MAAM,KAAK,GAAU;YACnB,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,sBAAsB,EAAE,SAAS,EAAE,kBAAkB,EAAE;gBAC3F,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE;aACtF;YACD,MAAM,EAAE,EAAE;SACX,CAAC;QACF,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7C,EAAE,IAAI,EAAE,wBAAwB,OAAO,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,EAAE,sBAAsB,EAAE;YAChJ,EAAE,IAAI,EAAE,wBAAwB,OAAO,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAqB,EAAE;SACvI,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, expect, it } from \"vitest\";\r\nimport { assetFilePath, collectAssetFileEntries, imageFileName } from \"./assetPaths.js\";\r\nimport type { Asset } from \"./index.js\";\r\n\r\nconst assetId = \"30000000-0000-4000-8000-000000000001\";\r\n\r\ndescribe(\"asset file naming\", () => {\r\n it(\"derives an image file name from the sanitized asset name and its mediaType extension\", () => {\r\n expect(imageFileName({ name: \"Hero Icon\", source: { mediaType: \"image/jpeg\" } })).toBe(\"Hero-Icon.jpg\");\r\n expect(assetFilePath({ id: assetId, name: \"Hero Icon\" }, imageFileName({ name: \"Hero Icon\", source: { mediaType: \"image/jpeg\" } }))).toBe(`assets/Hero-Icon_${assetId}/Hero-Icon.jpg`);\n });\r\n\r\n it(\"keeps atlas/Spine file names as uploaded when composing their relative path, matching export output\", () => {\r\n const atlas: Asset = {\r\n id: assetId,\r\n name: \"Sparkle Sheet\",\r\n type: \"atlas\",\r\n files: {\r\n json: { name: \"sparkles.json\", uri: \"assets/sparkles.json\", mediaType: \"application/json\" },\r\n texture: { name: \"sparkles.png\", uri: \"assets/sparkles.png\", mediaType: \"image/png\" },\r\n },\r\n frames: {},\r\n };\r\n expect(collectAssetFileEntries(atlas)).toEqual([\r\n { path: `assets/Sparkle-Sheet_${assetId}/sparkles.json`, fileName: \"sparkles.json\", mediaType: \"application/json\", uri: \"assets/sparkles.json\" },\n { path: `assets/Sparkle-Sheet_${assetId}/sparkles.png`, fileName: \"sparkles.png\", mediaType: \"image/png\", uri: \"assets/sparkles.png\" },\n ]);\r\n });\r\n});\r\n"]}
|
package/dist/bindingKeys.js.map
CHANGED
|
@@ -1 +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"}
|
|
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","sourcesContent":["import type { UINode } from \"./index.js\";\nimport type { MaterializedPrefabNodeOrigin } from \"./prefabs.js\";\n\n/**\n * Единственная реализация группировки binding-ключей: и validation документа, и Inspector спрашивают\n * именно её, поэтому «ключ занят» в UI и «ключ дублируется» в документе не могут разойтись.\n *\n * На вход идут materialized-ноды владельца (`resolveOwnerNodeGraph`), а не сырые `owner.nodes`: ключ\n * принадлежит конкретному view, поэтому нода внутри prefab-инстанса участвует в проверке наравне с\n * обычной нодой сцены. Ключ группируется по trimmed-значению; пустая строка остаётся отдельной\n * группой, чтобы вызывающий отличил «ключа нет» от «ключ состоит из пробелов».\n */\nexport function collectBindingKeys(nodes: readonly UINode[]): Map<string, string[]> {\n const keys = new Map<string, string[]>();\n for (const node of nodes) {\n if (node.bindingKey === undefined) continue;\n const key = node.bindingKey.trim();\n const owners = keys.get(key);\n if (owners === undefined) keys.set(key, [node.id]);\n else owners.push(node.id);\n }\n return keys;\n}\n\n/** Область владельца: собственные узлы сцены или определения пресета. Инстанс адресуется своим id. */\nexport const OWNER_BINDING_KEY_SCOPE = \"\";\n\n/**\n * Разбивает materialized-граф владельца на области, внутри которых ключ обязан быть уникальным.\n * Область — это то, относительно чего ключ разрешается, а не весь граф целиком: развёрнутое из\n * определения поддерево принадлежит своему инстансу, потому что игровой код спрашивает такой ключ\n * у конкретного инстанса (`materializedPrefabNodeId`), а не у сцены. Иначе пресет с ключом внутри\n * нельзя было бы разместить на сцене дважды: второй инстанс тиражировал бы тот же ключ.\n *\n * Локально добавленный узел попадает сразу в две области: он существует в единственном экземпляре и\n * авторится на сцене, поэтому участвует в области владельца, но живёт внутри инстанса, поэтому не\n * должен сталкиваться с унаследованными ключами того же инстанса.\n */\nexport function collectBindingKeyScopes(\n graph: { readonly nodes: readonly UINode[]; readonly origins: ReadonlyMap<string, MaterializedPrefabNodeOrigin> },\n): Map<string, UINode[]> {\n const scopes = new Map<string, UINode[]>([[OWNER_BINDING_KEY_SCOPE, []]]);\n const push = (scope: string, node: UINode) => {\n const existing = scopes.get(scope);\n if (existing === undefined) scopes.set(scope, [node]);\n else existing.push(node);\n };\n for (const node of graph.nodes) {\n const origin = graph.origins.get(node.id);\n if (origin === undefined) push(OWNER_BINDING_KEY_SCOPE, node);\n else {\n push(origin.instanceId, node);\n if (origin.kind === \"local\") push(OWNER_BINDING_KEY_SCOPE, node);\n }\n }\n return scopes;\n}\n"]}
|