@babylonjs/loaders 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.
- package/glTF/2.0/Extensions/EXT_texture_avif.pure.js +1 -1
- package/glTF/2.0/Extensions/EXT_texture_avif.pure.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_texture_webp.pure.js +1 -1
- package/glTF/2.0/Extensions/EXT_texture_webp.pure.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.d.ts +33 -0
- package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js +166 -37
- package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity/index.d.ts +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity/index.js +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity/index.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphExporter.d.ts +243 -0
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphExporter.js +2335 -0
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphExporter.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphModel.d.ts +82 -1
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphModel.js +180 -34
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphModel.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.d.ts +14 -2
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js +220 -34
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity/pure.d.ts +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity/pure.js +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity/pure.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity.pure.d.ts +4 -0
- package/glTF/2.0/Extensions/KHR_interactivity.pure.js +6 -2
- package/glTF/2.0/Extensions/KHR_interactivity.pure.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_texture_basisu.pure.js +1 -1
- package/glTF/2.0/Extensions/KHR_texture_basisu.pure.js.map +1 -1
- package/glTF/2.0/glTFLoader.pure.d.ts +2 -1
- package/glTF/2.0/glTFLoader.pure.js +41 -4
- package/glTF/2.0/glTFLoader.pure.js.map +1 -1
- package/glTF/2.0/glTFLoaderInterfaces.d.ts +9 -0
- package/glTF/2.0/glTFLoaderInterfaces.js.map +1 -1
- 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,
|
|
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,
|
|
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
|
|
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
|
-
|
|
38
|
-
|
|
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
|
|
46
|
-
|
|
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
|
-
|
|
65
|
-
|
|
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: "
|
|
647
|
-
b: { name: "b", gltfType: "
|
|
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":
|
|
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: {
|
|
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) {
|