babylonjs-serializers 9.13.0 → 9.14.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,4 +1,14 @@
1
1
 
2
+ declare module "babylonjs-serializers/pure" {
3
+ /** Pure barrel — re-exports only side-effect-free modules */
4
+ export * from "babylonjs-serializers/OBJ/pure";
5
+ export * from "babylonjs-serializers/glTF/pure";
6
+ export * from "babylonjs-serializers/stl/pure";
7
+ export * from "babylonjs-serializers/USDZ/pure";
8
+ export * from "babylonjs-serializers/BVH/pure";
9
+ export * from "babylonjs-serializers/3MF/pure";
10
+
11
+ }
2
12
  declare module "babylonjs-serializers/index" {
3
13
  export * from "babylonjs-serializers/OBJ/index";
4
14
  export * from "babylonjs-serializers/glTF/index";
@@ -61,6 +71,11 @@ export class STLExport {
61
71
  static CreateSTL(meshes: (Mesh | InstancedMesh)[], download?: boolean, fileName?: string, binary?: boolean, isLittleEndian?: boolean, doNotBakeTransform?: boolean, supportInstancedMeshes?: boolean, exportIndividualMeshes?: boolean): any;
62
72
  }
63
73
 
74
+ }
75
+ declare module "babylonjs-serializers/stl/pure" {
76
+ /** Pure barrel — re-exports only side-effect-free modules */
77
+ export * from "babylonjs-serializers/stl/stlSerializer";
78
+
64
79
  }
65
80
  declare module "babylonjs-serializers/stl/index" {
66
81
  export * from "babylonjs-serializers/stl/stlSerializer";
@@ -100,6 +115,12 @@ export * from "babylonjs-serializers/BVH/index";
100
115
  declare module "babylonjs-serializers/legacy/legacy-3mfSerializer" {
101
116
  export * from "babylonjs-serializers/3MF/index";
102
117
 
118
+ }
119
+ declare module "babylonjs-serializers/glTF/pure" {
120
+ /** Pure barrel — re-exports only side-effect-free modules */
121
+ export * from "babylonjs-serializers/glTF/glTFFileExporter";
122
+ export * from "babylonjs-serializers/glTF/2.0/pure";
123
+
103
124
  }
104
125
  declare module "babylonjs-serializers/glTF/index" {
105
126
  export * from "babylonjs-serializers/glTF/glTFFileExporter";
@@ -128,6 +149,14 @@ export interface IGLTFExporterExtension {
128
149
  required: boolean;
129
150
  }
130
151
 
152
+ }
153
+ declare module "babylonjs-serializers/glTF/2.0/pure" {
154
+ /** Pure barrel — re-exports only side-effect-free modules */
155
+ export * from "babylonjs-serializers/glTF/2.0/glTFData";
156
+ export * from "babylonjs-serializers/glTF/2.0/glTFSerializer";
157
+ export { _SolveMetallic, _ConvertToGLTFPBRMetallicRoughness } from "babylonjs-serializers/glTF/2.0/glTFMaterialExporter";
158
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/pure";
159
+
131
160
  }
132
161
  declare module "babylonjs-serializers/glTF/2.0/index" {
133
162
  export * from "babylonjs-serializers/glTF/2.0/glTFData";
@@ -929,6 +958,35 @@ export class BufferManager {
929
958
  }
930
959
  export {};
931
960
 
961
+ }
962
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/pure" {
963
+ /** Pure barrel — re-exports only side-effect-free modules */
964
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.pure";
965
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_draco_mesh_compression.pure";
966
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_lights_punctual.pure";
967
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_lights_area.pure";
968
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_anisotropy.pure";
969
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_clearcoat.pure";
970
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_coat.pure";
971
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.pure";
972
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_dispersion.pure";
973
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_emissive_strength.pure";
974
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_ior.pure";
975
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_iridescence.pure";
976
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_sheen.pure";
977
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_fuzz.pure";
978
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_specular.pure";
979
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_transmission.pure";
980
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_unlit.pure";
981
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume.pure";
982
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume_scatter.pure";
983
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.pure";
984
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_openpbr.pure";
985
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_transform.pure";
986
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_basisu.pure";
987
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_webp.pure";
988
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_avif.pure";
989
+
932
990
  }
933
991
  declare module "babylonjs-serializers/glTF/2.0/Extensions/index" {
934
992
  export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_mesh_gpu_instancing";
@@ -958,9 +1016,9 @@ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_webp";
958
1016
  export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_avif";
959
1017
 
960
1018
  }
961
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_transform" {
1019
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_transform.pure" {
962
1020
  import { ITextureInfo } from "babylonjs-gltf2interface";
963
- import { Texture } from "babylonjs/Materials/Textures/texture";
1021
+ import { Texture } from "babylonjs/Materials/Textures/texture.pure";
964
1022
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
965
1023
  /**
966
1024
  * @internal
@@ -980,9 +1038,22 @@ export class KHR_texture_transform implements IGLTFExporterExtensionV2 {
980
1038
  get wasUsed(): boolean;
981
1039
  postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
982
1040
  }
1041
+ /**
1042
+ * Registers the KHR_texture_transform glTF serializer extension with the {@link GLTFExporter}.
1043
+ * Safe to call multiple times; only the first call has an effect.
1044
+ */
1045
+ export function RegisterKHR_texture_transform(): void;
983
1046
 
984
1047
  }
985
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_basisu" {
1048
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_transform" {
1049
+ /**
1050
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1051
+ * Import "./KHR_texture_transform.pure" for tree-shakeable, side-effect-free usage.
1052
+ */
1053
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_transform.pure";
1054
+
1055
+ }
1056
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_basisu.pure" {
986
1057
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
987
1058
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
988
1059
  /**
@@ -997,11 +1068,29 @@ export class KHR_texture_basisu implements IGLTFExporterExtensionV2 {
997
1068
  private _exporter;
998
1069
  constructor(exporter: GLTFExporter);
999
1070
  dispose(): void;
1071
+ /**
1072
+ * Called after a texture is exported to register the encoded image MIME type.
1073
+ * @param _ - the name of the exported babylon texture (unused)
1074
+ * @param textureInfo - the glTF texture info for the exported texture
1075
+ */
1000
1076
  postExportTexture(_: string, textureInfo: BABYLON.GLTF2.ITextureInfo): void;
1001
1077
  }
1078
+ /**
1079
+ * Registers the KHR_texture_basisu glTF serializer extension with the {@link GLTFExporter}.
1080
+ * Safe to call multiple times; only the first call has an effect.
1081
+ */
1082
+ export function RegisterKHR_texture_basisu(): void;
1002
1083
 
1003
1084
  }
1004
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume_scatter" {
1085
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_basisu" {
1086
+ /**
1087
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1088
+ * Import "./KHR_texture_basisu.pure" for tree-shakeable, side-effect-free usage.
1089
+ */
1090
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_basisu.pure";
1091
+
1092
+ }
1093
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume_scatter.pure" {
1005
1094
  import { IMaterial } from "babylonjs-gltf2interface";
1006
1095
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1007
1096
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1042,9 +1131,22 @@ export class KHR_materials_volume_scatter implements IGLTFExporterExtensionV2 {
1042
1131
  */
1043
1132
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1044
1133
  }
1134
+ /**
1135
+ * Registers the KHR_materials_volume_scatter glTF serializer extension with the {@link GLTFExporter}.
1136
+ * Safe to call multiple times; only the first call has an effect.
1137
+ */
1138
+ export function RegisterKHR_materials_volume_scatter(): void;
1139
+
1140
+ }
1141
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume_scatter" {
1142
+ /**
1143
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1144
+ * Import "./KHR_materials_volume_scatter.pure" for tree-shakeable, side-effect-free usage.
1145
+ */
1146
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume_scatter.pure";
1045
1147
 
1046
1148
  }
1047
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume" {
1149
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume.pure" {
1048
1150
  import { IMaterial } from "babylonjs-gltf2interface";
1049
1151
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1050
1152
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1085,9 +1187,22 @@ export class KHR_materials_volume implements IGLTFExporterExtensionV2 {
1085
1187
  */
1086
1188
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1087
1189
  }
1190
+ /**
1191
+ * Registers the KHR_materials_volume glTF serializer extension with the {@link GLTFExporter}.
1192
+ * Safe to call multiple times; only the first call has an effect.
1193
+ */
1194
+ export function RegisterKHR_materials_volume(): void;
1088
1195
 
1089
1196
  }
1090
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_unlit" {
1197
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume" {
1198
+ /**
1199
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1200
+ * Import "./KHR_materials_volume.pure" for tree-shakeable, side-effect-free usage.
1201
+ */
1202
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_volume.pure";
1203
+
1204
+ }
1205
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_unlit.pure" {
1091
1206
  import { IMaterial } from "babylonjs-gltf2interface";
1092
1207
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1093
1208
  import { Material } from "babylonjs/Materials/material";
@@ -1108,9 +1223,22 @@ export class KHR_materials_unlit implements IGLTFExporterExtensionV2 {
1108
1223
  dispose(): void;
1109
1224
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1110
1225
  }
1226
+ /**
1227
+ * Registers the KHR_materials_unlit glTF serializer extension with the {@link GLTFExporter}.
1228
+ * Safe to call multiple times; only the first call has an effect.
1229
+ */
1230
+ export function RegisterKHR_materials_unlit(): void;
1111
1231
 
1112
1232
  }
1113
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_transmission" {
1233
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_unlit" {
1234
+ /**
1235
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1236
+ * Import "./KHR_materials_unlit.pure" for tree-shakeable, side-effect-free usage.
1237
+ */
1238
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_unlit.pure";
1239
+
1240
+ }
1241
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_transmission.pure" {
1114
1242
  import { IMaterial } from "babylonjs-gltf2interface";
1115
1243
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1116
1244
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1151,9 +1279,22 @@ export class KHR_materials_transmission implements IGLTFExporterExtensionV2 {
1151
1279
  */
1152
1280
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1153
1281
  }
1282
+ /**
1283
+ * Registers the KHR_materials_transmission glTF serializer extension with the {@link GLTFExporter}.
1284
+ * Safe to call multiple times; only the first call has an effect.
1285
+ */
1286
+ export function RegisterKHR_materials_transmission(): void;
1154
1287
 
1155
1288
  }
1156
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_specular" {
1289
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_transmission" {
1290
+ /**
1291
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1292
+ * Import "./KHR_materials_transmission.pure" for tree-shakeable, side-effect-free usage.
1293
+ */
1294
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_transmission.pure";
1295
+
1296
+ }
1297
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_specular.pure" {
1157
1298
  import { IMaterial } from "babylonjs-gltf2interface";
1158
1299
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1159
1300
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1195,9 +1336,22 @@ export class KHR_materials_specular implements IGLTFExporterExtensionV2 {
1195
1336
  */
1196
1337
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1197
1338
  }
1339
+ /**
1340
+ * Registers the KHR_materials_specular glTF serializer extension with the {@link GLTFExporter}.
1341
+ * Safe to call multiple times; only the first call has an effect.
1342
+ */
1343
+ export function RegisterKHR_materials_specular(): void;
1198
1344
 
1199
1345
  }
1200
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_sheen" {
1346
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_specular" {
1347
+ /**
1348
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1349
+ * Import "./KHR_materials_specular.pure" for tree-shakeable, side-effect-free usage.
1350
+ */
1351
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_specular.pure";
1352
+
1353
+ }
1354
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_sheen.pure" {
1201
1355
  import { IMaterial } from "babylonjs-gltf2interface";
1202
1356
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1203
1357
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1222,9 +1376,22 @@ export class KHR_materials_sheen implements IGLTFExporterExtensionV2 {
1222
1376
  postExportMaterialAdditionalTexturesAsync(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
1223
1377
  postExportMaterialAsync(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1224
1378
  }
1379
+ /**
1380
+ * Registers the KHR_materials_sheen glTF serializer extension with the {@link GLTFExporter}.
1381
+ * Safe to call multiple times; only the first call has an effect.
1382
+ */
1383
+ export function RegisterKHR_materials_sheen(): void;
1225
1384
 
1226
1385
  }
1227
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_openpbr" {
1386
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_sheen" {
1387
+ /**
1388
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1389
+ * Import "./KHR_materials_sheen.pure" for tree-shakeable, side-effect-free usage.
1390
+ */
1391
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_sheen.pure";
1392
+
1393
+ }
1394
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_openpbr.pure" {
1228
1395
  import { IMaterial } from "babylonjs-gltf2interface";
1229
1396
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1230
1397
  import { Material } from "babylonjs/Materials/material";
@@ -1252,9 +1419,22 @@ export class KHR_materials_openpbr implements IGLTFExporterExtensionV2 {
1252
1419
  */
1253
1420
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1254
1421
  }
1422
+ /**
1423
+ * Registers the KHR_materials_openpbr glTF serializer extension with the {@link GLTFExporter}.
1424
+ * Safe to call multiple times; only the first call has an effect.
1425
+ */
1426
+ export function RegisterKHR_materials_openpbr(): void;
1255
1427
 
1256
1428
  }
1257
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_iridescence" {
1429
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_openpbr" {
1430
+ /**
1431
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1432
+ * Import "./KHR_materials_openpbr.pure" for tree-shakeable, side-effect-free usage.
1433
+ */
1434
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_openpbr.pure";
1435
+
1436
+ }
1437
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_iridescence.pure" {
1258
1438
  import { IMaterial } from "babylonjs-gltf2interface";
1259
1439
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1260
1440
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1279,9 +1459,22 @@ export class KHR_materials_iridescence implements IGLTFExporterExtensionV2 {
1279
1459
  postExportMaterialAdditionalTexturesAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
1280
1460
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1281
1461
  }
1462
+ /**
1463
+ * Registers the KHR_materials_iridescence glTF serializer extension with the {@link GLTFExporter}.
1464
+ * Safe to call multiple times; only the first call has an effect.
1465
+ */
1466
+ export function RegisterKHR_materials_iridescence(): void;
1282
1467
 
1283
1468
  }
1284
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_ior" {
1469
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_iridescence" {
1470
+ /**
1471
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1472
+ * Import "./KHR_materials_iridescence.pure" for tree-shakeable, side-effect-free usage.
1473
+ */
1474
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_iridescence.pure";
1475
+
1476
+ }
1477
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_ior.pure" {
1285
1478
  import { IMaterial } from "babylonjs-gltf2interface";
1286
1479
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1287
1480
  import { Material } from "babylonjs/Materials/material";
@@ -1311,9 +1504,22 @@ export class KHR_materials_ior implements IGLTFExporterExtensionV2 {
1311
1504
  */
1312
1505
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1313
1506
  }
1507
+ /**
1508
+ * Registers the KHR_materials_ior glTF serializer extension with the {@link GLTFExporter}.
1509
+ * Safe to call multiple times; only the first call has an effect.
1510
+ */
1511
+ export function RegisterKHR_materials_ior(): void;
1314
1512
 
1315
1513
  }
1316
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_fuzz" {
1514
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_ior" {
1515
+ /**
1516
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1517
+ * Import "./KHR_materials_ior.pure" for tree-shakeable, side-effect-free usage.
1518
+ */
1519
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_ior.pure";
1520
+
1521
+ }
1522
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_fuzz.pure" {
1317
1523
  import { IMaterial } from "babylonjs-gltf2interface";
1318
1524
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1319
1525
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1346,9 +1552,22 @@ export class KHR_materials_fuzz implements IGLTFExporterExtensionV2 {
1346
1552
  postExportMaterialAdditionalTexturesAsync(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
1347
1553
  postExportMaterialAsync(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1348
1554
  }
1555
+ /**
1556
+ * Registers the KHR_materials_fuzz glTF serializer extension with the {@link GLTFExporter}.
1557
+ * Safe to call multiple times; only the first call has an effect.
1558
+ */
1559
+ export function RegisterKHR_materials_fuzz(): void;
1349
1560
 
1350
1561
  }
1351
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_emissive_strength" {
1562
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_fuzz" {
1563
+ /**
1564
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1565
+ * Import "./KHR_materials_fuzz.pure" for tree-shakeable, side-effect-free usage.
1566
+ */
1567
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_fuzz.pure";
1568
+
1569
+ }
1570
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_emissive_strength.pure" {
1352
1571
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1353
1572
  import { Material } from "babylonjs/Materials/material";
1354
1573
  import { IMaterial } from "babylonjs-gltf2interface";
@@ -1376,9 +1595,22 @@ export class KHR_materials_emissive_strength implements IGLTFExporterExtensionV2
1376
1595
  */
1377
1596
  postExportMaterialAsync(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1378
1597
  }
1598
+ /**
1599
+ * Registers the KHR_materials_emissive_strength glTF serializer extension with the {@link GLTFExporter}.
1600
+ * Safe to call multiple times; only the first call has an effect.
1601
+ */
1602
+ export function RegisterKHR_materials_emissive_strength(): void;
1603
+
1604
+ }
1605
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_emissive_strength" {
1606
+ /**
1607
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1608
+ * Import "./KHR_materials_emissive_strength.pure" for tree-shakeable, side-effect-free usage.
1609
+ */
1610
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_emissive_strength.pure";
1379
1611
 
1380
1612
  }
1381
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_dispersion" {
1613
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_dispersion.pure" {
1382
1614
  import { IMaterial } from "babylonjs-gltf2interface";
1383
1615
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1384
1616
  import { Material } from "babylonjs/Materials/material";
@@ -1410,9 +1642,22 @@ export class KHR_materials_dispersion implements IGLTFExporterExtensionV2 {
1410
1642
  */
1411
1643
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1412
1644
  }
1645
+ /**
1646
+ * Registers the KHR_materials_dispersion glTF serializer extension with the {@link GLTFExporter}.
1647
+ * Safe to call multiple times; only the first call has an effect.
1648
+ */
1649
+ export function RegisterKHR_materials_dispersion(): void;
1650
+
1651
+ }
1652
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_dispersion" {
1653
+ /**
1654
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1655
+ * Import "./KHR_materials_dispersion.pure" for tree-shakeable, side-effect-free usage.
1656
+ */
1657
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_dispersion.pure";
1413
1658
 
1414
1659
  }
1415
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_transmission" {
1660
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.pure" {
1416
1661
  import { IMaterial } from "babylonjs-gltf2interface";
1417
1662
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1418
1663
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1453,9 +1698,22 @@ export class KHR_materials_diffuse_transmission implements IGLTFExporterExtensio
1453
1698
  */
1454
1699
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1455
1700
  }
1701
+ /**
1702
+ * Registers the KHR_materials_diffuse_transmission glTF serializer extension with the {@link GLTFExporter}.
1703
+ * Safe to call multiple times; only the first call has an effect.
1704
+ */
1705
+ export function RegisterKHR_materials_diffuse_transmission(): void;
1456
1706
 
1457
1707
  }
1458
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_roughness" {
1708
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_transmission" {
1709
+ /**
1710
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1711
+ * Import "./KHR_materials_diffuse_transmission.pure" for tree-shakeable, side-effect-free usage.
1712
+ */
1713
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.pure";
1714
+
1715
+ }
1716
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.pure" {
1459
1717
  import { IMaterial } from "babylonjs-gltf2interface";
1460
1718
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1461
1719
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1480,9 +1738,22 @@ export class KHR_materials_diffuse_roughness implements IGLTFExporterExtensionV2
1480
1738
  postExportMaterialAdditionalTexturesAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
1481
1739
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1482
1740
  }
1741
+ /**
1742
+ * Registers the KHR_materials_diffuse_roughness glTF serializer extension with the {@link GLTFExporter}.
1743
+ * Safe to call multiple times; only the first call has an effect.
1744
+ */
1745
+ export function RegisterKHR_materials_diffuse_roughness(): void;
1483
1746
 
1484
1747
  }
1485
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_coat" {
1748
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_roughness" {
1749
+ /**
1750
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1751
+ * Import "./KHR_materials_diffuse_roughness.pure" for tree-shakeable, side-effect-free usage.
1752
+ */
1753
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.pure";
1754
+
1755
+ }
1756
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_coat.pure" {
1486
1757
  import { IMaterial } from "babylonjs-gltf2interface";
1487
1758
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1488
1759
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1515,9 +1786,22 @@ export class KHR_materials_coat implements IGLTFExporterExtensionV2 {
1515
1786
  postExportMaterialAdditionalTexturesAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
1516
1787
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1517
1788
  }
1789
+ /**
1790
+ * Registers the KHR_materials_coat glTF serializer extension with the {@link GLTFExporter}.
1791
+ * Safe to call multiple times; only the first call has an effect.
1792
+ */
1793
+ export function RegisterKHR_materials_coat(): void;
1518
1794
 
1519
1795
  }
1520
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_clearcoat" {
1796
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_coat" {
1797
+ /**
1798
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1799
+ * Import "./KHR_materials_coat.pure" for tree-shakeable, side-effect-free usage.
1800
+ */
1801
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_coat.pure";
1802
+
1803
+ }
1804
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_clearcoat.pure" {
1521
1805
  import { IMaterial } from "babylonjs-gltf2interface";
1522
1806
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1523
1807
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1550,9 +1834,22 @@ export class KHR_materials_clearcoat implements IGLTFExporterExtensionV2 {
1550
1834
  postExportMaterialAdditionalTexturesAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
1551
1835
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1552
1836
  }
1837
+ /**
1838
+ * Registers the KHR_materials_clearcoat glTF serializer extension with the {@link GLTFExporter}.
1839
+ * Safe to call multiple times; only the first call has an effect.
1840
+ */
1841
+ export function RegisterKHR_materials_clearcoat(): void;
1553
1842
 
1554
1843
  }
1555
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_anisotropy" {
1844
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_clearcoat" {
1845
+ /**
1846
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1847
+ * Import "./KHR_materials_clearcoat.pure" for tree-shakeable, side-effect-free usage.
1848
+ */
1849
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_clearcoat.pure";
1850
+
1851
+ }
1852
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_anisotropy.pure" {
1556
1853
  import { IMaterial } from "babylonjs-gltf2interface";
1557
1854
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1558
1855
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
@@ -1585,9 +1882,22 @@ export class KHR_materials_anisotropy implements IGLTFExporterExtensionV2 {
1585
1882
  postExportMaterialAdditionalTexturesAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
1586
1883
  postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise<IMaterial>;
1587
1884
  }
1885
+ /**
1886
+ * Registers the KHR_materials_anisotropy glTF serializer extension with the {@link GLTFExporter}.
1887
+ * Safe to call multiple times; only the first call has an effect.
1888
+ */
1889
+ export function RegisterKHR_materials_anisotropy(): void;
1588
1890
 
1589
1891
  }
1590
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_lights_punctual" {
1892
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_anisotropy" {
1893
+ /**
1894
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1895
+ * Import "./KHR_materials_anisotropy.pure" for tree-shakeable, side-effect-free usage.
1896
+ */
1897
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_anisotropy.pure";
1898
+
1899
+ }
1900
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_lights_punctual.pure" {
1591
1901
  import { Nullable } from "babylonjs/types";
1592
1902
  import { Node } from "babylonjs/node";
1593
1903
  import { INode } from "babylonjs-gltf2interface";
@@ -1627,9 +1937,22 @@ export class KHR_lights_punctual implements IGLTFExporterExtensionV2 {
1627
1937
  */
1628
1938
  postExportNodeAsync(context: string, node: INode, babylonNode: Node, nodeMap: Map<Node, number>, convertToRightHanded: boolean): Promise<Nullable<INode>>;
1629
1939
  }
1940
+ /**
1941
+ * Registers the KHR_lights_punctual glTF serializer extension with the {@link GLTFExporter}.
1942
+ * Safe to call multiple times; only the first call has an effect.
1943
+ */
1944
+ export function RegisterKHR_lights_punctual(): void;
1945
+
1946
+ }
1947
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_lights_punctual" {
1948
+ /**
1949
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1950
+ * Import "./KHR_lights_punctual.pure" for tree-shakeable, side-effect-free usage.
1951
+ */
1952
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_lights_punctual.pure";
1630
1953
 
1631
1954
  }
1632
- declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_draco_mesh_compression" {
1955
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_draco_mesh_compression.pure" {
1633
1956
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1634
1957
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
1635
1958
  import { IAccessor, IMeshPrimitive } from "babylonjs-gltf2interface";
@@ -1662,9 +1985,22 @@ export class KHR_draco_mesh_compression implements IGLTFExporterExtensionV2 {
1662
1985
  /** @internal */
1663
1986
  preGenerateBinaryAsync(bufferManager: BufferManager): Promise<void>;
1664
1987
  }
1988
+ /**
1989
+ * Registers the KHR_draco_mesh_compression glTF serializer extension with the {@link GLTFExporter}.
1990
+ * Safe to call multiple times; only the first call has an effect.
1991
+ */
1992
+ export function RegisterKHR_draco_mesh_compression(): void;
1665
1993
 
1666
1994
  }
1667
- declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_webp" {
1995
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_draco_mesh_compression" {
1996
+ /**
1997
+ * Re-exports the pure implementation and applies the runtime registration side effect.
1998
+ * Import "./KHR_draco_mesh_compression.pure" for tree-shakeable, side-effect-free usage.
1999
+ */
2000
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/KHR_draco_mesh_compression.pure";
2001
+
2002
+ }
2003
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_webp.pure" {
1668
2004
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1669
2005
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
1670
2006
  /**
@@ -1679,11 +2015,29 @@ export class EXT_texture_webp implements IGLTFExporterExtensionV2 {
1679
2015
  private _exporter;
1680
2016
  constructor(exporter: GLTFExporter);
1681
2017
  dispose(): void;
2018
+ /**
2019
+ * Called after a texture is exported to register the encoded image MIME type.
2020
+ * @param _ - the name of the exported babylon texture (unused)
2021
+ * @param textureInfo - the glTF texture info for the exported texture
2022
+ */
1682
2023
  postExportTexture(_: string, textureInfo: BABYLON.GLTF2.ITextureInfo): void;
1683
2024
  }
2025
+ /**
2026
+ * Registers the EXT_texture_webp glTF serializer extension with the {@link GLTFExporter}.
2027
+ * Safe to call multiple times; only the first call has an effect.
2028
+ */
2029
+ export function RegisterEXT_texture_webp(): void;
1684
2030
 
1685
2031
  }
1686
- declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_avif" {
2032
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_webp" {
2033
+ /**
2034
+ * Re-exports the pure implementation and applies the runtime registration side effect.
2035
+ * Import "./EXT_texture_webp.pure" for tree-shakeable, side-effect-free usage.
2036
+ */
2037
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_webp.pure";
2038
+
2039
+ }
2040
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_avif.pure" {
1687
2041
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1688
2042
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
1689
2043
  /**
@@ -1699,18 +2053,35 @@ export class EXT_texture_avif implements IGLTFExporterExtensionV2 {
1699
2053
  private _exporter;
1700
2054
  constructor(exporter: GLTFExporter);
1701
2055
  dispose(): void;
2056
+ /**
2057
+ * Called after a texture is exported to register the encoded image MIME type.
2058
+ * @param _ - the name of the exported babylon texture (unused)
2059
+ * @param textureInfo - the glTF texture info for the exported texture
2060
+ */
1702
2061
  postExportTexture(_: string, textureInfo: BABYLON.GLTF2.ITextureInfo): void;
1703
2062
  }
2063
+ /**
2064
+ * Registers the EXT_texture_avif glTF serializer extension with the {@link GLTFExporter}.
2065
+ * Safe to call multiple times; only the first call has an effect.
2066
+ */
2067
+ export function RegisterEXT_texture_avif(): void;
1704
2068
 
1705
2069
  }
1706
- declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_mesh_gpu_instancing" {
2070
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_avif" {
2071
+ /**
2072
+ * Re-exports the pure implementation and applies the runtime registration side effect.
2073
+ * Import "./EXT_texture_avif.pure" for tree-shakeable, side-effect-free usage.
2074
+ */
2075
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_texture_avif.pure";
2076
+
2077
+ }
2078
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.pure" {
1707
2079
  import { INode } from "babylonjs-gltf2interface";
1708
2080
  import { IGLTFExporterExtensionV2 } from "babylonjs-serializers/glTF/2.0/glTFExporterExtension";
1709
2081
  import { BufferManager } from "babylonjs-serializers/glTF/2.0/bufferManager";
1710
2082
  import { GLTFExporter } from "babylonjs-serializers/glTF/2.0/glTFExporter";
1711
2083
  import { Nullable } from "babylonjs/types";
1712
2084
  import { Node } from "babylonjs/node";
1713
- import "babylonjs/Meshes/thinInstanceMesh";
1714
2085
  /**
1715
2086
  * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/README.md)
1716
2087
  */
@@ -1744,9 +2115,23 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 {
1744
2115
  postExportNodeAsync(context: string, node: Nullable<INode>, babylonNode: Node, nodeMap: Map<Node, number>, convertToRightHanded: boolean, bufferManager: BufferManager): Promise<Nullable<INode>>;
1745
2116
  private _buildAccessor;
1746
2117
  }
2118
+ /**
2119
+ * Registers the EXT_mesh_gpu_instancing glTF serializer extension with the {@link GLTFExporter}.
2120
+ * Safe to call multiple times; only the first call has an effect.
2121
+ */
2122
+ export function RegisterEXT_mesh_gpu_instancing(): void;
1747
2123
 
1748
2124
  }
1749
- declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_lights_area" {
2125
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_mesh_gpu_instancing" {
2126
+ /**
2127
+ * Re-exports the pure implementation and applies the runtime registration side effect.
2128
+ * Import "./EXT_mesh_gpu_instancing.pure" for tree-shakeable, side-effect-free usage.
2129
+ */
2130
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.pure";
2131
+ import "babylonjs/Meshes/thinInstanceMesh";
2132
+
2133
+ }
2134
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_lights_area.pure" {
1750
2135
  import { Nullable } from "babylonjs/types";
1751
2136
  import { Node } from "babylonjs/node";
1752
2137
  import { INode } from "babylonjs-gltf2interface";
@@ -1786,6 +2171,19 @@ export class EXT_lights_area implements IGLTFExporterExtensionV2 {
1786
2171
  */
1787
2172
  postExportNodeAsync(context: string, node: INode, babylonNode: Node, nodeMap: Map<Node, number>, convertToRightHanded: boolean): Promise<Nullable<INode>>;
1788
2173
  }
2174
+ /**
2175
+ * Registers the EXT_lights_area glTF serializer extension with the {@link GLTFExporter}.
2176
+ * Safe to call multiple times; only the first call has an effect.
2177
+ */
2178
+ export function RegisterEXT_lights_area(): void;
2179
+
2180
+ }
2181
+ declare module "babylonjs-serializers/glTF/2.0/Extensions/EXT_lights_area" {
2182
+ /**
2183
+ * Re-exports the pure implementation and applies the runtime registration side effect.
2184
+ * Import "./EXT_lights_area.pure" for tree-shakeable, side-effect-free usage.
2185
+ */
2186
+ export * from "babylonjs-serializers/glTF/2.0/Extensions/EXT_lights_area.pure";
1789
2187
 
1790
2188
  }
1791
2189
  declare module "babylonjs-serializers/USDZ/usdzExporter" {
@@ -1840,10 +2238,20 @@ export interface IUSDZExportOptions {
1840
2238
  */
1841
2239
  export function USDZExportAsync(scene: Scene, options: Partial<IUSDZExportOptions>, meshPredicate?: (m: Mesh) => boolean): Promise<Uint8Array>;
1842
2240
 
2241
+ }
2242
+ declare module "babylonjs-serializers/USDZ/pure" {
2243
+ /** Pure barrel — re-exports only side-effect-free modules */
2244
+ export * from "babylonjs-serializers/USDZ/usdzExporter";
2245
+
1843
2246
  }
1844
2247
  declare module "babylonjs-serializers/USDZ/index" {
1845
2248
  export * from "babylonjs-serializers/USDZ/usdzExporter";
1846
2249
 
2250
+ }
2251
+ declare module "babylonjs-serializers/OBJ/pure" {
2252
+ /** Pure barrel — re-exports only side-effect-free modules */
2253
+ export * from "babylonjs-serializers/OBJ/objSerializer";
2254
+
1847
2255
  }
1848
2256
  declare module "babylonjs-serializers/OBJ/objSerializer" {
1849
2257
  import { Mesh } from "babylonjs/Meshes/mesh";
@@ -1872,6 +2280,11 @@ export class OBJExport {
1872
2280
  declare module "babylonjs-serializers/OBJ/index" {
1873
2281
  export * from "babylonjs-serializers/OBJ/objSerializer";
1874
2282
 
2283
+ }
2284
+ declare module "babylonjs-serializers/BVH/pure" {
2285
+ /** Pure barrel — re-exports only side-effect-free modules */
2286
+ export * from "babylonjs-serializers/BVH/bvhSerializer";
2287
+
1875
2288
  }
1876
2289
  declare module "babylonjs-serializers/BVH/index" {
1877
2290
  export * from "babylonjs-serializers/BVH/bvhSerializer";
@@ -1892,6 +2305,13 @@ export class BVHExporter {
1892
2305
  private static _QuaternionToEuler;
1893
2306
  }
1894
2307
 
2308
+ }
2309
+ declare module "babylonjs-serializers/3MF/pure" {
2310
+ /** Pure barrel — re-exports only side-effect-free modules */
2311
+ export * from "babylonjs-serializers/3MF/core/pure";
2312
+ export * from "babylonjs-serializers/3MF/3mfSerializer";
2313
+ export * from "babylonjs-serializers/3MF/3mfSerializer.configuration";
2314
+
1895
2315
  }
1896
2316
  declare module "babylonjs-serializers/3MF/index" {
1897
2317
  export * from "babylonjs-serializers/3MF/core/index";
@@ -2045,6 +2465,12 @@ export class ThreeMfSerializerGlobalConfiguration {
2045
2465
  static FFLATEUrl: string;
2046
2466
  }
2047
2467
 
2468
+ }
2469
+ declare module "babylonjs-serializers/3MF/core/pure" {
2470
+ /** Pure barrel — re-exports only side-effect-free modules */
2471
+ export * from "babylonjs-serializers/3MF/core/xml/pure";
2472
+ export * from "babylonjs-serializers/3MF/core/model/pure";
2473
+
2048
2474
  }
2049
2475
  declare module "babylonjs-serializers/3MF/core/index" {
2050
2476
  export * from "babylonjs-serializers/3MF/core/xml/index";
@@ -2436,6 +2862,16 @@ export class Utf8XmlWriterToBytes implements IXmlWriter {
2436
2862
  clear(): void;
2437
2863
  }
2438
2864
 
2865
+ }
2866
+ declare module "babylonjs-serializers/3MF/core/xml/pure" {
2867
+ /** Pure barrel — re-exports only side-effect-free modules */
2868
+ export * from "babylonjs-serializers/3MF/core/xml/xml.interfaces";
2869
+ export * from "babylonjs-serializers/3MF/core/xml/xml.serializer";
2870
+ export * from "babylonjs-serializers/3MF/core/xml/xml.serializer.format";
2871
+ export * from "babylonjs-serializers/3MF/core/xml/xml.builder";
2872
+ export * from "babylonjs-serializers/3MF/core/xml/xml.builder.string";
2873
+ export * from "babylonjs-serializers/3MF/core/xml/xml.builder.bytes";
2874
+
2439
2875
  }
2440
2876
  declare module "babylonjs-serializers/3MF/core/xml/index" {
2441
2877
  export * from "babylonjs-serializers/3MF/core/xml/xml.interfaces";
@@ -2445,6 +2881,17 @@ export * from "babylonjs-serializers/3MF/core/xml/xml.builder";
2445
2881
  export * from "babylonjs-serializers/3MF/core/xml/xml.builder.string";
2446
2882
  export * from "babylonjs-serializers/3MF/core/xml/xml.builder.bytes";
2447
2883
 
2884
+ }
2885
+ declare module "babylonjs-serializers/3MF/core/model/pure" {
2886
+ /** Pure barrel — re-exports only side-effect-free modules */
2887
+ export * from "babylonjs-serializers/3MF/core/model/3mf.interfaces";
2888
+ export * from "babylonjs-serializers/3MF/core/model/3mf.opc.interfaces";
2889
+ export * from "babylonjs-serializers/3MF/core/model/3mf.opc";
2890
+ export * from "babylonjs-serializers/3MF/core/model/3mf";
2891
+ export * from "babylonjs-serializers/3MF/core/model/3mf.builder";
2892
+ export * from "babylonjs-serializers/3MF/core/model/3mf.types";
2893
+ export * from "babylonjs-serializers/3MF/core/model/3mf.serializer";
2894
+
2448
2895
  }
2449
2896
  declare module "babylonjs-serializers/3MF/core/model/index" {
2450
2897
  export * from "babylonjs-serializers/3MF/core/model/3mf.interfaces";
@@ -3716,6 +4163,9 @@ declare module "babylonjs-serializers" {
3716
4163
 
3717
4164
 
3718
4165
  declare namespace BABYLON {
4166
+ /** Pure barrel — re-exports only side-effect-free modules */
4167
+
4168
+
3719
4169
 
3720
4170
 
3721
4171
  /**
@@ -3762,6 +4212,10 @@ declare namespace BABYLON {
3762
4212
  }
3763
4213
 
3764
4214
 
4215
+ /** Pure barrel — re-exports only side-effect-free modules */
4216
+
4217
+
4218
+
3765
4219
 
3766
4220
 
3767
4221
 
@@ -3775,6 +4229,8 @@ declare namespace BABYLON {
3775
4229
 
3776
4230
 
3777
4231
 
4232
+ /** Pure barrel — re-exports only side-effect-free modules */
4233
+
3778
4234
 
3779
4235
 
3780
4236
 
@@ -3800,6 +4256,9 @@ declare namespace BABYLON {
3800
4256
  }
3801
4257
 
3802
4258
 
4259
+ /** Pure barrel — re-exports only side-effect-free modules */
4260
+
4261
+
3803
4262
 
3804
4263
 
3805
4264
  export var DefaultTranslation: DeepImmutableObject<Vector3>;
@@ -4533,6 +4992,9 @@ declare namespace BABYLON {
4533
4992
  }
4534
4993
 
4535
4994
 
4995
+ /** Pure barrel — re-exports only side-effect-free modules */
4996
+
4997
+
4536
4998
 
4537
4999
 
4538
5000
  /**
@@ -4553,6 +5015,17 @@ declare namespace BABYLON {
4553
5015
  get wasUsed(): boolean;
4554
5016
  postExportTexture?(context: string, textureInfo: BABYLON.GLTF2.ITextureInfo, babylonTexture: Texture): void;
4555
5017
  }
5018
+ /**
5019
+ * Registers the KHR_texture_transform glTF serializer extension with the {@link GLTFExporter}.
5020
+ * Safe to call multiple times; only the first call has an effect.
5021
+ */
5022
+ export function RegisterKHR_texture_transform(): void;
5023
+
5024
+
5025
+ /**
5026
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5027
+ * Import "./KHR_texture_transform.pure" for tree-shakeable, side-effect-free usage.
5028
+ */
4556
5029
 
4557
5030
 
4558
5031
  /**
@@ -4567,8 +5040,24 @@ declare namespace BABYLON {
4567
5040
  private _exporter;
4568
5041
  constructor(exporter: GLTFExporter);
4569
5042
  dispose(): void;
5043
+ /**
5044
+ * Called after a texture is exported to register the encoded image MIME type.
5045
+ * @param _ - the name of the exported babylon texture (unused)
5046
+ * @param textureInfo - the glTF texture info for the exported texture
5047
+ */
4570
5048
  postExportTexture(_: string, textureInfo: BABYLON.GLTF2.ITextureInfo): void;
4571
5049
  }
5050
+ /**
5051
+ * Registers the KHR_texture_basisu glTF serializer extension with the {@link GLTFExporter}.
5052
+ * Safe to call multiple times; only the first call has an effect.
5053
+ */
5054
+ export function RegisterKHR_texture_basisu(): void;
5055
+
5056
+
5057
+ /**
5058
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5059
+ * Import "./KHR_texture_basisu.pure" for tree-shakeable, side-effect-free usage.
5060
+ */
4572
5061
 
4573
5062
 
4574
5063
  /**
@@ -4606,6 +5095,17 @@ declare namespace BABYLON {
4606
5095
  */
4607
5096
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4608
5097
  }
5098
+ /**
5099
+ * Registers the KHR_materials_volume_scatter glTF serializer extension with the {@link GLTFExporter}.
5100
+ * Safe to call multiple times; only the first call has an effect.
5101
+ */
5102
+ export function RegisterKHR_materials_volume_scatter(): void;
5103
+
5104
+
5105
+ /**
5106
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5107
+ * Import "./KHR_materials_volume_scatter.pure" for tree-shakeable, side-effect-free usage.
5108
+ */
4609
5109
 
4610
5110
 
4611
5111
  /**
@@ -4643,6 +5143,17 @@ declare namespace BABYLON {
4643
5143
  */
4644
5144
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4645
5145
  }
5146
+ /**
5147
+ * Registers the KHR_materials_volume glTF serializer extension with the {@link GLTFExporter}.
5148
+ * Safe to call multiple times; only the first call has an effect.
5149
+ */
5150
+ export function RegisterKHR_materials_volume(): void;
5151
+
5152
+
5153
+ /**
5154
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5155
+ * Import "./KHR_materials_volume.pure" for tree-shakeable, side-effect-free usage.
5156
+ */
4646
5157
 
4647
5158
 
4648
5159
  /**
@@ -4662,6 +5173,17 @@ declare namespace BABYLON {
4662
5173
  dispose(): void;
4663
5174
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4664
5175
  }
5176
+ /**
5177
+ * Registers the KHR_materials_unlit glTF serializer extension with the {@link GLTFExporter}.
5178
+ * Safe to call multiple times; only the first call has an effect.
5179
+ */
5180
+ export function RegisterKHR_materials_unlit(): void;
5181
+
5182
+
5183
+ /**
5184
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5185
+ * Import "./KHR_materials_unlit.pure" for tree-shakeable, side-effect-free usage.
5186
+ */
4665
5187
 
4666
5188
 
4667
5189
  /**
@@ -4699,6 +5221,17 @@ declare namespace BABYLON {
4699
5221
  */
4700
5222
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4701
5223
  }
5224
+ /**
5225
+ * Registers the KHR_materials_transmission glTF serializer extension with the {@link GLTFExporter}.
5226
+ * Safe to call multiple times; only the first call has an effect.
5227
+ */
5228
+ export function RegisterKHR_materials_transmission(): void;
5229
+
5230
+
5231
+ /**
5232
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5233
+ * Import "./KHR_materials_transmission.pure" for tree-shakeable, side-effect-free usage.
5234
+ */
4702
5235
 
4703
5236
 
4704
5237
  /**
@@ -4737,6 +5270,17 @@ declare namespace BABYLON {
4737
5270
  */
4738
5271
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4739
5272
  }
5273
+ /**
5274
+ * Registers the KHR_materials_specular glTF serializer extension with the {@link GLTFExporter}.
5275
+ * Safe to call multiple times; only the first call has an effect.
5276
+ */
5277
+ export function RegisterKHR_materials_specular(): void;
5278
+
5279
+
5280
+ /**
5281
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5282
+ * Import "./KHR_materials_specular.pure" for tree-shakeable, side-effect-free usage.
5283
+ */
4740
5284
 
4741
5285
 
4742
5286
  /**
@@ -4758,6 +5302,17 @@ declare namespace BABYLON {
4758
5302
  postExportMaterialAdditionalTexturesAsync(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
4759
5303
  postExportMaterialAsync(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4760
5304
  }
5305
+ /**
5306
+ * Registers the KHR_materials_sheen glTF serializer extension with the {@link GLTFExporter}.
5307
+ * Safe to call multiple times; only the first call has an effect.
5308
+ */
5309
+ export function RegisterKHR_materials_sheen(): void;
5310
+
5311
+
5312
+ /**
5313
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5314
+ * Import "./KHR_materials_sheen.pure" for tree-shakeable, side-effect-free usage.
5315
+ */
4761
5316
 
4762
5317
 
4763
5318
  /**
@@ -4784,6 +5339,17 @@ declare namespace BABYLON {
4784
5339
  */
4785
5340
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4786
5341
  }
5342
+ /**
5343
+ * Registers the KHR_materials_openpbr glTF serializer extension with the {@link GLTFExporter}.
5344
+ * Safe to call multiple times; only the first call has an effect.
5345
+ */
5346
+ export function RegisterKHR_materials_openpbr(): void;
5347
+
5348
+
5349
+ /**
5350
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5351
+ * Import "./KHR_materials_openpbr.pure" for tree-shakeable, side-effect-free usage.
5352
+ */
4787
5353
 
4788
5354
 
4789
5355
  /**
@@ -4805,6 +5371,17 @@ declare namespace BABYLON {
4805
5371
  postExportMaterialAdditionalTexturesAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
4806
5372
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4807
5373
  }
5374
+ /**
5375
+ * Registers the KHR_materials_iridescence glTF serializer extension with the {@link GLTFExporter}.
5376
+ * Safe to call multiple times; only the first call has an effect.
5377
+ */
5378
+ export function RegisterKHR_materials_iridescence(): void;
5379
+
5380
+
5381
+ /**
5382
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5383
+ * Import "./KHR_materials_iridescence.pure" for tree-shakeable, side-effect-free usage.
5384
+ */
4808
5385
 
4809
5386
 
4810
5387
  /**
@@ -4833,6 +5410,17 @@ declare namespace BABYLON {
4833
5410
  */
4834
5411
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4835
5412
  }
5413
+ /**
5414
+ * Registers the KHR_materials_ior glTF serializer extension with the {@link GLTFExporter}.
5415
+ * Safe to call multiple times; only the first call has an effect.
5416
+ */
5417
+ export function RegisterKHR_materials_ior(): void;
5418
+
5419
+
5420
+ /**
5421
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5422
+ * Import "./KHR_materials_ior.pure" for tree-shakeable, side-effect-free usage.
5423
+ */
4836
5424
 
4837
5425
 
4838
5426
  /**
@@ -4862,6 +5450,17 @@ declare namespace BABYLON {
4862
5450
  postExportMaterialAdditionalTexturesAsync(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
4863
5451
  postExportMaterialAsync(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4864
5452
  }
5453
+ /**
5454
+ * Registers the KHR_materials_fuzz glTF serializer extension with the {@link GLTFExporter}.
5455
+ * Safe to call multiple times; only the first call has an effect.
5456
+ */
5457
+ export function RegisterKHR_materials_fuzz(): void;
5458
+
5459
+
5460
+ /**
5461
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5462
+ * Import "./KHR_materials_fuzz.pure" for tree-shakeable, side-effect-free usage.
5463
+ */
4865
5464
 
4866
5465
 
4867
5466
  /**
@@ -4888,6 +5487,17 @@ declare namespace BABYLON {
4888
5487
  */
4889
5488
  postExportMaterialAsync(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4890
5489
  }
5490
+ /**
5491
+ * Registers the KHR_materials_emissive_strength glTF serializer extension with the {@link GLTFExporter}.
5492
+ * Safe to call multiple times; only the first call has an effect.
5493
+ */
5494
+ export function RegisterKHR_materials_emissive_strength(): void;
5495
+
5496
+
5497
+ /**
5498
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5499
+ * Import "./KHR_materials_emissive_strength.pure" for tree-shakeable, side-effect-free usage.
5500
+ */
4891
5501
 
4892
5502
 
4893
5503
  /**
@@ -4918,6 +5528,17 @@ declare namespace BABYLON {
4918
5528
  */
4919
5529
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4920
5530
  }
5531
+ /**
5532
+ * Registers the KHR_materials_dispersion glTF serializer extension with the {@link GLTFExporter}.
5533
+ * Safe to call multiple times; only the first call has an effect.
5534
+ */
5535
+ export function RegisterKHR_materials_dispersion(): void;
5536
+
5537
+
5538
+ /**
5539
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5540
+ * Import "./KHR_materials_dispersion.pure" for tree-shakeable, side-effect-free usage.
5541
+ */
4921
5542
 
4922
5543
 
4923
5544
  /**
@@ -4955,6 +5576,17 @@ declare namespace BABYLON {
4955
5576
  */
4956
5577
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4957
5578
  }
5579
+ /**
5580
+ * Registers the KHR_materials_diffuse_transmission glTF serializer extension with the {@link GLTFExporter}.
5581
+ * Safe to call multiple times; only the first call has an effect.
5582
+ */
5583
+ export function RegisterKHR_materials_diffuse_transmission(): void;
5584
+
5585
+
5586
+ /**
5587
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5588
+ * Import "./KHR_materials_diffuse_transmission.pure" for tree-shakeable, side-effect-free usage.
5589
+ */
4958
5590
 
4959
5591
 
4960
5592
  /**
@@ -4976,6 +5608,17 @@ declare namespace BABYLON {
4976
5608
  postExportMaterialAdditionalTexturesAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
4977
5609
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
4978
5610
  }
5611
+ /**
5612
+ * Registers the KHR_materials_diffuse_roughness glTF serializer extension with the {@link GLTFExporter}.
5613
+ * Safe to call multiple times; only the first call has an effect.
5614
+ */
5615
+ export function RegisterKHR_materials_diffuse_roughness(): void;
5616
+
5617
+
5618
+ /**
5619
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5620
+ * Import "./KHR_materials_diffuse_roughness.pure" for tree-shakeable, side-effect-free usage.
5621
+ */
4979
5622
 
4980
5623
 
4981
5624
  /**
@@ -5005,6 +5648,17 @@ declare namespace BABYLON {
5005
5648
  postExportMaterialAdditionalTexturesAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
5006
5649
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
5007
5650
  }
5651
+ /**
5652
+ * Registers the KHR_materials_coat glTF serializer extension with the {@link GLTFExporter}.
5653
+ * Safe to call multiple times; only the first call has an effect.
5654
+ */
5655
+ export function RegisterKHR_materials_coat(): void;
5656
+
5657
+
5658
+ /**
5659
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5660
+ * Import "./KHR_materials_coat.pure" for tree-shakeable, side-effect-free usage.
5661
+ */
5008
5662
 
5009
5663
 
5010
5664
  /**
@@ -5034,6 +5688,17 @@ declare namespace BABYLON {
5034
5688
  postExportMaterialAdditionalTexturesAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
5035
5689
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
5036
5690
  }
5691
+ /**
5692
+ * Registers the KHR_materials_clearcoat glTF serializer extension with the {@link GLTFExporter}.
5693
+ * Safe to call multiple times; only the first call has an effect.
5694
+ */
5695
+ export function RegisterKHR_materials_clearcoat(): void;
5696
+
5697
+
5698
+ /**
5699
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5700
+ * Import "./KHR_materials_clearcoat.pure" for tree-shakeable, side-effect-free usage.
5701
+ */
5037
5702
 
5038
5703
 
5039
5704
  /**
@@ -5063,6 +5728,17 @@ declare namespace BABYLON {
5063
5728
  postExportMaterialAdditionalTexturesAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BaseTexture[]>;
5064
5729
  postExportMaterialAsync?(context: string, node: BABYLON.GLTF2.IMaterial, babylonMaterial: Material): Promise<BABYLON.GLTF2.IMaterial>;
5065
5730
  }
5731
+ /**
5732
+ * Registers the KHR_materials_anisotropy glTF serializer extension with the {@link GLTFExporter}.
5733
+ * Safe to call multiple times; only the first call has an effect.
5734
+ */
5735
+ export function RegisterKHR_materials_anisotropy(): void;
5736
+
5737
+
5738
+ /**
5739
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5740
+ * Import "./KHR_materials_anisotropy.pure" for tree-shakeable, side-effect-free usage.
5741
+ */
5066
5742
 
5067
5743
 
5068
5744
  /**
@@ -5099,6 +5775,17 @@ declare namespace BABYLON {
5099
5775
  */
5100
5776
  postExportNodeAsync(context: string, node: BABYLON.GLTF2.INode, babylonNode: Node, nodeMap: Map<Node, number>, convertToRightHanded: boolean): Promise<Nullable<BABYLON.GLTF2.INode>>;
5101
5777
  }
5778
+ /**
5779
+ * Registers the KHR_lights_punctual glTF serializer extension with the {@link GLTFExporter}.
5780
+ * Safe to call multiple times; only the first call has an effect.
5781
+ */
5782
+ export function RegisterKHR_lights_punctual(): void;
5783
+
5784
+
5785
+ /**
5786
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5787
+ * Import "./KHR_lights_punctual.pure" for tree-shakeable, side-effect-free usage.
5788
+ */
5102
5789
 
5103
5790
 
5104
5791
  /**
@@ -5129,6 +5816,17 @@ declare namespace BABYLON {
5129
5816
  /** @internal */
5130
5817
  preGenerateBinaryAsync(bufferManager: BufferManager): Promise<void>;
5131
5818
  }
5819
+ /**
5820
+ * Registers the KHR_draco_mesh_compression glTF serializer extension with the {@link GLTFExporter}.
5821
+ * Safe to call multiple times; only the first call has an effect.
5822
+ */
5823
+ export function RegisterKHR_draco_mesh_compression(): void;
5824
+
5825
+
5826
+ /**
5827
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5828
+ * Import "./KHR_draco_mesh_compression.pure" for tree-shakeable, side-effect-free usage.
5829
+ */
5132
5830
 
5133
5831
 
5134
5832
  /**
@@ -5143,8 +5841,24 @@ declare namespace BABYLON {
5143
5841
  private _exporter;
5144
5842
  constructor(exporter: GLTFExporter);
5145
5843
  dispose(): void;
5844
+ /**
5845
+ * Called after a texture is exported to register the encoded image MIME type.
5846
+ * @param _ - the name of the exported babylon texture (unused)
5847
+ * @param textureInfo - the glTF texture info for the exported texture
5848
+ */
5146
5849
  postExportTexture(_: string, textureInfo: BABYLON.GLTF2.ITextureInfo): void;
5147
5850
  }
5851
+ /**
5852
+ * Registers the EXT_texture_webp glTF serializer extension with the {@link GLTFExporter}.
5853
+ * Safe to call multiple times; only the first call has an effect.
5854
+ */
5855
+ export function RegisterEXT_texture_webp(): void;
5856
+
5857
+
5858
+ /**
5859
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5860
+ * Import "./EXT_texture_webp.pure" for tree-shakeable, side-effect-free usage.
5861
+ */
5148
5862
 
5149
5863
 
5150
5864
  /**
@@ -5160,8 +5874,24 @@ declare namespace BABYLON {
5160
5874
  private _exporter;
5161
5875
  constructor(exporter: GLTFExporter);
5162
5876
  dispose(): void;
5877
+ /**
5878
+ * Called after a texture is exported to register the encoded image MIME type.
5879
+ * @param _ - the name of the exported babylon texture (unused)
5880
+ * @param textureInfo - the glTF texture info for the exported texture
5881
+ */
5163
5882
  postExportTexture(_: string, textureInfo: BABYLON.GLTF2.ITextureInfo): void;
5164
5883
  }
5884
+ /**
5885
+ * Registers the EXT_texture_avif glTF serializer extension with the {@link GLTFExporter}.
5886
+ * Safe to call multiple times; only the first call has an effect.
5887
+ */
5888
+ export function RegisterEXT_texture_avif(): void;
5889
+
5890
+
5891
+ /**
5892
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5893
+ * Import "./EXT_texture_avif.pure" for tree-shakeable, side-effect-free usage.
5894
+ */
5165
5895
 
5166
5896
 
5167
5897
  /**
@@ -5197,6 +5927,17 @@ declare namespace BABYLON {
5197
5927
  postExportNodeAsync(context: string, node: Nullable<BABYLON.GLTF2.INode>, babylonNode: Node, nodeMap: Map<Node, number>, convertToRightHanded: boolean, bufferManager: BufferManager): Promise<Nullable<BABYLON.GLTF2.INode>>;
5198
5928
  private _buildAccessor;
5199
5929
  }
5930
+ /**
5931
+ * Registers the EXT_mesh_gpu_instancing glTF serializer extension with the {@link GLTFExporter}.
5932
+ * Safe to call multiple times; only the first call has an effect.
5933
+ */
5934
+ export function RegisterEXT_mesh_gpu_instancing(): void;
5935
+
5936
+
5937
+ /**
5938
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5939
+ * Import "./EXT_mesh_gpu_instancing.pure" for tree-shakeable, side-effect-free usage.
5940
+ */
5200
5941
 
5201
5942
 
5202
5943
  /**
@@ -5233,6 +5974,17 @@ declare namespace BABYLON {
5233
5974
  */
5234
5975
  postExportNodeAsync(context: string, node: BABYLON.GLTF2.INode, babylonNode: Node, nodeMap: Map<Node, number>, convertToRightHanded: boolean): Promise<Nullable<BABYLON.GLTF2.INode>>;
5235
5976
  }
5977
+ /**
5978
+ * Registers the EXT_lights_area glTF serializer extension with the {@link GLTFExporter}.
5979
+ * Safe to call multiple times; only the first call has an effect.
5980
+ */
5981
+ export function RegisterEXT_lights_area(): void;
5982
+
5983
+
5984
+ /**
5985
+ * Re-exports the pure implementation and applies the runtime registration side effect.
5986
+ * Import "./EXT_lights_area.pure" for tree-shakeable, side-effect-free usage.
5987
+ */
5236
5988
 
5237
5989
 
5238
5990
  /**
@@ -5285,6 +6037,12 @@ declare namespace BABYLON {
5285
6037
  export function USDZExportAsync(scene: Scene, options: Partial<IUSDZExportOptions>, meshPredicate?: (m: Mesh) => boolean): Promise<Uint8Array>;
5286
6038
 
5287
6039
 
6040
+ /** Pure barrel — re-exports only side-effect-free modules */
6041
+
6042
+
6043
+
6044
+
6045
+ /** Pure barrel — re-exports only side-effect-free modules */
5288
6046
 
5289
6047
 
5290
6048
  /**
@@ -5311,6 +6069,9 @@ declare namespace BABYLON {
5311
6069
 
5312
6070
 
5313
6071
 
6072
+ /** Pure barrel — re-exports only side-effect-free modules */
6073
+
6074
+
5314
6075
 
5315
6076
 
5316
6077
  export class BVHExporter {
@@ -5327,6 +6088,9 @@ declare namespace BABYLON {
5327
6088
  }
5328
6089
 
5329
6090
 
6091
+ /** Pure barrel — re-exports only side-effect-free modules */
6092
+
6093
+
5330
6094
 
5331
6095
 
5332
6096
  /**
@@ -5469,6 +6233,9 @@ declare namespace BABYLON {
5469
6233
  }
5470
6234
 
5471
6235
 
6236
+ /** Pure barrel — re-exports only side-effect-free modules */
6237
+
6238
+
5472
6239
 
5473
6240
 
5474
6241
  /**
@@ -5843,6 +6610,12 @@ declare namespace BABYLON {
5843
6610
  }
5844
6611
 
5845
6612
 
6613
+ /** Pure barrel — re-exports only side-effect-free modules */
6614
+
6615
+
6616
+
6617
+
6618
+ /** Pure barrel — re-exports only side-effect-free modules */
5846
6619
 
5847
6620
 
5848
6621