babylonjs-editor-cli 5.4.1-rc.8 → 5.4.2-alpha.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/bin/babylonjs-editor-cli.js +0 -0
- package/build/index.node.js +53 -53
- package/build/package.json +1 -1
- package/build/src/index.mjs +8 -2
- package/build/src/index.mjs.map +1 -1
- package/build/src/pack/assets/assets.mjs.map +1 -1
- package/build/src/pack/assets/collect.mjs +58 -8
- package/build/src/pack/assets/collect.mjs.map +1 -1
- package/build/src/pack/assets/ktx.mjs +43 -8
- package/build/src/pack/assets/ktx.mjs.map +1 -1
- package/build/src/pack/assets/process.mjs +5 -5
- package/build/src/pack/assets/process.mjs.map +1 -1
- package/build/src/pack/assets/texture.mjs.map +1 -1
- package/build/src/pack/geometry.mjs +102 -6
- package/build/src/pack/geometry.mjs.map +1 -1
- package/build/src/pack/pack.mjs +12 -2
- package/build/src/pack/pack.mjs.map +1 -1
- package/build/src/pack/scene.mjs +117 -15
- package/build/src/pack/scene.mjs.map +1 -1
- package/build/src/pack/scripts.mjs +3 -1
- package/build/src/pack/scripts.mjs.map +1 -1
- package/build/src/tools/array.mjs +25 -0
- package/build/src/tools/array.mjs.map +1 -0
- package/declaration/src/pack/assets/assets.d.mts +3 -0
- package/declaration/src/pack/assets/ktx.d.mts +4 -1
- package/declaration/src/pack/assets/process.d.mts +8 -0
- package/declaration/src/pack/assets/texture.d.mts +4 -0
- package/declaration/src/pack/geometry.d.mts +16 -0
- package/declaration/src/pack/pack.d.mts +2 -0
- package/declaration/src/pack/scene.d.mts +4 -0
- package/declaration/src/tools/array.d.mts +9 -0
- package/package.json +1 -1
package/build/src/pack/scene.mjs
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { join, basename, extname } from "node:path/posix";
|
|
2
2
|
import fs, { pathExists } from "fs-extra";
|
|
3
|
+
import { isSameArray } from "../tools/array.mjs";
|
|
3
4
|
import { compressFileToKtx } from "./assets/ktx.mjs";
|
|
4
5
|
import { collectUsedAssetsForScene } from "./assets/collect.mjs";
|
|
5
6
|
import { extractNodeMaterialTextures } from "./assets/material.mjs";
|
|
6
7
|
import { getExtractedTextureOutputPath } from "./assets/texture.mjs";
|
|
7
8
|
import { extractNodeParticleSystemSetTextures, extractParticleSystemTextures } from "./assets/particle-system.mjs";
|
|
9
|
+
import { configureMeshBinaryInfo } from "./geometry.mjs";
|
|
8
10
|
export async function createBabylonScene(options) {
|
|
9
11
|
const lights = [];
|
|
10
12
|
const meshes = [];
|
|
@@ -16,17 +18,32 @@ export async function createBabylonScene(options) {
|
|
|
16
18
|
const particleSystems = [];
|
|
17
19
|
const shadowGenerators = [];
|
|
18
20
|
const morphTargetManagers = [];
|
|
21
|
+
let geometriesOffset = 0;
|
|
22
|
+
let geometriesPath = null;
|
|
23
|
+
const collectedGeometries = [];
|
|
19
24
|
// Merged decals
|
|
20
25
|
let mergedDecalsIds = [];
|
|
21
26
|
const mergedDecalsPath = join(options.sceneFile, "decals.json");
|
|
22
|
-
if (await pathExists(mergedDecalsPath)) {
|
|
27
|
+
if (options.mergeDecals && (await pathExists(mergedDecalsPath))) {
|
|
23
28
|
const mergedDecals = await fs.readJSON(mergedDecalsPath, {
|
|
24
29
|
encoding: "utf-8",
|
|
25
30
|
});
|
|
26
|
-
mergedDecals.
|
|
27
|
-
|
|
31
|
+
await Promise.all(mergedDecals.map(async (mesh) => {
|
|
32
|
+
if (mesh.delayLoadingFile) {
|
|
33
|
+
collectedGeometries.push({
|
|
34
|
+
mesh,
|
|
35
|
+
buffer: await fs.readFile(join(options.sceneFile, "geometries", basename(mesh.delayLoadingFile))),
|
|
36
|
+
});
|
|
37
|
+
if (options.mergeGeometries) {
|
|
38
|
+
geometriesPath ??= join(options.sceneName, basename(mesh.delayLoadingFile));
|
|
39
|
+
mesh.delayLoadingFile = geometriesPath;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
mesh.delayLoadingFile = join(options.sceneName, basename(mesh.delayLoadingFile));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
28
45
|
meshes.push(mesh);
|
|
29
|
-
});
|
|
46
|
+
}));
|
|
30
47
|
mergedDecalsIds = mergedDecals.map((m) => m.metadata?.mergedMeshesIds ?? []).flat();
|
|
31
48
|
}
|
|
32
49
|
// Meshes
|
|
@@ -36,8 +53,21 @@ export async function createBabylonScene(options) {
|
|
|
36
53
|
if (mesh.metadata?.doNotSerialize) {
|
|
37
54
|
return null;
|
|
38
55
|
}
|
|
56
|
+
const isDecal = mesh.metadata?.decal && options.mergeDecals && mergedDecalsIds.includes(mesh.id);
|
|
39
57
|
if (mesh.delayLoadingFile) {
|
|
40
|
-
|
|
58
|
+
if (!isDecal) {
|
|
59
|
+
collectedGeometries.push({
|
|
60
|
+
mesh,
|
|
61
|
+
buffer: await fs.readFile(join(options.sceneFile, "geometries", basename(mesh.delayLoadingFile))),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
if (options.mergeGeometries) {
|
|
65
|
+
geometriesPath ??= join(options.sceneName, basename(mesh.delayLoadingFile));
|
|
66
|
+
mesh.delayLoadingFile = geometriesPath;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
mesh.delayLoadingFile = join(options.sceneName, basename(mesh.delayLoadingFile));
|
|
70
|
+
}
|
|
41
71
|
}
|
|
42
72
|
if (mesh.metadata?.parentId) {
|
|
43
73
|
mesh.parentId = mesh.metadata.parentId;
|
|
@@ -79,7 +109,17 @@ export async function createBabylonScene(options) {
|
|
|
79
109
|
const lodData = await fs.readJSON(join(options.sceneFile, "lods", lodFile));
|
|
80
110
|
const lodMesh = lodData.meshes[0];
|
|
81
111
|
if (lodMesh.delayLoadingFile) {
|
|
82
|
-
|
|
112
|
+
collectedGeometries.push({
|
|
113
|
+
mesh: lodMesh,
|
|
114
|
+
buffer: await fs.readFile(join(options.sceneFile, "geometries", basename(lodMesh.delayLoadingFile))),
|
|
115
|
+
});
|
|
116
|
+
if (options.mergeGeometries) {
|
|
117
|
+
geometriesPath ??= join(options.sceneName, basename(lodMesh.delayLoadingFile));
|
|
118
|
+
lodMesh.delayLoadingFile = geometriesPath;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
lodMesh.delayLoadingFile = join(options.sceneName, basename(lodMesh.delayLoadingFile));
|
|
122
|
+
}
|
|
83
123
|
}
|
|
84
124
|
if (data.basePoseMatrix) {
|
|
85
125
|
lodMesh.basePoseMatrix = data.basePoseMatrix;
|
|
@@ -95,7 +135,7 @@ export async function createBabylonScene(options) {
|
|
|
95
135
|
mesh.lodDistances.push(lodData.distanceOrScreenCoverage);
|
|
96
136
|
});
|
|
97
137
|
}
|
|
98
|
-
if (
|
|
138
|
+
if (isDecal) {
|
|
99
139
|
return {
|
|
100
140
|
lodMeshes,
|
|
101
141
|
effectiveMaterials,
|
|
@@ -420,37 +460,99 @@ export async function createBabylonScene(options) {
|
|
|
420
460
|
scene.environmentTextureRotationY = scene.environmentTexture.rotationY;
|
|
421
461
|
scene.environmentTexture = scene.environmentTexture.name;
|
|
422
462
|
}
|
|
463
|
+
// Manage usedfiles
|
|
464
|
+
const usedFiles = await collectUsedAssetsForScene(scene, options.publicDir);
|
|
465
|
+
usedFiles.push(`${options.sceneName}.babylon`);
|
|
466
|
+
const geometryFiles = usedFiles.filter((file) => extname(file).toLowerCase() === ".babylonbinarymeshdata").map((file) => basename(file));
|
|
467
|
+
const sameArrays = new Map();
|
|
468
|
+
for (let i = 0, iLen = collectedGeometries.length; i < iLen; ++i) {
|
|
469
|
+
const a = collectedGeometries[i];
|
|
470
|
+
for (let j = i + 1, jLen = collectedGeometries.length; j < jLen; ++j) {
|
|
471
|
+
const b = collectedGeometries[j];
|
|
472
|
+
if (isSameArray(a.buffer, b.buffer)) {
|
|
473
|
+
// Search for existing mesh
|
|
474
|
+
let foundMesh = false;
|
|
475
|
+
for (const [, meshes] of sameArrays.entries()) {
|
|
476
|
+
if (meshes.includes(b.mesh)) {
|
|
477
|
+
foundMesh = true;
|
|
478
|
+
break;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
if (foundMesh) {
|
|
482
|
+
continue;
|
|
483
|
+
}
|
|
484
|
+
if (!sameArrays.has(a.buffer)) {
|
|
485
|
+
sameArrays.set(a.buffer, [a.mesh]);
|
|
486
|
+
}
|
|
487
|
+
sameArrays.get(a.buffer).push(b.mesh);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
const finalGeometryBuffers = [];
|
|
492
|
+
if (options.mergeGeometries) {
|
|
493
|
+
for (const data of collectedGeometries) {
|
|
494
|
+
if (sameArrays.has(data.buffer)) {
|
|
495
|
+
continue;
|
|
496
|
+
}
|
|
497
|
+
const configuredBinaryInfo = configureMeshBinaryInfo(data.mesh, geometriesOffset);
|
|
498
|
+
geometriesOffset += configuredBinaryInfo.offset;
|
|
499
|
+
finalGeometryBuffers.push(data.buffer);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
let reusedGeometriesCount = 0;
|
|
503
|
+
for (const [buffer, meshes] of sameArrays.entries()) {
|
|
504
|
+
reusedGeometriesCount += meshes.length;
|
|
505
|
+
if (meshes.length > 0) {
|
|
506
|
+
if (options.mergeGeometries) {
|
|
507
|
+
const configuredBinaryInfo = configureMeshBinaryInfo(meshes[0], geometriesOffset);
|
|
508
|
+
geometriesOffset += configuredBinaryInfo.offset;
|
|
509
|
+
finalGeometryBuffers.push(buffer);
|
|
510
|
+
}
|
|
511
|
+
const binaryInfo = meshes[0]._binaryInfo;
|
|
512
|
+
for (let i = 1, len = meshes.length; i < len; ++i) {
|
|
513
|
+
meshes[i]._binaryInfo = binaryInfo;
|
|
514
|
+
meshes[i].delayLoadingFile = meshes[0].delayLoadingFile;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
}
|
|
423
518
|
// Write final scene file.
|
|
424
|
-
const
|
|
425
|
-
await fs.writeJSON(
|
|
519
|
+
const sceneDestination = join(options.publicDir, `${options.sceneName}.babylon`);
|
|
520
|
+
await fs.writeJSON(sceneDestination, scene, {
|
|
426
521
|
encoding: "utf-8",
|
|
427
522
|
// spaces: "\t", // Useful for debug
|
|
428
523
|
});
|
|
429
|
-
options.exportedAssets.push(
|
|
524
|
+
options.exportedAssets.push(sceneDestination);
|
|
525
|
+
// Write final geometry file
|
|
526
|
+
if (geometriesPath) {
|
|
527
|
+
const totalLength = finalGeometryBuffers.reduce((acc, buffer) => acc + buffer.length, 0);
|
|
528
|
+
const geometriesFolder = join(options.publicDir, options.sceneName);
|
|
529
|
+
await fs.ensureDir(geometriesFolder);
|
|
530
|
+
const geometriesDestination = join(geometriesFolder, basename(geometriesPath));
|
|
531
|
+
await fs.writeFile(geometriesDestination, Buffer.concat(finalGeometryBuffers, totalLength));
|
|
532
|
+
options.exportedAssets.push(geometriesDestination);
|
|
533
|
+
}
|
|
430
534
|
// Write manifest
|
|
431
535
|
if (options.optimize) {
|
|
432
536
|
const manifestDestination = join(options.publicDir, `${options.sceneName}.babylon.manifest`);
|
|
433
537
|
let manifest = {
|
|
434
|
-
version:
|
|
538
|
+
version: options.buildTime,
|
|
435
539
|
enableSceneOffline: true,
|
|
436
540
|
enableTexturesOffline: true,
|
|
437
541
|
};
|
|
438
542
|
if (await fs.pathExists(manifestDestination)) {
|
|
439
543
|
manifest = await fs.readJSON(manifestDestination);
|
|
544
|
+
manifest.version = options.buildTime;
|
|
440
545
|
}
|
|
441
|
-
++manifest.version;
|
|
442
546
|
await fs.writeJSON(manifestDestination, manifest, {
|
|
443
547
|
encoding: "utf-8",
|
|
444
548
|
// spaces: "\t", // Useful for debug
|
|
445
549
|
});
|
|
446
550
|
options.exportedAssets.push(manifestDestination);
|
|
447
551
|
}
|
|
448
|
-
const usedFiles = await collectUsedAssetsForScene(scene, options.publicDir);
|
|
449
|
-
usedFiles.push(`${options.sceneName}.babylon`);
|
|
450
|
-
const geometryFiles = usedFiles.filter((file) => extname(file).toLowerCase() === ".babylonbinarymeshdata").map((file) => basename(file));
|
|
451
552
|
return {
|
|
452
553
|
usedFiles,
|
|
453
554
|
geometryFiles,
|
|
555
|
+
reusedGeometriesCount,
|
|
454
556
|
};
|
|
455
557
|
}
|
|
456
558
|
//# sourceMappingURL=scene.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene.mjs","sourceRoot":"","sources":["../../../src/pack/scene.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scene.mjs","sourceRoot":"","sources":["../../../src/pack/scene.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAEnH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAmBzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAmC;IAC3E,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,OAAO,GAAU,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAU,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAU,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAU,EAAE,CAAC;IACjC,MAAM,cAAc,GAAU,EAAE,CAAC;IACjC,MAAM,eAAe,GAAU,EAAE,CAAC;IAClC,MAAM,gBAAgB,GAAU,EAAE,CAAC;IACnC,MAAM,mBAAmB,GAAU,EAAE,CAAC;IAEtC,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,cAAc,GAAkB,IAAI,CAAC;IAOzC,MAAM,mBAAmB,GAA0B,EAAE,CAAC;IAEtD,gBAAgB;IAChB,IAAI,eAAe,GAAU,EAAE,CAAC;IAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACxD,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,mBAAmB,CAAC,IAAI,CAAC;oBACxB,IAAI;oBACJ,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBACjG,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC7B,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAC5E,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAClF,CAAC;YACF,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CACF,CAAC;QAEF,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,CAAC;IAED,SAAS;IACT,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,OAAO,CAAC,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEjG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,mBAAmB,CAAC,IAAI,CAAC;oBACxB,IAAI;oBACJ,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBACjG,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC7B,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAClF,CAAC;QACF,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACjC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChD,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,IAAI,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,CAAC;QAED,IAAI,kBAAkB,GAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7H,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAC9C,OAAO,aAAa,CAAC,kBAAkB,CAAC;YAExC,MAAM,qBAAqB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC5B,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,IAAI,SAAS,GAAU,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAEvB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAElC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBAC9B,mBAAmB,CAAC,IAAI,CAAC;wBACxB,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;qBACpG,CAAC,CAAC;oBAEH,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;wBAC7B,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC/E,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACxF,CAAC;gBACF,CAAC;gBAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC9C,CAAC;gBAED,OAAO;oBACN,OAAO;oBACP,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;iBAC1D,CAAC;YACH,CAAC,CAAC,CACF,CAAC;YAEF,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEhC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACb,OAAO;gBACN,SAAS;gBACT,kBAAkB;aAClB,CAAC;QACH,CAAC;QAED,OAAO;YACN,IAAI;YACJ,SAAS;YACT,kBAAkB;SAClB,CAAC;IACH,CAAC,CAAC,CACF,CAAC;IAEF,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;QAErF,IAAI,OAAO,CAAC,2BAA2B,IAAI,OAAO,EAAE,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC/B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC7B,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACtG,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACjC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAClG,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;gBAE1D,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxH,CAAC;gBAED,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACzB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;gBAClH,CAAC;gBAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC1B,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrH,CAAC;gBAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtG,CAAC;gBAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzG,CAAC;gBAED,OAAO,MAAM,CAAC,gBAAgB,CAAC;gBAE/B,OAAO,MAAM,CAAC,cAAc,CAAC;gBAC7B,OAAO,MAAM,CAAC,YAAY,CAAC;gBAC3B,OAAO,MAAM,CAAC,aAAa,CAAC;gBAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACvB,OAAO,MAAM,CAAC,SAAS,CAAC;gBAExB,OAAO,MAAM,CAAC,eAAe,CAAC;gBAC9B,OAAO,MAAM,CAAC,aAAa,CAAC;gBAC5B,OAAO,MAAM,CAAC,cAAc,CAAC;gBAC7B,OAAO,MAAM,CAAC,SAAS,CAAC;gBACxB,OAAO,MAAM,CAAC,UAAU,CAAC;YAC1B,CAAC,CAAC,CACF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,mBAAmB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAE/C,kBAAkB;IAClB,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7C,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,cAAc,CAAC,IAAI,CAClB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;QAChD,OAAO,aAAa,KAAK,IAAI,CAAC;IAC/B,CAAC,CAAC,CACF,CAAC;IAEF,kBAAkB;IAClB,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7C,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QAEjF,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,cAAc,CAAC,IAAI,CAClB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;QAChD,OAAO,aAAa,KAAK,IAAI,CAAC;IAC/B,CAAC,CAAC,CACF,CAAC;IAEF,cAAc;IACd,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,cAAc,CAAC,IAAI,CAClB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACxC,OAAO,SAAS,KAAK,IAAI,CAAC;IAC3B,CAAC,CAAC,CACF,CAAC;IAEF,cAAc;IACd,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,cAAc,CAAC,IAAI,CAClB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACzC,OAAO,SAAS,KAAK,IAAI,CAAC;IAC3B,CAAC,CAAC,CACF,CAAC;IAEF,SAAS;IACT,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACV,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,OAAO,KAAK,KAAK,IAAI,CAAC;IACvB,CAAC,CAAC,CACF,CAAC;IAEF,UAAU;IACV,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAEzE,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,OAAO,CAAC,IAAI,CACX,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,OAAO,MAAM,KAAK,IAAI,CAAC;IACxB,CAAC,CAAC,CACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,2BAA2B,GAAG,6BAA6B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,EAAE,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAEhD,MAAM,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAChC,IAAI,QAAQ,CAAC,UAAU,KAAK,sBAAsB,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,QAAQ,EAAE;gBAC1D,2BAA2B;aAC3B,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBACxD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEvC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;oBAC3D,MAAM,iBAAiB,CAAC,SAAS,EAAE;wBAClC,GAAG,OAAO;wBACV,KAAK,EAAE,KAAK;wBACZ,cAAc,EAAE,OAAO,CAAC,cAAc;qBACtC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC,CAAC,CACF,CAAC;IAEF,2BAA2B;IAC3B,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9C,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QAEjF,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,IAAI,EAAE;YACxD,2BAA2B;SAC3B,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBAC3D,MAAM,iBAAiB,CAAC,SAAS,EAAE;oBAClC,GAAG,OAAO;oBACV,KAAK,EAAE,KAAK;oBACZ,cAAc,EAAE,OAAO,CAAC,cAAc;iBACtC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,eAAe,CAAC,IAAI,CACnB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACtC,OAAO,EAAE,KAAK,IAAI,CAAC;IACpB,CAAC,CAAC,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,4BAA4B,GAAG,MAAM,OAAO,CAAC,GAAG,CACrD,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;QAExF,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACrF,2BAA2B;aAC3B,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBACxD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEvC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;oBAC3D,MAAM,iBAAiB,CAAC,SAAS,EAAE;wBAClC,GAAG,OAAO;wBACV,KAAK,EAAE,KAAK;wBACZ,cAAc,EAAE,OAAO,CAAC,cAAc;qBACtC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC,CAAC,CACF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACV,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,OAAO,IAAI,KAAK,IAAI,CAAC;IACtB,CAAC,CAAC,CACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/C,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;QAElF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,gBAAgB,CAAC,IAAI,CACpB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACvC,OAAO,EAAE,KAAK,IAAI,CAAC;IACpB,CAAC,CAAC,CACF,CAAC;IAEF,YAAY;IACZ,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CACF,CAAC;IAEF,SAAS,CAAC,IAAI,CACb,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtC,OAAO,QAAQ,KAAK,IAAI,CAAC;IAC1B,CAAC,CAAC,CACF,CAAC;IAEF,MAAM,KAAK,GAAG;QACb,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;QACrC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY;QAEzC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhD,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,KAAK;QAE3B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO;QACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ;QACrC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;QACjC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU;QAEzC,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QAC9C,aAAa,EAAE,aAAa;QAE5B,QAAQ,EAAE;YACT,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;SAC7C;QAED,mBAAmB;QACnB,MAAM;QACN,OAAO;QAEP,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;QACrC,SAAS;QACT,cAAc;QAEd,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB;QACjE,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB;QACrE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC;QAE1D,SAAS;QACT,cAAc;QAEd,UAAU,EAAE;YACX,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;SACd;QAED,MAAM;QACN,eAAe;QAEf,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACjD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CACF;QAED,gBAAgB;QAEhB,eAAe,EAAE,MAAM,OAAO,CAAC,GAAG,CACjC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1D,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CACF;QAED,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClB,gBAAgB,EAAE,EAAE;KACb,CAAC;IAET,wCAAwC;IACxC,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAErJ,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YACxC,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,IAAI,KAAK,CAAC,kBAAkB,EAAE,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC,UAAU,KAAK,wBAAwB,EAAE,CAAC;QACxG,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC;QACnC,KAAK,CAAC,sBAAsB,GAAG,wBAAwB,CAAC;QACxD,KAAK,CAAC,2BAA2B,GAAG,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC;QACvE,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5E,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,UAAU,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzI,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAEjC,IAAI,WAAW,CAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtD,2BAA2B;gBAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACP,CAAC;gBACF,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACf,SAAS;gBACV,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpC,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,SAAS;YACV,CAAC;YAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAClF,gBAAgB,IAAI,oBAAoB,CAAC,MAAM,CAAC;YAEhD,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,qBAAqB,IAAI,MAAM,CAAC,MAAM,CAAC;QAEvC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC7B,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAClF,gBAAgB,IAAI,oBAAoB,CAAC,MAAM,CAAC;gBAEhD,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC;gBACnC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACzD,CAAC;QACF,CAAC;IACF,CAAC;IAED,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,UAAU,CAAC,CAAC;IACjF,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE;QAC3C,QAAQ,EAAE,OAAO;QACjB,oCAAoC;KACpC,CAAC,CAAC;IAEH,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE9C,4BAA4B;IAC5B,IAAI,cAAc,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEzF,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAErC,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/E,MAAM,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC;QAE5F,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,mBAAmB,CAAC,CAAC;QAE7F,IAAI,QAAQ,GAAG;YACd,OAAO,EAAE,OAAO,CAAC,SAAS;YAC1B,kBAAkB,EAAE,IAAI;YACxB,qBAAqB,EAAE,IAAI;SAC3B,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAClD,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;QACtC,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,QAAQ,EAAE;YACjD,QAAQ,EAAE,OAAO;YACjB,oCAAoC;SACpC,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACN,SAAS;QACT,aAAa;QACb,qBAAqB;KACrB,CAAC;AACH,CAAC"}
|
|
@@ -42,13 +42,14 @@ export async function createScriptsFile(projectDir) {
|
|
|
42
42
|
catch (e) {
|
|
43
43
|
// Catch silently.
|
|
44
44
|
}
|
|
45
|
-
const [nodesFiles, meshesFiles, lightsFiles, cameraFiles, spriteManagerfiles, spriteMapFiles] = await Promise.all([
|
|
45
|
+
const [nodesFiles, meshesFiles, lightsFiles, cameraFiles, spriteManagerfiles, spriteMapFiles, soundNodesFiles] = await Promise.all([
|
|
46
46
|
tryReadDir(join(file, "nodes")),
|
|
47
47
|
tryReadDir(join(file, "meshes")),
|
|
48
48
|
tryReadDir(join(file, "lights")),
|
|
49
49
|
tryReadDir(join(file, "cameras")),
|
|
50
50
|
tryReadDir(join(file, "sprite-managers")),
|
|
51
51
|
tryReadDir(join(file, "sprite-maps")),
|
|
52
|
+
tryReadDir(join(file, "soundNodes")),
|
|
52
53
|
]);
|
|
53
54
|
await Promise.all([
|
|
54
55
|
...nodesFiles.map((file) => join("nodes", file)),
|
|
@@ -57,6 +58,7 @@ export async function createScriptsFile(projectDir) {
|
|
|
57
58
|
...cameraFiles.map((file) => join("cameras", file)),
|
|
58
59
|
...spriteMapFiles.map((file) => join("sprite-maps", file)),
|
|
59
60
|
...spriteManagerfiles.map((file) => join("sprite-managers", file)),
|
|
61
|
+
...soundNodesFiles.map((file) => join("soundNodes", file)),
|
|
60
62
|
].map(async (f) => {
|
|
61
63
|
const data = await fs.readJSON(join(file, f), "utf-8");
|
|
62
64
|
if (data.metadata) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.mjs","sourceRoot":"","sources":["../../../src/pack/scripts.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,eAAe,GAAG;;;;;;;;;;;;;CAavB,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC3D,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,cAAc;SACnB,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;SACxB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACzD,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,EAAE;QAChF,KAAK,EAAE,KAAK;KACZ,CAAC,CAAC;IAEH,MAAM,UAAU,GAA2B,EAAE,CAAC;IAE9C,MAAM,iBAAiB,GAAyB,EAAE,CAAC;IAEnD,gCAAgC;IAChC,MAAM,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,iBAAiB,CAAC,IAAI,CAAC;oBACtB,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC;oBAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBACzB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,kBAAkB;QACnB,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"scripts.mjs","sourceRoot":"","sources":["../../../src/pack/scripts.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a new array composed of distinct elements.
|
|
3
|
+
* @param array defines the reference to the source array.
|
|
4
|
+
*/
|
|
5
|
+
export function unique(array) {
|
|
6
|
+
const unique = (value, index, self) => {
|
|
7
|
+
return self.indexOf(value) === index;
|
|
8
|
+
};
|
|
9
|
+
return array.filter(unique);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Compares two arrays and returns true if they are the same (same length and same elements in the same order).
|
|
13
|
+
*/
|
|
14
|
+
export function isSameArray(a, b) {
|
|
15
|
+
if (a.length !== b.length) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
for (let i = 0, len = a.length; i < len; ++i) {
|
|
19
|
+
if (a[i] !== b[i]) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=array.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.mjs","sourceRoot":"","sources":["../../../src/tools/array.mts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAI,KAAU;IACnC,MAAM,MAAM,GAAG,CAAC,KAAQ,EAAE,KAAa,EAAE,IAAS,EAAE,EAAE;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;IACtC,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,CAAe,EAAE,CAAe;IAC9D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -8,5 +8,8 @@ export interface ICreateAssetsOptions extends IPackOptions {
|
|
|
8
8
|
exportedAssets: string[];
|
|
9
9
|
cache: Record<string, string>;
|
|
10
10
|
compressedTexturesEnabled: boolean;
|
|
11
|
+
compressedEtc2Enabled?: boolean;
|
|
12
|
+
compressedPvrtcEnabled?: boolean;
|
|
13
|
+
compressedTextureQuality?: string;
|
|
11
14
|
}
|
|
12
15
|
export declare function createAssets(options: ICreateAssetsOptions): Promise<void>;
|
|
@@ -10,10 +10,13 @@ export declare const ktxSupportedextensions: string[];
|
|
|
10
10
|
export declare function getCompressedTextureFilename(path: string, format: KTXToolsType): string;
|
|
11
11
|
export type CompressFileToKtxOptions = {
|
|
12
12
|
format: KTXToolsType;
|
|
13
|
-
compressedTexturesEnabled: boolean;
|
|
14
13
|
force?: boolean;
|
|
15
14
|
exportedAssets?: string[];
|
|
16
15
|
destinationFolder?: string;
|
|
16
|
+
compressedTexturesEnabled: boolean;
|
|
17
|
+
compressedEtc2Enabled?: boolean;
|
|
18
|
+
compressedPvrtcEnabled?: boolean;
|
|
19
|
+
compressedTextureQuality?: string;
|
|
17
20
|
};
|
|
18
21
|
export declare function compressFileToKtx(absolutePath: string, options: Partial<CompressFileToKtxOptions>): Promise<void>;
|
|
19
22
|
export declare function compressFileToKtxFormat(absolutePath: string, options: CompressFileToKtxOptions): Promise<string | null>;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { ICreateAssetsOptions } from "./assets.mjs";
|
|
2
|
+
export declare const supportedImagesExtensions: string[];
|
|
3
|
+
export declare const supportedCubeTexturesExtensions: string[];
|
|
4
|
+
export declare const supportedAudioExtensions: string[];
|
|
5
|
+
export declare const supportedJsonExtensions: string[];
|
|
6
|
+
export declare const supportedMiscExtensions: string[];
|
|
2
7
|
export declare const supportedExtensions: string[];
|
|
3
8
|
export interface IProcessAssetFileOptions extends ICreateAssetsOptions {
|
|
4
9
|
outputAssetsDir: string;
|
|
@@ -6,5 +11,8 @@ export interface IProcessAssetFileOptions extends ICreateAssetsOptions {
|
|
|
6
11
|
optimize: boolean;
|
|
7
12
|
cache: Record<string, string>;
|
|
8
13
|
compressedTexturesEnabled: boolean;
|
|
14
|
+
compressedEtc2Enabled?: boolean;
|
|
15
|
+
compressedPvrtcEnabled?: boolean;
|
|
16
|
+
compressedTextureQuality?: string;
|
|
9
17
|
}
|
|
10
18
|
export declare function processAssetFile(file: string, options: IProcessAssetFileOptions): Promise<void>;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { IProcessAssetFileOptions } from "./process.mjs";
|
|
2
2
|
export declare function getExtractedTextureOutputPath(publicDir: string): string;
|
|
3
|
+
export type DownscaledTextureSize = {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
3
7
|
export interface IComputeExportedTextureOptions extends IProcessAssetFileOptions {
|
|
4
8
|
force: boolean;
|
|
5
9
|
exportedAssets: string[];
|
|
@@ -6,6 +6,22 @@ export interface ICreateGeometryFilesOptions {
|
|
|
6
6
|
geometryFiles: string[];
|
|
7
7
|
exportedAssets: string[];
|
|
8
8
|
babylonjsEditorToolsVersion: string;
|
|
9
|
+
mergeGeometries?: boolean;
|
|
9
10
|
directories: Awaited<ReturnType<typeof readSceneDirectories>>;
|
|
10
11
|
}
|
|
11
12
|
export declare function createGeometryFiles(options: ICreateGeometryFilesOptions): Promise<void>;
|
|
13
|
+
export declare function configureMeshBinaryInfo(mesh: any, geometriesOffset: number): {
|
|
14
|
+
offset: number;
|
|
15
|
+
};
|
|
16
|
+
export declare function getGeometryBuffers(binaryInfo: any, buffer: Buffer): {
|
|
17
|
+
positions?: Float32Array;
|
|
18
|
+
normals?: Float32Array;
|
|
19
|
+
tangents?: Float32Array;
|
|
20
|
+
uvs?: Float32Array;
|
|
21
|
+
uvs2?: Float32Array;
|
|
22
|
+
colors?: Float32Array;
|
|
23
|
+
matricesIndices?: Uint32Array;
|
|
24
|
+
matricesWeights?: Float32Array;
|
|
25
|
+
indices?: Uint32Array;
|
|
26
|
+
subMeshes?: Int32Array;
|
|
27
|
+
};
|
|
@@ -8,6 +8,8 @@ export interface IPackOptions {
|
|
|
8
8
|
optimize: boolean;
|
|
9
9
|
pvrTexToolAbsolutePath?: string;
|
|
10
10
|
cancellationToken?: CancellationToken;
|
|
11
|
+
mergeDecals?: boolean;
|
|
12
|
+
mergeGeometries?: boolean;
|
|
11
13
|
onProgress?: (progress: number) => void;
|
|
12
14
|
onStepChanged?: (step: PackStepType, detail?: IPackStepDetails) => void;
|
|
13
15
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readSceneDirectories } from "../tools/scene.mjs";
|
|
2
2
|
export interface ICreateBabylonSceneOptions {
|
|
3
|
+
buildTime: number;
|
|
3
4
|
sceneFile: string;
|
|
4
5
|
sceneName: string;
|
|
5
6
|
publicDir: string;
|
|
@@ -7,10 +8,13 @@ export interface ICreateBabylonSceneOptions {
|
|
|
7
8
|
exportedAssets: string[];
|
|
8
9
|
optimize: boolean;
|
|
9
10
|
compressedTexturesEnabled: boolean;
|
|
11
|
+
mergeDecals?: boolean;
|
|
12
|
+
mergeGeometries?: boolean;
|
|
10
13
|
config: any;
|
|
11
14
|
directories: Awaited<ReturnType<typeof readSceneDirectories>>;
|
|
12
15
|
}
|
|
13
16
|
export declare function createBabylonScene(options: ICreateBabylonSceneOptions): Promise<{
|
|
14
17
|
usedFiles: string[];
|
|
15
18
|
geometryFiles: string[];
|
|
19
|
+
reusedGeometriesCount: number;
|
|
16
20
|
}>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a new array composed of distinct elements.
|
|
3
|
+
* @param array defines the reference to the source array.
|
|
4
|
+
*/
|
|
5
|
+
export declare function unique<T>(array: T[]): T[];
|
|
6
|
+
/**
|
|
7
|
+
* Compares two arrays and returns true if they are the same (same length and same elements in the same order).
|
|
8
|
+
*/
|
|
9
|
+
export declare function isSameArray<T>(a: T[] | Buffer, b: T[] | Buffer): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babylonjs-editor-cli",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.2-alpha.0",
|
|
4
4
|
"description": "Babylon.js Editor CLI is a command line interface to help you package your scenes made using the Babylon.js Editor",
|
|
5
5
|
"productName": "Babylon.js Editor CLI",
|
|
6
6
|
"scripts": {
|