@babylonjs/serializers 9.26.2 → 9.27.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.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./KHR_interactivity.pure" for tree-shakeable, side-effect-free usage.
4
+ */
5
+ export * from "./KHR_interactivity.pure.js";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Re-exports the pure implementation and applies the runtime registration side effect.
3
+ * Import "./KHR_interactivity.pure" for tree-shakeable, side-effect-free usage.
4
+ */
5
+ export * from "./KHR_interactivity.pure.js";
6
+ import { RegisterKHR_interactivity } from "./KHR_interactivity.pure.js";
7
+ RegisterKHR_interactivity();
8
+ //# sourceMappingURL=KHR_interactivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_interactivity.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/KHR_interactivity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,yBAAyB,EAAE,CAAC","sourcesContent":["/**\n * Re-exports the pure implementation and applies the runtime registration side effect.\n * Import \"./KHR_interactivity.pure\" for tree-shakeable, side-effect-free usage.\n */\nexport * from \"./KHR_interactivity.pure\";\n\nimport { RegisterKHR_interactivity } from \"./KHR_interactivity.pure\";\nRegisterKHR_interactivity();\n"]}
@@ -0,0 +1,29 @@
1
+ import { type IGLTFExporterExtensionV2 } from "../glTFExporterExtension.js";
2
+ import { GLTFExporter } from "../glTFExporter.js";
3
+ /**
4
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_interactivity)
5
+ */
6
+ export declare class KHR_interactivity implements IGLTFExporterExtensionV2 {
7
+ private _exporter;
8
+ /** The extension name. */
9
+ readonly name = "KHR_interactivity";
10
+ /** Whether this extension is enabled for the current export. */
11
+ readonly enabled: boolean;
12
+ /** Whether this extension is required for the exported asset. */
13
+ readonly required: boolean;
14
+ /**
15
+ * @param _exporter owning glTF exporter
16
+ */
17
+ constructor(_exporter: GLTFExporter);
18
+ /** @internal */
19
+ dispose(): void;
20
+ /** @internal */
21
+ get wasUsed(): boolean;
22
+ /** @internal */
23
+ onExporting(): void;
24
+ }
25
+ /**
26
+ * Registers the KHR_interactivity glTF serializer extension with the {@link GLTFExporter}.
27
+ * Safe to call multiple times; only the first call has an effect.
28
+ */
29
+ export declare function RegisterKHR_interactivity(): void;
@@ -0,0 +1,74 @@
1
+ import { GLTFExporter } from "../glTFExporter.js";
2
+ const NAME = "KHR_interactivity";
3
+ /**
4
+ * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_interactivity)
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export class KHR_interactivity {
8
+ /**
9
+ * @param _exporter owning glTF exporter
10
+ */
11
+ constructor(_exporter) {
12
+ this._exporter = _exporter;
13
+ /** The extension name. */
14
+ this.name = NAME;
15
+ this.enabled = !!_exporter.options.khrInteractivity;
16
+ this.required = _exporter.options.khrInteractivity?.required ?? false;
17
+ }
18
+ /** @internal */
19
+ dispose() {
20
+ this._exporter = null;
21
+ }
22
+ /** @internal */
23
+ get wasUsed() {
24
+ return this.enabled;
25
+ }
26
+ /** @internal */
27
+ onExporting() {
28
+ var _a, _b, _c;
29
+ const provider = this._exporter.options.khrInteractivity;
30
+ if (!provider) {
31
+ return;
32
+ }
33
+ const extension = provider.build({
34
+ getNodeCount: () => this._exporter._nodes.length,
35
+ getNodeIndex: (node) => this._exporter._getNodeIndex(node),
36
+ getAnimationIndex: (animationGroup) => this._exporter._getAnimationIndex(animationGroup),
37
+ getCameraIndex: (camera) => this._exporter._getCameraIndex(camera),
38
+ getMaterialIndex: (material) => this._exporter._getMaterialIndex(material),
39
+ getRootIndex: (collection, entity) => this._exporter._getRootIndex(collection, entity),
40
+ setNodeExtension: (nodeIndex, extensionName, value) => this._exporter._setNodeExtension(nodeIndex, extensionName, value),
41
+ });
42
+ this._exporter._glTF.extensions[NAME] = extension;
43
+ for (const extensionName of provider.additionalExtensionsUsed) {
44
+ (_a = this._exporter._glTF).extensionsUsed || (_a.extensionsUsed = []);
45
+ if (this._exporter._glTF.extensionsUsed.indexOf(extensionName) === -1) {
46
+ this._exporter._glTF.extensionsUsed.push(extensionName);
47
+ }
48
+ }
49
+ for (const extensionName of provider.additionalExtensionsRequired) {
50
+ (_b = this._exporter._glTF).extensionsUsed || (_b.extensionsUsed = []);
51
+ if (this._exporter._glTF.extensionsUsed.indexOf(extensionName) === -1) {
52
+ this._exporter._glTF.extensionsUsed.push(extensionName);
53
+ }
54
+ (_c = this._exporter._glTF).extensionsRequired || (_c.extensionsRequired = []);
55
+ if (this._exporter._glTF.extensionsRequired.indexOf(extensionName) === -1) {
56
+ this._exporter._glTF.extensionsRequired.push(extensionName);
57
+ }
58
+ }
59
+ }
60
+ }
61
+ let _Registered = false;
62
+ /**
63
+ * Registers the KHR_interactivity glTF serializer extension with the {@link GLTFExporter}.
64
+ * Safe to call multiple times; only the first call has an effect.
65
+ */
66
+ // eslint-disable-next-line @typescript-eslint/naming-convention
67
+ export function RegisterKHR_interactivity() {
68
+ if (_Registered) {
69
+ return;
70
+ }
71
+ _Registered = true;
72
+ GLTFExporter.RegisterExtension(NAME, (exporter) => new KHR_interactivity(exporter), 200);
73
+ }
74
+ //# sourceMappingURL=KHR_interactivity.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_interactivity.pure.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/KHR_interactivity.pure.ts"],"names":[],"mappings":"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","sourcesContent":["import { type IGLTFExporterExtensionV2 } from \"../glTFExporterExtension\";\nimport { GLTFExporter } from \"../glTFExporter\";\n\nconst NAME = \"KHR_interactivity\";\n\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_interactivity)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_interactivity implements IGLTFExporterExtensionV2 {\n /** The extension name. */\n public readonly name = NAME;\n /** Whether this extension is enabled for the current export. */\n public readonly enabled: boolean;\n /** Whether this extension is required for the exported asset. */\n public readonly required: boolean;\n\n /**\n * @param _exporter owning glTF exporter\n */\n public constructor(private _exporter: GLTFExporter) {\n this.enabled = !!_exporter.options.khrInteractivity;\n this.required = _exporter.options.khrInteractivity?.required ?? false;\n }\n\n /** @internal */\n public dispose(): void {\n (this._exporter as any) = null;\n }\n\n /** @internal */\n public get wasUsed(): boolean {\n return this.enabled;\n }\n\n /** @internal */\n public onExporting(): void {\n const provider = this._exporter.options.khrInteractivity;\n if (!provider) {\n return;\n }\n const extension = provider.build({\n getNodeCount: () => this._exporter._nodes.length,\n getNodeIndex: (node) => this._exporter._getNodeIndex(node),\n getAnimationIndex: (animationGroup) => this._exporter._getAnimationIndex(animationGroup),\n getCameraIndex: (camera) => this._exporter._getCameraIndex(camera),\n getMaterialIndex: (material) => this._exporter._getMaterialIndex(material),\n getRootIndex: (collection, entity) => this._exporter._getRootIndex(collection, entity),\n setNodeExtension: (nodeIndex, extensionName, value) => this._exporter._setNodeExtension(nodeIndex, extensionName, value),\n });\n this._exporter._glTF.extensions![NAME] = extension;\n for (const extensionName of provider.additionalExtensionsUsed) {\n this._exporter._glTF.extensionsUsed ||= [];\n if (this._exporter._glTF.extensionsUsed.indexOf(extensionName) === -1) {\n this._exporter._glTF.extensionsUsed.push(extensionName);\n }\n }\n for (const extensionName of provider.additionalExtensionsRequired) {\n this._exporter._glTF.extensionsUsed ||= [];\n if (this._exporter._glTF.extensionsUsed.indexOf(extensionName) === -1) {\n this._exporter._glTF.extensionsUsed.push(extensionName);\n }\n this._exporter._glTF.extensionsRequired ||= [];\n if (this._exporter._glTF.extensionsRequired.indexOf(extensionName) === -1) {\n this._exporter._glTF.extensionsRequired.push(extensionName);\n }\n }\n }\n}\n\nlet _Registered = false;\n\n/**\n * Registers the KHR_interactivity glTF serializer extension with the {@link GLTFExporter}.\n * Safe to call multiple times; only the first call has an effect.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function RegisterKHR_interactivity(): void {\n if (_Registered) {\n return;\n }\n _Registered = true;\n GLTFExporter.RegisterExtension(NAME, (exporter) => new KHR_interactivity(exporter), 200);\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  export * from "./EXT_mesh_gpu_instancing.js";
2
2
  export * from "./KHR_draco_mesh_compression.js";
3
3
  export * from "./KHR_lights_punctual.js";
4
+ export * from "./KHR_interactivity.js";
4
5
  export * from "./EXT_lights_area.js";
5
6
  export * from "./KHR_materials_anisotropy.js";
6
7
  export * from "./KHR_materials_clearcoat.js";
@@ -1,6 +1,7 @@
1
1
  export * from "./EXT_mesh_gpu_instancing.js";
2
2
  export * from "./KHR_draco_mesh_compression.js";
3
3
  export * from "./KHR_lights_punctual.js";
4
+ export * from "./KHR_interactivity.js";
4
5
  export * from "./EXT_lights_area.js";
5
6
  export * from "./KHR_materials_anisotropy.js";
6
7
  export * from "./KHR_materials_clearcoat.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from \"./EXT_mesh_gpu_instancing\";\r\nexport * from \"./KHR_draco_mesh_compression\";\r\nexport * from \"./KHR_lights_punctual\";\r\nexport * from \"./EXT_lights_area\";\r\nexport * from \"./KHR_materials_anisotropy\";\r\nexport * from \"./KHR_materials_clearcoat\";\r\nexport * from \"./KHR_materials_coat\";\r\nexport * from \"./KHR_materials_diffuse_transmission\";\r\nexport * from \"./KHR_materials_dispersion\";\r\nexport * from \"./KHR_materials_emissive_strength\";\r\nexport * from \"./KHR_materials_ior\";\r\nexport * from \"./KHR_materials_iridescence\";\r\nexport * from \"./KHR_materials_sheen\";\r\nexport * from \"./KHR_materials_fuzz\";\r\nexport * from \"./KHR_materials_specular\";\r\nexport * from \"./KHR_materials_transmission\";\r\nexport * from \"./KHR_materials_unlit\";\r\nexport * from \"./KHR_materials_volume\";\r\nexport * from \"./KHR_materials_volume_scatter\";\r\nexport * from \"./KHR_materials_diffuse_roughness\";\r\nexport * from \"./KHR_materials_openpbr\";\r\nexport * from \"./KHR_texture_transform\";\r\nexport * from \"./KHR_texture_basisu\";\r\nexport * from \"./EXT_texture_webp\";\r\nexport * from \"./EXT_texture_avif\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from \"./EXT_mesh_gpu_instancing\";\r\nexport * from \"./KHR_draco_mesh_compression\";\r\nexport * from \"./KHR_lights_punctual\";\r\nexport * from \"./KHR_interactivity\";\r\nexport * from \"./EXT_lights_area\";\r\nexport * from \"./KHR_materials_anisotropy\";\r\nexport * from \"./KHR_materials_clearcoat\";\r\nexport * from \"./KHR_materials_coat\";\r\nexport * from \"./KHR_materials_diffuse_transmission\";\r\nexport * from \"./KHR_materials_dispersion\";\r\nexport * from \"./KHR_materials_emissive_strength\";\r\nexport * from \"./KHR_materials_ior\";\r\nexport * from \"./KHR_materials_iridescence\";\r\nexport * from \"./KHR_materials_sheen\";\r\nexport * from \"./KHR_materials_fuzz\";\r\nexport * from \"./KHR_materials_specular\";\r\nexport * from \"./KHR_materials_transmission\";\r\nexport * from \"./KHR_materials_unlit\";\r\nexport * from \"./KHR_materials_volume\";\r\nexport * from \"./KHR_materials_volume_scatter\";\r\nexport * from \"./KHR_materials_diffuse_roughness\";\r\nexport * from \"./KHR_materials_openpbr\";\r\nexport * from \"./KHR_texture_transform\";\r\nexport * from \"./KHR_texture_basisu\";\r\nexport * from \"./EXT_texture_webp\";\r\nexport * from \"./EXT_texture_avif\";\r\n"]}
@@ -2,6 +2,7 @@
2
2
  export * from "./EXT_mesh_gpu_instancing.pure.js";
3
3
  export * from "./KHR_draco_mesh_compression.pure.js";
4
4
  export * from "./KHR_lights_punctual.pure.js";
5
+ export * from "./KHR_interactivity.pure.js";
5
6
  export * from "./EXT_lights_area.pure.js";
6
7
  export * from "./KHR_materials_anisotropy.pure.js";
7
8
  export * from "./KHR_materials_clearcoat.pure.js";
@@ -2,6 +2,7 @@
2
2
  export * from "./EXT_mesh_gpu_instancing.pure.js";
3
3
  export * from "./KHR_draco_mesh_compression.pure.js";
4
4
  export * from "./KHR_lights_punctual.pure.js";
5
+ export * from "./KHR_interactivity.pure.js";
5
6
  export * from "./EXT_lights_area.pure.js";
6
7
  export * from "./KHR_materials_anisotropy.pure.js";
7
8
  export * from "./KHR_materials_clearcoat.pure.js";
@@ -1 +1 @@
1
- {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\nexport * from \"./EXT_mesh_gpu_instancing.pure\";\nexport * from \"./KHR_draco_mesh_compression.pure\";\nexport * from \"./KHR_lights_punctual.pure\";\nexport * from \"./EXT_lights_area.pure\";\nexport * from \"./KHR_materials_anisotropy.pure\";\nexport * from \"./KHR_materials_clearcoat.pure\";\nexport * from \"./KHR_materials_coat.pure\";\nexport * from \"./KHR_materials_diffuse_transmission.pure\";\nexport * from \"./KHR_materials_dispersion.pure\";\nexport * from \"./KHR_materials_emissive_strength.pure\";\nexport * from \"./KHR_materials_ior.pure\";\nexport * from \"./KHR_materials_iridescence.pure\";\nexport * from \"./KHR_materials_sheen.pure\";\nexport * from \"./KHR_materials_fuzz.pure\";\nexport * from \"./KHR_materials_specular.pure\";\nexport * from \"./KHR_materials_transmission.pure\";\nexport * from \"./KHR_materials_unlit.pure\";\nexport * from \"./KHR_materials_volume.pure\";\nexport * from \"./KHR_materials_volume_scatter.pure\";\nexport * from \"./KHR_materials_diffuse_roughness.pure\";\nexport * from \"./KHR_materials_openpbr.pure\";\nexport * from \"./KHR_texture_transform.pure\";\nexport * from \"./KHR_texture_basisu.pure\";\nexport * from \"./EXT_texture_webp.pure\";\nexport * from \"./EXT_texture_avif.pure\";\n"]}
1
+ {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../../dev/serializers/src/glTF/2.0/Extensions/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\nexport * from \"./EXT_mesh_gpu_instancing.pure\";\nexport * from \"./KHR_draco_mesh_compression.pure\";\nexport * from \"./KHR_lights_punctual.pure\";\nexport * from \"./KHR_interactivity.pure\";\nexport * from \"./EXT_lights_area.pure\";\nexport * from \"./KHR_materials_anisotropy.pure\";\nexport * from \"./KHR_materials_clearcoat.pure\";\nexport * from \"./KHR_materials_coat.pure\";\nexport * from \"./KHR_materials_diffuse_transmission.pure\";\nexport * from \"./KHR_materials_dispersion.pure\";\nexport * from \"./KHR_materials_emissive_strength.pure\";\nexport * from \"./KHR_materials_ior.pure\";\nexport * from \"./KHR_materials_iridescence.pure\";\nexport * from \"./KHR_materials_sheen.pure\";\nexport * from \"./KHR_materials_fuzz.pure\";\nexport * from \"./KHR_materials_specular.pure\";\nexport * from \"./KHR_materials_transmission.pure\";\nexport * from \"./KHR_materials_unlit.pure\";\nexport * from \"./KHR_materials_volume.pure\";\nexport * from \"./KHR_materials_volume_scatter.pure\";\nexport * from \"./KHR_materials_diffuse_roughness.pure\";\nexport * from \"./KHR_materials_openpbr.pure\";\nexport * from \"./KHR_texture_transform.pure\";\nexport * from \"./KHR_texture_basisu.pure\";\nexport * from \"./EXT_texture_webp.pure\";\nexport * from \"./EXT_texture_avif.pure\";\n"]}
@@ -2,6 +2,7 @@ import { type IAnimation, type INode, type IBufferView, type IAccessor, Animatio
2
2
  import { type Node } from "@babylonjs/core/node.js";
3
3
  import { type Nullable } from "@babylonjs/core/types.js";
4
4
  import { Animation } from "@babylonjs/core/Animations/animation.js";
5
+ import { type AnimationGroup } from "@babylonjs/core/Animations/animationGroup.js";
5
6
  import { type Scene } from "@babylonjs/core/scene.js";
6
7
  import { type BufferManager } from "./bufferManager.js";
7
8
  /**
@@ -82,6 +83,8 @@ export declare class _GLTFAnimation {
82
83
  * @param bufferViews
83
84
  * @param accessors
84
85
  * @param animationSampleRate
86
+ * @param useRightHanded
87
+ * @param shouldExportAnimation
85
88
  */
86
89
  static _CreateNodeAnimationFromNodeAnimations(babylonNode: Node, runtimeGLTFAnimation: IAnimation, idleGLTFAnimations: IAnimation[], nodeMap: Map<Node, number>, nodes: INode[], bufferManager: BufferManager, bufferViews: IBufferView[], accessors: IAccessor[], animationSampleRate: number, useRightHanded: boolean, shouldExportAnimation?: (animation: Animation) => boolean): void;
87
90
  /**
@@ -96,6 +99,8 @@ export declare class _GLTFAnimation {
96
99
  * @param bufferViews
97
100
  * @param accessors
98
101
  * @param animationSampleRate
102
+ * @param useRightHanded
103
+ * @param shouldExportAnimation
99
104
  */
100
105
  static _CreateMorphTargetAnimationFromMorphTargetAnimations(babylonNode: Node, runtimeGLTFAnimation: IAnimation, idleGLTFAnimations: IAnimation[], nodeMap: Map<Node, number>, nodes: INode[], bufferManager: BufferManager, bufferViews: IBufferView[], accessors: IAccessor[], animationSampleRate: number, useRightHanded: boolean, shouldExportAnimation?: (animation: Animation) => boolean): void;
101
106
  /**
@@ -109,8 +114,11 @@ export declare class _GLTFAnimation {
109
114
  * @param bufferViews
110
115
  * @param accessors
111
116
  * @param animationSampleRate
117
+ * @param leftHandedNodes nodes that require right-handed conversion
118
+ * @param shouldExportAnimation optional animation filter
119
+ * @param animationGroupMap final glTF animation index for each exported Babylon animation group
112
120
  */
113
- static _CreateNodeAndMorphAnimationFromAnimationGroups(babylonScene: Scene, glTFAnimations: IAnimation[], nodeMap: Map<Node, number>, bufferManager: BufferManager, bufferViews: IBufferView[], accessors: IAccessor[], animationSampleRate: number, leftHandedNodes: Set<Node>, shouldExportAnimation?: (animation: Animation) => boolean): void;
121
+ static _CreateNodeAndMorphAnimationFromAnimationGroups(babylonScene: Scene, glTFAnimations: IAnimation[], nodeMap: Map<Node, number>, bufferManager: BufferManager, bufferViews: IBufferView[], accessors: IAccessor[], animationSampleRate: number, leftHandedNodes: Set<Node>, shouldExportAnimation?: (animation: Animation) => boolean, animationGroupMap?: Map<AnimationGroup, number>): void;
114
122
  private static _AddAnimation;
115
123
  /**
116
124
  * Create a baked animation
@@ -136,6 +136,8 @@ export class _GLTFAnimation {
136
136
  * @param bufferViews
137
137
  * @param accessors
138
138
  * @param animationSampleRate
139
+ * @param useRightHanded
140
+ * @param shouldExportAnimation
139
141
  */
140
142
  static _CreateNodeAnimationFromNodeAnimations(babylonNode, runtimeGLTFAnimation, idleGLTFAnimations, nodeMap, nodes, bufferManager, bufferViews, accessors, animationSampleRate, useRightHanded, shouldExportAnimation) {
141
143
  let glTFAnimation;
@@ -173,6 +175,8 @@ export class _GLTFAnimation {
173
175
  * @param bufferViews
174
176
  * @param accessors
175
177
  * @param animationSampleRate
178
+ * @param useRightHanded
179
+ * @param shouldExportAnimation
176
180
  */
177
181
  static _CreateMorphTargetAnimationFromMorphTargetAnimations(babylonNode, runtimeGLTFAnimation, idleGLTFAnimations, nodeMap, nodes, bufferManager, bufferViews, accessors, animationSampleRate, useRightHanded, shouldExportAnimation) {
178
182
  let glTFAnimation;
@@ -228,8 +232,11 @@ export class _GLTFAnimation {
228
232
  * @param bufferViews
229
233
  * @param accessors
230
234
  * @param animationSampleRate
235
+ * @param leftHandedNodes nodes that require right-handed conversion
236
+ * @param shouldExportAnimation optional animation filter
237
+ * @param animationGroupMap final glTF animation index for each exported Babylon animation group
231
238
  */
232
- static _CreateNodeAndMorphAnimationFromAnimationGroups(babylonScene, glTFAnimations, nodeMap, bufferManager, bufferViews, accessors, animationSampleRate, leftHandedNodes, shouldExportAnimation) {
239
+ static _CreateNodeAndMorphAnimationFromAnimationGroups(babylonScene, glTFAnimations, nodeMap, bufferManager, bufferViews, accessors, animationSampleRate, leftHandedNodes, shouldExportAnimation, animationGroupMap) {
233
240
  let glTFAnimation;
234
241
  if (babylonScene.animationGroups) {
235
242
  const animationGroups = babylonScene.animationGroups;
@@ -339,6 +346,7 @@ export class _GLTFAnimation {
339
346
  }
340
347
  });
341
348
  if (glTFAnimation.channels.length && glTFAnimation.samplers.length) {
349
+ animationGroupMap?.set(animationGroup, glTFAnimations.length);
342
350
  glTFAnimations.push(glTFAnimation);
343
351
  }
344
352
  }