@babylonjs/loaders 9.26.2 → 9.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/glTF/2.0/Extensions/EXT_texture_avif.pure.js +1 -1
  2. package/glTF/2.0/Extensions/EXT_texture_avif.pure.js.map +1 -1
  3. package/glTF/2.0/Extensions/EXT_texture_webp.pure.js +1 -1
  4. package/glTF/2.0/Extensions/EXT_texture_webp.pure.js.map +1 -1
  5. package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.d.ts +33 -0
  6. package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js +166 -37
  7. package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js.map +1 -1
  8. package/glTF/2.0/Extensions/KHR_interactivity/index.d.ts +1 -0
  9. package/glTF/2.0/Extensions/KHR_interactivity/index.js +1 -0
  10. package/glTF/2.0/Extensions/KHR_interactivity/index.js.map +1 -1
  11. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphExporter.d.ts +243 -0
  12. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphExporter.js +2335 -0
  13. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphExporter.js.map +1 -0
  14. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphModel.d.ts +82 -1
  15. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphModel.js +180 -34
  16. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphModel.js.map +1 -1
  17. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.d.ts +14 -2
  18. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js +220 -34
  19. package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js.map +1 -1
  20. package/glTF/2.0/Extensions/KHR_interactivity/pure.d.ts +1 -0
  21. package/glTF/2.0/Extensions/KHR_interactivity/pure.js +1 -0
  22. package/glTF/2.0/Extensions/KHR_interactivity/pure.js.map +1 -1
  23. package/glTF/2.0/Extensions/KHR_interactivity.pure.d.ts +4 -0
  24. package/glTF/2.0/Extensions/KHR_interactivity.pure.js +6 -2
  25. package/glTF/2.0/Extensions/KHR_interactivity.pure.js.map +1 -1
  26. package/glTF/2.0/Extensions/KHR_texture_basisu.pure.js +1 -1
  27. package/glTF/2.0/Extensions/KHR_texture_basisu.pure.js.map +1 -1
  28. package/glTF/2.0/glTFLoader.pure.d.ts +2 -1
  29. package/glTF/2.0/glTFLoader.pure.js +41 -4
  30. package/glTF/2.0/glTFLoader.pure.js.map +1 -1
  31. package/glTF/2.0/glTFLoaderInterfaces.d.ts +9 -0
  32. package/glTF/2.0/glTFLoaderInterfaces.js.map +1 -1
  33. package/package.json +3 -3
@@ -30,7 +30,7 @@ export class EXT_texture_avif {
30
30
  const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);
31
31
  return await this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {
32
32
  assign(babylonTexture);
33
- }, undefined, !texture._textureInfo.nonColorData);
33
+ }, undefined, !texture._textureInfo.nonColorData, texture);
34
34
  });
35
35
  }
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EXT_texture_avif.pure.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/EXT_texture_avif.pure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAEhC;;;GAGG;AACH,gEAAgE;AAChE,MAAM,OAAO,gBAAgB;IASzB;;OAEG;IACH,YAAY,MAAkB;QAX9B,kCAAkC;QAClB,SAAI,GAAG,IAAI,CAAC;QAWxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IACT,OAAO;QACT,IAAI,CAAC,OAAe,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gDAAgD;IACzC,iBAAiB,CAAC,OAAe,EAAE,OAAiB,EAAE,MAA6C;QACtG,OAAO,UAAU,CAAC,kBAAkB,CAA+B,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE;YAClI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5J,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACtG,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACzC,OAAO,EACP,OAAO,EACP,KAAK,EACL,CAAC,cAAc,EAAE,EAAE;gBACf,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC,EACD,SAAS,EACT,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CACrC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;GAGG;AACH,gEAAgE;AAChE,MAAM,UAAU,wBAAwB;IACpC,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC","sourcesContent":["import { type IGLTFLoaderExtension } from \"../glTFLoaderExtension\";\r\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader.pure\";\r\nimport { type ITexture } from \"../glTFLoaderInterfaces\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { type Nullable } from \"core/types\";\r\nimport { type IEXTTextureAVIF } from \"babylonjs-gltf2interface\";\r\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\nconst NAME = \"EXT_texture_avif\";\r\n\r\n/**\r\n * [glTF PR](https://github.com/KhronosGroup/glTF/pull/2235)\r\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_texture_avif/README.md)\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class EXT_texture_avif implements IGLTFLoaderExtension {\r\n /** The name of this extension. */\r\n public readonly name = NAME;\r\n\r\n /** Defines whether this extension is enabled. */\r\n public enabled: boolean;\r\n\r\n private _loader: GLTFLoader;\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(loader: GLTFLoader) {\r\n this._loader = loader;\r\n this.enabled = loader.isExtensionUsed(NAME);\r\n }\r\n\r\n /** @internal */\r\n public dispose() {\r\n (this._loader as any) = null;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n // eslint-disable-next-line no-restricted-syntax\r\n public _loadTextureAsync(context: string, texture: ITexture, assign: (babylonTexture: BaseTexture) => void): Nullable<Promise<BaseTexture>> {\r\n return GLTFLoader.LoadExtensionAsync<IEXTTextureAVIF, BaseTexture>(context, texture, this.name, async (extensionContext, extension) => {\r\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\r\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\r\n return await this._loader._createTextureAsync(\r\n context,\r\n sampler,\r\n image,\r\n (babylonTexture) => {\r\n assign(babylonTexture);\r\n },\r\n undefined,\r\n !texture._textureInfo.nonColorData\r\n );\r\n });\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the EXT_texture_avif glTF loader extension.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function RegisterEXT_texture_avif(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n unregisterGLTFExtension(NAME);\r\n\r\n registerGLTFExtension(NAME, true, (loader) => new EXT_texture_avif(loader));\r\n}\r\n"]}
1
+ {"version":3,"file":"EXT_texture_avif.pure.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/EXT_texture_avif.pure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAEhC;;;GAGG;AACH,gEAAgE;AAChE,MAAM,OAAO,gBAAgB;IASzB;;OAEG;IACH,YAAY,MAAkB;QAX9B,kCAAkC;QAClB,SAAI,GAAG,IAAI,CAAC;QAWxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IACT,OAAO;QACT,IAAI,CAAC,OAAe,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gDAAgD;IACzC,iBAAiB,CAAC,OAAe,EAAE,OAAiB,EAAE,MAA6C;QACtG,OAAO,UAAU,CAAC,kBAAkB,CAA+B,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE;YAClI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5J,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACtG,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACzC,OAAO,EACP,OAAO,EACP,KAAK,EACL,CAAC,cAAc,EAAE,EAAE;gBACf,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC,EACD,SAAS,EACT,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAClC,OAAO,CACV,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;GAGG;AACH,gEAAgE;AAChE,MAAM,UAAU,wBAAwB;IACpC,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC","sourcesContent":["import { type IGLTFLoaderExtension } from \"../glTFLoaderExtension\";\r\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader.pure\";\r\nimport { type ITexture } from \"../glTFLoaderInterfaces\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { type Nullable } from \"core/types\";\r\nimport { type IEXTTextureAVIF } from \"babylonjs-gltf2interface\";\r\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\nconst NAME = \"EXT_texture_avif\";\r\n\r\n/**\r\n * [glTF PR](https://github.com/KhronosGroup/glTF/pull/2235)\r\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_texture_avif/README.md)\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class EXT_texture_avif implements IGLTFLoaderExtension {\r\n /** The name of this extension. */\r\n public readonly name = NAME;\r\n\r\n /** Defines whether this extension is enabled. */\r\n public enabled: boolean;\r\n\r\n private _loader: GLTFLoader;\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(loader: GLTFLoader) {\r\n this._loader = loader;\r\n this.enabled = loader.isExtensionUsed(NAME);\r\n }\r\n\r\n /** @internal */\r\n public dispose() {\r\n (this._loader as any) = null;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n // eslint-disable-next-line no-restricted-syntax\r\n public _loadTextureAsync(context: string, texture: ITexture, assign: (babylonTexture: BaseTexture) => void): Nullable<Promise<BaseTexture>> {\r\n return GLTFLoader.LoadExtensionAsync<IEXTTextureAVIF, BaseTexture>(context, texture, this.name, async (extensionContext, extension) => {\r\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\r\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\r\n return await this._loader._createTextureAsync(\r\n context,\r\n sampler,\r\n image,\r\n (babylonTexture) => {\r\n assign(babylonTexture);\r\n },\r\n undefined,\r\n !texture._textureInfo.nonColorData,\r\n texture\r\n );\r\n });\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the EXT_texture_avif glTF loader extension.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function RegisterEXT_texture_avif(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n unregisterGLTFExtension(NAME);\r\n\r\n registerGLTFExtension(NAME, true, (loader) => new EXT_texture_avif(loader));\r\n}\r\n"]}
@@ -29,7 +29,7 @@ export class EXT_texture_webp {
29
29
  const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);
30
30
  return await this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {
31
31
  assign(babylonTexture);
32
- }, undefined, !texture._textureInfo.nonColorData);
32
+ }, undefined, !texture._textureInfo.nonColorData, texture);
33
33
  });
34
34
  }
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EXT_texture_webp.pure.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/EXT_texture_webp.pure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAEhC;;GAEG;AACH,gEAAgE;AAChE,MAAM,OAAO,gBAAgB;IASzB;;OAEG;IACH,YAAY,MAAkB;QAX9B,kCAAkC;QAClB,SAAI,GAAG,IAAI,CAAC;QAWxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IACT,OAAO;QACT,IAAI,CAAC,OAAe,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gDAAgD;IACzC,iBAAiB,CAAC,OAAe,EAAE,OAAiB,EAAE,MAA6C;QACtG,OAAO,UAAU,CAAC,kBAAkB,CAA+B,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE;YAClI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5J,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACtG,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACzC,OAAO,EACP,OAAO,EACP,KAAK,EACL,CAAC,cAAc,EAAE,EAAE;gBACf,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC,EACD,SAAS,EACT,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CACrC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;GAGG;AACH,gEAAgE;AAChE,MAAM,UAAU,wBAAwB;IACpC,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC","sourcesContent":["import { type IGLTFLoaderExtension } from \"../glTFLoaderExtension\";\r\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader.pure\";\r\nimport { type ITexture } from \"../glTFLoaderInterfaces\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { type Nullable } from \"core/types\";\r\nimport { type IEXTTextureWebP } from \"babylonjs-gltf2interface\";\r\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\nconst NAME = \"EXT_texture_webp\";\r\n\r\n/**\r\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_texture_webp/README.md)\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class EXT_texture_webp implements IGLTFLoaderExtension {\r\n /** The name of this extension. */\r\n public readonly name = NAME;\r\n\r\n /** Defines whether this extension is enabled. */\r\n public enabled: boolean;\r\n\r\n private _loader: GLTFLoader;\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(loader: GLTFLoader) {\r\n this._loader = loader;\r\n this.enabled = loader.isExtensionUsed(NAME);\r\n }\r\n\r\n /** @internal */\r\n public dispose() {\r\n (this._loader as any) = null;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n // eslint-disable-next-line no-restricted-syntax\r\n public _loadTextureAsync(context: string, texture: ITexture, assign: (babylonTexture: BaseTexture) => void): Nullable<Promise<BaseTexture>> {\r\n return GLTFLoader.LoadExtensionAsync<IEXTTextureWebP, BaseTexture>(context, texture, this.name, async (extensionContext, extension) => {\r\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\r\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\r\n return await this._loader._createTextureAsync(\r\n context,\r\n sampler,\r\n image,\r\n (babylonTexture) => {\r\n assign(babylonTexture);\r\n },\r\n undefined,\r\n !texture._textureInfo.nonColorData\r\n );\r\n });\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the EXT_texture_webp glTF loader extension.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function RegisterEXT_texture_webp(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n unregisterGLTFExtension(NAME);\r\n\r\n registerGLTFExtension(NAME, true, (loader) => new EXT_texture_webp(loader));\r\n}\r\n"]}
1
+ {"version":3,"file":"EXT_texture_webp.pure.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/EXT_texture_webp.pure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAEhC;;GAEG;AACH,gEAAgE;AAChE,MAAM,OAAO,gBAAgB;IASzB;;OAEG;IACH,YAAY,MAAkB;QAX9B,kCAAkC;QAClB,SAAI,GAAG,IAAI,CAAC;QAWxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IACT,OAAO;QACT,IAAI,CAAC,OAAe,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gDAAgD;IACzC,iBAAiB,CAAC,OAAe,EAAE,OAAiB,EAAE,MAA6C;QACtG,OAAO,UAAU,CAAC,kBAAkB,CAA+B,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE;YAClI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5J,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACtG,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACzC,OAAO,EACP,OAAO,EACP,KAAK,EACL,CAAC,cAAc,EAAE,EAAE;gBACf,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC,EACD,SAAS,EACT,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAClC,OAAO,CACV,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;GAGG;AACH,gEAAgE;AAChE,MAAM,UAAU,wBAAwB;IACpC,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC","sourcesContent":["import { type IGLTFLoaderExtension } from \"../glTFLoaderExtension\";\r\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader.pure\";\r\nimport { type ITexture } from \"../glTFLoaderInterfaces\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { type Nullable } from \"core/types\";\r\nimport { type IEXTTextureWebP } from \"babylonjs-gltf2interface\";\r\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\n\r\nconst NAME = \"EXT_texture_webp\";\r\n\r\n/**\r\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_texture_webp/README.md)\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class EXT_texture_webp implements IGLTFLoaderExtension {\r\n /** The name of this extension. */\r\n public readonly name = NAME;\r\n\r\n /** Defines whether this extension is enabled. */\r\n public enabled: boolean;\r\n\r\n private _loader: GLTFLoader;\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(loader: GLTFLoader) {\r\n this._loader = loader;\r\n this.enabled = loader.isExtensionUsed(NAME);\r\n }\r\n\r\n /** @internal */\r\n public dispose() {\r\n (this._loader as any) = null;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n // eslint-disable-next-line no-restricted-syntax\r\n public _loadTextureAsync(context: string, texture: ITexture, assign: (babylonTexture: BaseTexture) => void): Nullable<Promise<BaseTexture>> {\r\n return GLTFLoader.LoadExtensionAsync<IEXTTextureWebP, BaseTexture>(context, texture, this.name, async (extensionContext, extension) => {\r\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\r\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\r\n return await this._loader._createTextureAsync(\r\n context,\r\n sampler,\r\n image,\r\n (babylonTexture) => {\r\n assign(babylonTexture);\r\n },\r\n undefined,\r\n !texture._textureInfo.nonColorData,\r\n texture\r\n );\r\n });\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the EXT_texture_webp glTF loader extension.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function RegisterEXT_texture_webp(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n unregisterGLTFExtension(NAME);\r\n\r\n registerGLTFExtension(NAME, true, (loader) => new EXT_texture_webp(loader));\r\n}\r\n"]}
@@ -104,6 +104,8 @@ export interface IGLTFToFlowGraphMappingObject {
104
104
  * Allowed KHR type signatures for a type-index configuration.
105
105
  */
106
106
  allowedSignatures?: readonly ("bool" | "float" | "float2" | "float3" | "float4" | "float2x2" | "float3x3" | "float4x4" | "int" | "ref" | "custom")[];
107
+ /** Allowed literal values for this configuration property. */
108
+ allowedValues?: readonly (boolean | number | string)[];
107
109
  /**
108
110
  * Input socket whose effective type determines this output socket type.
109
111
  */
@@ -261,6 +263,19 @@ export interface IGLTFToFlowGraphMapping {
261
263
  extraProcessor?: (gltfBlock: IKHRInteractivity_Node, declaration: IKHRInteractivity_Declaration, mapping: IGLTFToFlowGraphMapping, parser: InteractivityGraphToFlowGraphParser, serializedObjects: ISerializedFlowGraphBlock[], context: ISerializedFlowGraphContext, globalGLTF?: IGLTF) => ISerializedFlowGraphBlock[];
262
264
  }
263
265
  export declare function getMappingForFullOperationName(fullOperationName: string): IGLTFToFlowGraphMapping | undefined;
266
+ /**
267
+ * Returns whether a KHR operation accepts the conventional `in` flow socket when the registry
268
+ * does not need a renamed or dynamic input mapping.
269
+ * @param operation full KHR operation name
270
+ * @returns true when the operation accepts the conventional input flow
271
+ */
272
+ export declare function HasDefaultInteractivityFlowInput(operation: string): boolean;
273
+ /**
274
+ * Normalizes serialized or runtime FlowGraph custom-event configuration for inverse comparison.
275
+ * @param value serialized event-data entries or the runtime event-data dictionary
276
+ * @returns stable event-data entries sorted by socket id
277
+ */
278
+ export declare function NormalizeInteractivityEventDataConfiguration(value: unknown): unknown;
264
279
  export declare function getMappingForDeclaration(declaration: IKHRInteractivity_Declaration, returnNoOpIfNotAvailable?: boolean): IGLTFToFlowGraphMapping | undefined;
265
280
  /**
266
281
  * Creates the typed no-op mapping required for an unsupported extension declaration.
@@ -276,6 +291,24 @@ export declare function getNoOpMappingForDeclaration(declaration: IKHRInteractiv
276
291
  * @param mapping The mapping object. See documentation or examples below.
277
292
  */
278
293
  export declare function addNewInteractivityFlowGraphMapping(key: string, extension: string, mapping: IGLTFToFlowGraphMapping): void;
294
+ /**
295
+ * One operation entry in the shared KHR_interactivity-to-FlowGraph registry.
296
+ */
297
+ export interface IKHRInteractivityOperationRegistryEntry {
298
+ /** Ratified operation identifier. */
299
+ op: string;
300
+ /** Extension defining the operation, when it is not a KHR_interactivity core operation. */
301
+ extension?: string;
302
+ /** Bidirectional structural mapping used by import and export. */
303
+ mapping: IGLTFToFlowGraphMapping;
304
+ }
305
+ /**
306
+ * Gets a deterministic snapshot of the registered KHR_interactivity operation mappings.
307
+ * Export analysis uses this same registry as import lowering so the two directions cannot
308
+ * independently drift.
309
+ * @returns registered mappings sorted by extension and operation
310
+ */
311
+ export declare function GetInteractivityOperationRegistry(): readonly IKHRInteractivityOperationRegistryEntry[];
279
312
  /**
280
313
  * Result of parsing a ratified `debug/log` message template.
281
314
  */
@@ -11,8 +11,77 @@ export function getMappingForFullOperationName(fullOperationName) {
11
11
  const [op, extension] = fullOperationName.split(":");
12
12
  return getMappingForDeclaration({ op, extension });
13
13
  }
14
+ /**
15
+ * Returns whether a KHR operation accepts the conventional `in` flow socket when the registry
16
+ * does not need a renamed or dynamic input mapping.
17
+ * @param operation full KHR operation name
18
+ * @returns true when the operation accepts the conventional input flow
19
+ */
20
+ export function HasDefaultInteractivityFlowInput(operation) {
21
+ if (operation === "flow/waitAll") {
22
+ return false;
23
+ }
24
+ return (operation.startsWith("flow/") ||
25
+ operation.startsWith("animation/") ||
26
+ operation === "pointer/set" ||
27
+ operation === "pointer/interpolate" ||
28
+ operation === "variable/set" ||
29
+ operation === "variable/interpolate" ||
30
+ operation === "event/send" ||
31
+ operation === "event/stopPropagation" ||
32
+ operation === "flow/log:BABYLON");
33
+ }
34
+ /**
35
+ * Normalizes serialized or runtime FlowGraph custom-event configuration for inverse comparison.
36
+ * @param value serialized event-data entries or the runtime event-data dictionary
37
+ * @returns stable event-data entries sorted by socket id
38
+ */
39
+ export function NormalizeInteractivityEventDataConfiguration(value) {
40
+ const normalizeValue = (entry) => {
41
+ if (Array.isArray(entry)) {
42
+ return entry.slice();
43
+ }
44
+ if (entry !== null && typeof entry === "object") {
45
+ if (typeof entry.asArray === "function") {
46
+ return Array.from(entry.asArray());
47
+ }
48
+ if (Object.prototype.hasOwnProperty.call(entry, "value")) {
49
+ const nested = entry.value;
50
+ return Array.isArray(nested) ? nested.slice() : [nested];
51
+ }
52
+ }
53
+ return [entry];
54
+ };
55
+ if (Array.isArray(value)) {
56
+ return value
57
+ .filter((entry) => entry !== null && typeof entry === "object" && typeof entry.id === "string")
58
+ .map((entry) => ({
59
+ id: entry.id,
60
+ type: entry.type,
61
+ ...(entry.value === undefined ? {} : { value: normalizeValue(entry.value) }),
62
+ }))
63
+ .sort((left, right) => left.id.localeCompare(right.id));
64
+ }
65
+ if (value !== null && typeof value === "object") {
66
+ return Object.entries(value)
67
+ .map(([id, entry]) => {
68
+ if (entry === null || typeof entry !== "object") {
69
+ return { id, malformed: true };
70
+ }
71
+ const definition = entry;
72
+ return {
73
+ id,
74
+ type: typeof definition.type === "string" ? definition.type : definition.type?.typeName,
75
+ ...(definition.value === undefined ? {} : { value: normalizeValue(definition.value) }),
76
+ };
77
+ })
78
+ .sort((left, right) => left.id.localeCompare(right.id));
79
+ }
80
+ return value;
81
+ }
14
82
  export function getMappingForDeclaration(declaration, returnNoOpIfNotAvailable = true) {
15
- const mapping = declaration.extension ? gltfExtensionsToFlowGraphMapping[declaration.extension]?.[declaration.op] : gltfToFlowGraphMapping[declaration.op];
83
+ const extensionMappings = declaration.extension ? _GetOwnRegistryValue(gltfExtensionsToFlowGraphMapping, declaration.extension) : undefined;
84
+ const mapping = declaration.extension ? _GetOwnRegistryValue(extensionMappings, declaration.op) : _GetOwnRegistryValue(gltfToFlowGraphMapping, declaration.op);
16
85
  if (!mapping) {
17
86
  if (returnNoOpIfNotAvailable) {
18
87
  Logger.Warn(`No mapping found for operation ${declaration.op} and extension ${declaration.extension || "KHR_interactivity"}`);
@@ -32,19 +101,27 @@ export function getNoOpMappingForDeclaration(declaration) {
32
101
  flows: {},
33
102
  };
34
103
  if (declaration.inputValueSockets) {
35
- inputs.values = {};
104
+ inputs.values = Object.create(null);
36
105
  for (const key in declaration.inputValueSockets) {
37
- inputs.values[key] = {
38
- name: key,
39
- };
106
+ if (Object.prototype.hasOwnProperty.call(declaration.inputValueSockets, key)) {
107
+ Object.defineProperty(inputs.values, key, {
108
+ configurable: true,
109
+ enumerable: true,
110
+ value: { name: key },
111
+ writable: true,
112
+ });
113
+ }
40
114
  }
41
115
  }
42
116
  if (declaration.outputValueSockets) {
43
- outputs.values = {};
117
+ outputs.values = Object.create(null);
44
118
  Object.keys(declaration.outputValueSockets).forEach((key) => {
45
- outputs.values[key] = {
46
- name: key,
47
- };
119
+ Object.defineProperty(outputs.values, key, {
120
+ configurable: true,
121
+ enumerable: true,
122
+ value: { name: key },
123
+ writable: true,
124
+ });
48
125
  });
49
126
  }
50
127
  return {
@@ -61,8 +138,47 @@ export function getNoOpMappingForDeclaration(declaration) {
61
138
  * @param mapping The mapping object. See documentation or examples below.
62
139
  */
63
140
  export function addNewInteractivityFlowGraphMapping(key, extension, mapping) {
64
- gltfExtensionsToFlowGraphMapping[extension] || (gltfExtensionsToFlowGraphMapping[extension] = {});
65
- gltfExtensionsToFlowGraphMapping[extension][key] = mapping;
141
+ let extensionMappings = _GetOwnRegistryValue(gltfExtensionsToFlowGraphMapping, extension);
142
+ if (!extensionMappings) {
143
+ extensionMappings = Object.create(null);
144
+ Object.defineProperty(gltfExtensionsToFlowGraphMapping, extension, {
145
+ configurable: true,
146
+ enumerable: true,
147
+ value: extensionMappings,
148
+ writable: true,
149
+ });
150
+ }
151
+ Object.defineProperty(extensionMappings, key, {
152
+ configurable: true,
153
+ enumerable: true,
154
+ value: mapping,
155
+ writable: true,
156
+ });
157
+ }
158
+ function _GetOwnRegistryValue(registry, key) {
159
+ return registry && Object.prototype.hasOwnProperty.call(registry, key) ? registry[key] : undefined;
160
+ }
161
+ /**
162
+ * Gets a deterministic snapshot of the registered KHR_interactivity operation mappings.
163
+ * Export analysis uses this same registry as import lowering so the two directions cannot
164
+ * independently drift.
165
+ * @returns registered mappings sorted by extension and operation
166
+ */
167
+ export function GetInteractivityOperationRegistry() {
168
+ const entries = Object.keys(gltfToFlowGraphMapping).map((op) => ({
169
+ op,
170
+ mapping: gltfToFlowGraphMapping[op],
171
+ }));
172
+ for (const extension of Object.keys(gltfExtensionsToFlowGraphMapping).sort()) {
173
+ for (const op of Object.keys(gltfExtensionsToFlowGraphMapping[extension]).sort()) {
174
+ entries.push({
175
+ op,
176
+ extension,
177
+ mapping: gltfExtensionsToFlowGraphMapping[extension][op],
178
+ });
179
+ }
180
+ }
181
+ return entries.sort((left, right) => `${left.extension ?? ""}:${left.op}`.localeCompare(`${right.extension ?? ""}:${right.op}`));
66
182
  }
67
183
  const gltfExtensionsToFlowGraphMapping = {
68
184
  /**
@@ -261,7 +377,7 @@ const gltfToFlowGraphMapping = {
261
377
  },
262
378
  outputs: {
263
379
  values: {
264
- value: { name: "value" },
380
+ value: { name: "value", typeSourceInput: "a" },
265
381
  },
266
382
  },
267
383
  extraProcessor(gltfBlock, declaration, _mapping, parser, serializedObjects) {
@@ -286,7 +402,7 @@ const gltfToFlowGraphMapping = {
286
402
  },
287
403
  outputs: {
288
404
  values: {
289
- value: { name: "value" },
405
+ value: { name: "value", typeSourceInput: "a" },
290
406
  },
291
407
  },
292
408
  extraProcessor(_gltfBlock, _declaration, _mapping, _parser, serializedObjects) {
@@ -402,7 +518,7 @@ const gltfToFlowGraphMapping = {
402
518
  blocks: ["FlowGraphRandomBlock" /* FlowGraphBlockNames.Random */],
403
519
  outputs: {
404
520
  values: {
405
- value: { name: "value" },
521
+ value: { name: "value", gltfType: "float" },
406
522
  },
407
523
  },
408
524
  },
@@ -431,7 +547,7 @@ const gltfToFlowGraphMapping = {
431
547
  ...getSimpleInputMapping("FlowGraphNormalizeBlock" /* FlowGraphBlockNames.Normalize */),
432
548
  outputs: {
433
549
  values: {
434
- value: { name: "value" },
550
+ value: { name: "value", typeSourceInput: "a" },
435
551
  isValid: { name: "isValid", gltfType: "bool" },
436
552
  },
437
553
  },
@@ -448,7 +564,7 @@ const gltfToFlowGraphMapping = {
448
564
  },
449
565
  outputs: {
450
566
  values: {
451
- value: { name: "value" },
567
+ value: { name: "value", typeSourceInput: "a" },
452
568
  },
453
569
  },
454
570
  },
@@ -462,7 +578,7 @@ const gltfToFlowGraphMapping = {
462
578
  },
463
579
  outputs: {
464
580
  values: {
465
- value: { name: "value" },
581
+ value: { name: "value", typeSourceInput: "a" },
466
582
  },
467
583
  },
468
584
  },
@@ -477,7 +593,7 @@ const gltfToFlowGraphMapping = {
477
593
  },
478
594
  outputs: {
479
595
  values: {
480
- value: { name: "value" },
596
+ value: { name: "value", typeSourceInput: "a" },
481
597
  },
482
598
  },
483
599
  },
@@ -491,7 +607,7 @@ const gltfToFlowGraphMapping = {
491
607
  },
492
608
  outputs: {
493
609
  values: {
494
- value: { name: "value" },
610
+ value: { name: "value", gltfType: "float2" },
495
611
  },
496
612
  },
497
613
  },
@@ -506,7 +622,7 @@ const gltfToFlowGraphMapping = {
506
622
  },
507
623
  outputs: {
508
624
  values: {
509
- value: { name: "value" },
625
+ value: { name: "value", gltfType: "float3" },
510
626
  },
511
627
  },
512
628
  },
@@ -522,7 +638,7 @@ const gltfToFlowGraphMapping = {
522
638
  },
523
639
  outputs: {
524
640
  values: {
525
- value: { name: "value" },
641
+ value: { name: "value", gltfType: "float4" },
526
642
  },
527
643
  },
528
644
  },
@@ -578,7 +694,7 @@ const gltfToFlowGraphMapping = {
578
694
  ...getSimpleInputMapping("FlowGraphInvertMatrixBlock" /* FlowGraphBlockNames.InvertMatrix */),
579
695
  outputs: {
580
696
  values: {
581
- value: { name: "value" },
697
+ value: { name: "value", typeSourceInput: "a" },
582
698
  isValid: { name: "isValid", gltfType: "bool" },
583
699
  },
584
700
  },
@@ -643,13 +759,13 @@ const gltfToFlowGraphMapping = {
643
759
  blocks: ["FlowGraphMultiplyBlock" /* FlowGraphBlockNames.Multiply */],
644
760
  inputs: {
645
761
  values: {
646
- a: { name: "a", gltfType: "vector4" },
647
- b: { name: "b", gltfType: "vector4" },
762
+ a: { name: "a", gltfType: "float4" },
763
+ b: { name: "b", gltfType: "float4" },
648
764
  },
649
765
  },
650
766
  outputs: {
651
767
  values: {
652
- value: { name: "value" },
768
+ value: { name: "value", gltfType: "float4" },
653
769
  },
654
770
  },
655
771
  extraProcessor(_gltfBlock, _declaration, _mapping, _parser, serializedObjects) {
@@ -670,7 +786,7 @@ const gltfToFlowGraphMapping = {
670
786
  },
671
787
  outputs: {
672
788
  values: {
673
- value: { name: "value" },
789
+ value: { name: "value", gltfType: "float4" },
674
790
  },
675
791
  },
676
792
  },
@@ -688,7 +804,14 @@ const gltfToFlowGraphMapping = {
688
804
  },
689
805
  },
690
806
  },
691
- "math/quatFromDirections": getSimpleInputMapping("FlowGraphQuaternionFromDirectionsBlock" /* FlowGraphBlockNames.QuaternionFromDirections */, ["a", "b"]),
807
+ "math/quatFromDirections": {
808
+ ...getSimpleInputMapping("FlowGraphQuaternionFromDirectionsBlock" /* FlowGraphBlockNames.QuaternionFromDirections */, ["a", "b"]),
809
+ outputs: {
810
+ values: {
811
+ value: { name: "value", gltfType: "float4" },
812
+ },
813
+ },
814
+ },
692
815
  "math/quatFromUpForward": {
693
816
  blocks: ["FlowGraphQuaternionFromUpForwardBlock" /* FlowGraphBlockNames.QuaternionFromUpForward */],
694
817
  inputs: {
@@ -699,7 +822,7 @@ const gltfToFlowGraphMapping = {
699
822
  },
700
823
  outputs: {
701
824
  values: {
702
- value: { name: "value" },
825
+ value: { name: "value", gltfType: "float4" },
703
826
  },
704
827
  },
705
828
  },
@@ -708,7 +831,13 @@ const gltfToFlowGraphMapping = {
708
831
  "math/quatFromAngles": {
709
832
  blocks: ["FlowGraphQuaternionFromAnglesBlock" /* FlowGraphBlockNames.QuaternionFromAngles */],
710
833
  configuration: {
711
- order: { name: "order", defaultValue: ["yxz"] },
834
+ order: {
835
+ name: "order",
836
+ defaultValue: ["yxz"],
837
+ configurationType: "string",
838
+ invalidUsesDefault: true,
839
+ allowedValues: ["xyz", "xzy", "yxz", "yzx", "zxy", "zyx"],
840
+ },
712
841
  },
713
842
  inputs: {
714
843
  values: {
@@ -719,7 +848,7 @@ const gltfToFlowGraphMapping = {
719
848
  },
720
849
  outputs: {
721
850
  values: {
722
- value: { name: "value" },
851
+ value: { name: "value", gltfType: "float4" },
723
852
  },
724
853
  },
725
854
  },
@@ -735,7 +864,7 @@ const gltfToFlowGraphMapping = {
735
864
  },
736
865
  outputs: {
737
866
  values: {
738
- value: { name: "value" },
867
+ value: { name: "value", gltfType: "float2x2" },
739
868
  },
740
869
  },
741
870
  },
@@ -772,7 +901,7 @@ const gltfToFlowGraphMapping = {
772
901
  },
773
902
  outputs: {
774
903
  values: {
775
- value: { name: "value" },
904
+ value: { name: "value", gltfType: "float3x3" },
776
905
  },
777
906
  },
778
907
  },
@@ -821,7 +950,7 @@ const gltfToFlowGraphMapping = {
821
950
  },
822
951
  outputs: {
823
952
  values: {
824
- value: { name: "value" },
953
+ value: { name: "value", gltfType: "float4x4" },
825
954
  },
826
955
  },
827
956
  },
@@ -863,7 +992,7 @@ const gltfToFlowGraphMapping = {
863
992
  },
864
993
  outputs: {
865
994
  values: {
866
- value: { name: "value" },
995
+ value: { name: "value", typeSourceInput: "a" },
867
996
  },
868
997
  },
869
998
  extraProcessor(_gltfBlock, _declaration, _mapping, _parser, serializedObjects, context) {
@@ -886,7 +1015,7 @@ const gltfToFlowGraphMapping = {
886
1015
  },
887
1016
  outputs: {
888
1017
  values: {
889
- value: { name: "value" },
1018
+ value: { name: "value", typeSourceInput: "a" },
890
1019
  },
891
1020
  },
892
1021
  extraProcessor(_gltfBlock, _declaration, _mapping, _parser, serializedObjects, context) {
@@ -911,7 +1040,7 @@ const gltfToFlowGraphMapping = {
911
1040
  },
912
1041
  outputs: {
913
1042
  values: {
914
- value: { name: "value" },
1043
+ value: { name: "value", typeSourceInput: "a" },
915
1044
  },
916
1045
  },
917
1046
  extraProcessor(_gltfBlock, _declaration, _mapping, _parser, serializedObjects, context) {
@@ -936,7 +1065,7 @@ const gltfToFlowGraphMapping = {
936
1065
  },
937
1066
  outputs: {
938
1067
  values: {
939
- value: { name: "value" },
1068
+ value: { name: "value", typeSourceInput: "a" },
940
1069
  },
941
1070
  },
942
1071
  extraProcessor(_gltfBlock, _declaration, _mapping, _parser, serializedObjects, context) {