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.
@@ -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.forEach((mesh) => {
27
- mesh.delayLoadingFile = join(options.sceneName, basename(mesh.delayLoadingFile));
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
- mesh.delayLoadingFile = join(options.sceneName, basename(mesh.delayLoadingFile));
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
- lodMesh.delayLoadingFile = join(options.sceneName, basename(lodMesh.delayLoadingFile));
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 (mesh.metadata?.decal && mergedDecalsIds.includes(mesh.id)) {
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 destination = join(options.publicDir, `${options.sceneName}.babylon`);
425
- await fs.writeJSON(destination, scene, {
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(destination);
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: 0,
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":"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"}
@@ -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":"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"}
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.1-rc.8",
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": {