@babylonjs/loaders 8.2.0 → 8.2.2
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/OBJ/index.d.ts +4 -4
- package/OBJ/objFileLoader.d.ts +2 -2
- package/OBJ/solidParser.d.ts +1 -1
- package/SPLAT/index.d.ts +2 -2
- package/SPLAT/splatFileLoader.d.ts +2 -2
- package/STL/index.d.ts +1 -1
- package/STL/stlFileLoader.d.ts +1 -1
- package/glTF/1.0/glTFBinaryExtension.d.ts +3 -3
- package/glTF/1.0/glTFLoader.d.ts +2 -2
- package/glTF/1.0/glTFLoaderUtils.d.ts +2 -2
- package/glTF/1.0/glTFMaterialsCommonExtension.d.ts +2 -2
- package/glTF/1.0/index.d.ts +5 -5
- package/glTF/2.0/Extensions/EXT_lights_ies.d.ts +4 -4
- package/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +4 -4
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +4 -4
- package/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +4 -4
- package/glTF/2.0/Extensions/EXT_texture_avif.d.ts +4 -4
- package/glTF/2.0/Extensions/EXT_texture_webp.d.ts +4 -4
- package/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_animation_pointer.d.ts +5 -5
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.d.ts +6 -3
- package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js +48 -24
- package/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.d.ts +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity/index.d.ts +3 -3
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.d.ts +3 -3
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js +7 -2
- package/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity.d.ts +3 -3
- package/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_dispersion.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_ior.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_iridescence.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_specular.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_materials_variants.d.ts +5 -5
- package/glTF/2.0/Extensions/KHR_materials_volume.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +3 -3
- package/glTF/2.0/Extensions/KHR_node_hoverability.d.ts +3 -3
- package/glTF/2.0/Extensions/KHR_node_selectability.d.ts +3 -3
- package/glTF/2.0/Extensions/KHR_node_visibility.d.ts +3 -3
- package/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_texture_transform.d.ts +4 -4
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +3 -3
- package/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +4 -4
- package/glTF/2.0/Extensions/MSFT_lod.d.ts +4 -4
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +4 -4
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +4 -4
- package/glTF/2.0/Extensions/gltfPathToObjectConverter.d.ts +9 -1
- package/glTF/2.0/Extensions/gltfPathToObjectConverter.js +17 -2
- package/glTF/2.0/Extensions/gltfPathToObjectConverter.js.map +1 -1
- package/glTF/2.0/Extensions/index.d.ts +38 -38
- package/glTF/2.0/Extensions/objectModelMapping.d.ts +2 -2
- package/glTF/2.0/glTFLoader.d.ts +5 -5
- package/glTF/2.0/glTFLoaderAnimation.d.ts +1 -1
- package/glTF/2.0/glTFLoaderExtension.d.ts +2 -2
- package/glTF/2.0/glTFLoaderExtensionRegistry.d.ts +2 -2
- package/glTF/2.0/index.d.ts +6 -6
- package/glTF/glTFFileLoader.d.ts +1 -1
- package/glTF/index.d.ts +4 -4
- package/index.d.ts +4 -4
- package/legacy/legacy-glTF1FileLoader.d.ts +2 -2
- package/legacy/legacy-glTF2FileLoader.d.ts +2 -2
- package/legacy/legacy-glTFFileLoader.d.ts +3 -3
- package/legacy/legacy.d.ts +5 -5
- package/package.json +3 -3
package/OBJ/index.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
export * from "./mtlFileLoader";
|
2
|
-
export * from "./objLoadingOptions";
|
3
|
-
export * from "./solidParser";
|
4
|
-
export * from "./objFileLoader";
|
1
|
+
export * from "./mtlFileLoader.js";
|
2
|
+
export * from "./objLoadingOptions.js";
|
3
|
+
export * from "./solidParser.js";
|
4
|
+
export * from "./objFileLoader.js";
|
package/OBJ/objFileLoader.d.ts
CHANGED
@@ -2,8 +2,8 @@ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
2
|
import type { ISceneLoaderPluginAsync, ISceneLoaderPluginFactory, ISceneLoaderPlugin, ISceneLoaderAsyncResult, SceneLoaderPluginOptions } from "@babylonjs/core/Loading/sceneLoader.js";
|
3
3
|
import { AssetContainer } from "@babylonjs/core/assetContainer.js";
|
4
4
|
import type { Scene } from "@babylonjs/core/scene.js";
|
5
|
-
import { OBJFileLoaderMetadata } from "./objFileLoader.metadata";
|
6
|
-
import type { OBJLoadingOptions } from "./objLoadingOptions";
|
5
|
+
import { OBJFileLoaderMetadata } from "./objFileLoader.metadata.js";
|
6
|
+
import type { OBJLoadingOptions } from "./objLoadingOptions.js";
|
7
7
|
declare module "@babylonjs/core/Loading/sceneLoader.js" {
|
8
8
|
interface SceneLoaderPluginOptions {
|
9
9
|
/**
|
package/OBJ/solidParser.d.ts
CHANGED
@@ -2,7 +2,7 @@ import type { AssetContainer } from "@babylonjs/core/assetContainer.js";
|
|
2
2
|
import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
|
3
3
|
import type { Scene } from "@babylonjs/core/scene.js";
|
4
4
|
import type { Nullable } from "@babylonjs/core/types.js";
|
5
|
-
import type { OBJLoadingOptions } from "./objLoadingOptions";
|
5
|
+
import type { OBJLoadingOptions } from "./objLoadingOptions.js";
|
6
6
|
/**
|
7
7
|
* Class used to load mesh data from OBJ content
|
8
8
|
*/
|
package/SPLAT/index.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from "./splatLoadingOptions";
|
2
|
-
export * from "./splatFileLoader";
|
1
|
+
export * from "./splatLoadingOptions.js";
|
2
|
+
export * from "./splatFileLoader.js";
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { ISceneLoaderPluginAsync, ISceneLoaderPluginFactory, ISceneLoaderAsyncResult, ISceneLoaderProgressEvent, SceneLoaderPluginOptions } from "@babylonjs/core/Loading/sceneLoader.js";
|
2
|
-
import { SPLATFileLoaderMetadata } from "./splatFileLoader.metadata";
|
2
|
+
import { SPLATFileLoaderMetadata } from "./splatFileLoader.metadata.js";
|
3
3
|
import { AssetContainer } from "@babylonjs/core/assetContainer.js";
|
4
4
|
import type { Scene } from "@babylonjs/core/scene.js";
|
5
|
-
import type { SPLATLoadingOptions } from "./splatLoadingOptions";
|
5
|
+
import type { SPLATLoadingOptions } from "./splatLoadingOptions.js";
|
6
6
|
declare module "@babylonjs/core/Loading/sceneLoader.js" {
|
7
7
|
interface SceneLoaderPluginOptions {
|
8
8
|
/**
|
package/STL/index.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export * from "./stlFileLoader";
|
1
|
+
export * from "./stlFileLoader.js";
|
package/STL/stlFileLoader.d.ts
CHANGED
@@ -3,7 +3,7 @@ import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
3
3
|
import type { ISceneLoaderPlugin } from "@babylonjs/core/Loading/sceneLoader.js";
|
4
4
|
import { AssetContainer } from "@babylonjs/core/assetContainer.js";
|
5
5
|
import type { Scene } from "@babylonjs/core/scene.js";
|
6
|
-
import { STLFileLoaderMetadata } from "./stlFileLoader.metadata";
|
6
|
+
import { STLFileLoaderMetadata } from "./stlFileLoader.metadata.js";
|
7
7
|
import "@babylonjs/core/Materials/standardMaterial.js";
|
8
8
|
declare module "@babylonjs/core/Loading/sceneLoader.js" {
|
9
9
|
interface SceneLoaderPluginOptions {
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { GLTFLoaderExtension } from "./glTFLoader";
|
1
|
+
import { GLTFLoaderExtension } from "./glTFLoader.js";
|
2
2
|
import type { Scene } from "@babylonjs/core/scene.js";
|
3
|
-
import type { IGLTFLoaderData } from "../glTFFileLoader";
|
4
|
-
import type { IGLTFRuntime } from "./glTFLoaderInterfaces";
|
3
|
+
import type { IGLTFLoaderData } from "../glTFFileLoader.js";
|
4
|
+
import type { IGLTFRuntime } from "./glTFLoaderInterfaces.js";
|
5
5
|
/**
|
6
6
|
* @internal
|
7
7
|
* @deprecated
|
package/glTF/1.0/glTFLoader.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import type { IGLTFRuntime } from "./glTFLoaderInterfaces";
|
1
|
+
import type { IGLTFRuntime } from "./glTFLoaderInterfaces.js";
|
2
2
|
import type { Nullable } from "@babylonjs/core/types.js";
|
3
3
|
import { Material } from "@babylonjs/core/Materials/material.js";
|
4
4
|
import { Texture } from "@babylonjs/core/Materials/Textures/texture.js";
|
5
5
|
import type { ISceneLoaderAsyncResult, ISceneLoaderProgressEvent } from "@babylonjs/core/Loading/sceneLoader.js";
|
6
6
|
import type { Scene } from "@babylonjs/core/scene.js";
|
7
|
-
import type { IGLTFLoader, IGLTFLoaderData } from "../glTFFileLoader";
|
7
|
+
import type { IGLTFLoader, IGLTFLoaderData } from "../glTFFileLoader.js";
|
8
8
|
import type { AssetContainer } from "@babylonjs/core/assetContainer.js";
|
9
9
|
/**
|
10
10
|
* Implementation of the base glTF spec
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { IGLTFTechniqueParameter, IGLTFAccessor, IGLTFRuntime, IGLTFBufferView } from "./glTFLoaderInterfaces";
|
2
|
-
import { EComponentType } from "./glTFLoaderInterfaces";
|
1
|
+
import type { IGLTFTechniqueParameter, IGLTFAccessor, IGLTFRuntime, IGLTFBufferView } from "./glTFLoaderInterfaces.js";
|
2
|
+
import { EComponentType } from "./glTFLoaderInterfaces.js";
|
3
3
|
import { Effect } from "@babylonjs/core/Materials/effect.js";
|
4
4
|
import { ShaderMaterial } from "@babylonjs/core/Materials/shaderMaterial.js";
|
5
5
|
import type { Node } from "@babylonjs/core/node.js";
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { GLTFLoaderExtension } from "./glTFLoader";
|
2
|
-
import type { IGLTFRuntime } from "./glTFLoaderInterfaces";
|
1
|
+
import { GLTFLoaderExtension } from "./glTFLoader.js";
|
2
|
+
import type { IGLTFRuntime } from "./glTFLoaderInterfaces.js";
|
3
3
|
import { Material } from "@babylonjs/core/Materials/material.js";
|
4
4
|
/**
|
5
5
|
* @internal
|
package/glTF/1.0/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
export * from "./glTFBinaryExtension";
|
2
|
-
export * from "./glTFLoader";
|
3
|
-
export * from "./glTFLoaderInterfaces";
|
4
|
-
export * from "./glTFLoaderUtils";
|
5
|
-
export * from "./glTFMaterialsCommonExtension";
|
1
|
+
export * from "./glTFBinaryExtension.js";
|
2
|
+
export * from "./glTFLoader.js";
|
3
|
+
export * from "./glTFLoaderInterfaces.js";
|
4
|
+
export * from "./glTFLoaderUtils.js";
|
5
|
+
export * from "./glTFMaterialsCommonExtension.js";
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import type { Nullable } from "@babylonjs/core/types.js";
|
2
2
|
import type { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
3
|
-
import type { INode } from "../glTFLoaderInterfaces";
|
4
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
5
|
-
import { GLTFLoader } from "../glTFLoader";
|
6
|
-
declare module "../../glTFFileLoader" {
|
3
|
+
import type { INode } from "../glTFLoaderInterfaces.js";
|
4
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
5
|
+
import { GLTFLoader } from "../glTFLoader.js";
|
6
|
+
declare module "../../glTFFileLoader.js" {
|
7
7
|
interface GLTFLoaderExtensionOptions {
|
8
8
|
/**
|
9
9
|
* Defines options for the EXT_lights_ies extension.
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import type { Nullable } from "@babylonjs/core/types.js";
|
2
2
|
import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
3
|
-
import type { IScene } from "../glTFLoaderInterfaces";
|
4
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
5
|
-
import { GLTFLoader } from "../glTFLoader";
|
6
|
-
declare module "../../glTFFileLoader" {
|
3
|
+
import type { IScene } from "../glTFLoaderInterfaces.js";
|
4
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
5
|
+
import { GLTFLoader } from "../glTFLoader.js";
|
6
|
+
declare module "../../glTFFileLoader.js" {
|
7
7
|
interface GLTFLoaderExtensionOptions {
|
8
8
|
/**
|
9
9
|
* Defines options for the EXT_lights_image_based extension.
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import type { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
2
2
|
import type { Nullable } from "@babylonjs/core/types.js";
|
3
|
-
import { GLTFLoader } from "../glTFLoader";
|
4
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
5
|
-
import type { INode } from "../glTFLoaderInterfaces";
|
3
|
+
import { GLTFLoader } from "../glTFLoader.js";
|
4
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
5
|
+
import type { INode } from "../glTFLoaderInterfaces.js";
|
6
6
|
import "@babylonjs/core/Meshes/thinInstanceMesh.js";
|
7
|
-
declare module "../../glTFFileLoader" {
|
7
|
+
declare module "../../glTFFileLoader.js" {
|
8
8
|
interface GLTFLoaderExtensionOptions {
|
9
9
|
/**
|
10
10
|
* Defines options for the EXT_mesh_gpu_instancing extension.
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { Nullable } from "@babylonjs/core/types.js";
|
2
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
3
|
-
import { GLTFLoader } from "../glTFLoader";
|
4
|
-
import type { IBufferView } from "../glTFLoaderInterfaces";
|
5
|
-
declare module "../../glTFFileLoader" {
|
2
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
3
|
+
import { GLTFLoader } from "../glTFLoader.js";
|
4
|
+
import type { IBufferView } from "../glTFLoaderInterfaces.js";
|
5
|
+
declare module "../../glTFFileLoader.js" {
|
6
6
|
interface GLTFLoaderExtensionOptions {
|
7
7
|
/**
|
8
8
|
* Defines options for the EXT_meshopt_compression extension.
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
2
|
-
import { GLTFLoader } from "../glTFLoader";
|
3
|
-
import type { ITexture } from "../glTFLoaderInterfaces";
|
1
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
2
|
+
import { GLTFLoader } from "../glTFLoader.js";
|
3
|
+
import type { ITexture } from "../glTFLoaderInterfaces.js";
|
4
4
|
import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
5
5
|
import type { Nullable } from "@babylonjs/core/types.js";
|
6
|
-
declare module "../../glTFFileLoader" {
|
6
|
+
declare module "../../glTFFileLoader.js" {
|
7
7
|
interface GLTFLoaderExtensionOptions {
|
8
8
|
/**
|
9
9
|
* Defines options for the EXT_texture_avif extension.
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
2
|
-
import { GLTFLoader } from "../glTFLoader";
|
3
|
-
import type { ITexture } from "../glTFLoaderInterfaces";
|
1
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
2
|
+
import { GLTFLoader } from "../glTFLoader.js";
|
3
|
+
import type { ITexture } from "../glTFLoaderInterfaces.js";
|
4
4
|
import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
5
5
|
import type { Nullable } from "@babylonjs/core/types.js";
|
6
|
-
declare module "../../glTFFileLoader" {
|
6
|
+
declare module "../../glTFFileLoader.js" {
|
7
7
|
interface GLTFLoaderExtensionOptions {
|
8
8
|
/**
|
9
9
|
* Defines options for the EXT_texture_webp extension.
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import type { Nullable } from "@babylonjs/core/types.js";
|
2
2
|
import type { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
3
3
|
import type { Camera } from "@babylonjs/core/Cameras/camera.js";
|
4
|
-
import type { INode, ICamera, IMaterial } from "../glTFLoaderInterfaces";
|
5
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
6
|
-
import type { GLTFLoader } from "../glTFLoader";
|
4
|
+
import type { INode, ICamera, IMaterial } from "../glTFLoaderInterfaces.js";
|
5
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
6
|
+
import type { GLTFLoader } from "../glTFLoader.js";
|
7
7
|
import type { Material } from "@babylonjs/core/Materials/material.js";
|
8
|
-
declare module "../../glTFFileLoader" {
|
8
|
+
declare module "../../glTFFileLoader.js" {
|
9
9
|
interface GLTFLoaderExtensionOptions {
|
10
10
|
/**
|
11
11
|
* Defines options for the ExtrasAsMetadata extension.
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
2
|
-
import type { GLTFLoader } from "../glTFLoader";
|
1
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
2
|
+
import type { GLTFLoader } from "../glTFLoader.js";
|
3
3
|
import type { Nullable } from "@babylonjs/core/types.js";
|
4
4
|
import type { Animation } from "@babylonjs/core/Animations/animation.js";
|
5
5
|
import type { IAnimatable } from "@babylonjs/core/Animations/animatable.interface.js";
|
6
|
-
import type { IAnimation, IAnimationChannel } from "../glTFLoaderInterfaces";
|
7
|
-
import "./KHR_animation_pointer.data";
|
8
|
-
declare module "../../glTFFileLoader" {
|
6
|
+
import type { IAnimation, IAnimationChannel } from "../glTFLoaderInterfaces.js";
|
7
|
+
import "./KHR_animation_pointer.data.js";
|
8
|
+
declare module "../../glTFFileLoader.js" {
|
9
9
|
interface GLTFLoaderExtensionOptions {
|
10
10
|
/**
|
11
11
|
* Defines options for the KHR_animation_pointer extension.
|
@@ -2,10 +2,10 @@ import { DracoDecoder } from "@babylonjs/core/Meshes/Compression/dracoDecoder.js
|
|
2
2
|
import type { Nullable } from "@babylonjs/core/types.js";
|
3
3
|
import type { Geometry } from "@babylonjs/core/Meshes/geometry.js";
|
4
4
|
import type { Mesh } from "@babylonjs/core/Meshes/mesh.js";
|
5
|
-
import type { IMeshPrimitive } from "../glTFLoaderInterfaces";
|
6
|
-
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
7
|
-
import { GLTFLoader } from "../glTFLoader";
|
8
|
-
declare module "../../glTFFileLoader" {
|
5
|
+
import type { IMeshPrimitive } from "../glTFLoaderInterfaces.js";
|
6
|
+
import type { IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
7
|
+
import { GLTFLoader } from "../glTFLoader.js";
|
8
|
+
declare module "../../glTFFileLoader.js" {
|
9
9
|
interface GLTFLoaderExtensionOptions {
|
10
10
|
/**
|
11
11
|
* Defines options for the KHR_draco_mesh_compression extension.
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { IKHRInteractivity_Declaration, IKHRInteractivity_Graph, IKHRInteractivity_Node } from "babylonjs-gltf2interface";
|
2
2
|
import { FlowGraphBlockNames } from "@babylonjs/core/FlowGraph/Blocks/flowGraphBlockNames.js";
|
3
3
|
import type { ISerializedFlowGraphBlock, ISerializedFlowGraphContext } from "@babylonjs/core/FlowGraph/typeDefinitions.js";
|
4
|
-
import type { InteractivityGraphToFlowGraphParser } from "./interactivityGraphParser";
|
5
|
-
import type { IGLTF } from "../../glTFLoaderInterfaces";
|
4
|
+
import type { InteractivityGraphToFlowGraphParser } from "./interactivityGraphParser.js";
|
5
|
+
import type { IGLTF } from "../../glTFLoaderInterfaces.js";
|
6
6
|
interface IGLTFToFlowGraphMappingObject<I = any, O = any> {
|
7
7
|
/**
|
8
8
|
* The name of the property in the FlowGraph block.
|
@@ -139,7 +139,10 @@ export interface IGLTFToFlowGraphMapping {
|
|
139
139
|
* @param glTFObject the glTF object
|
140
140
|
* @returns true if validated, false if not.
|
141
141
|
*/
|
142
|
-
validation?: (gltfBlock: IKHRInteractivity_Node, interactivityGraph: IKHRInteractivity_Graph, glTFObject?: IGLTF) =>
|
142
|
+
validation?: (gltfBlock: IKHRInteractivity_Node, interactivityGraph: IKHRInteractivity_Graph, glTFObject?: IGLTF) => {
|
143
|
+
valid: boolean;
|
144
|
+
error?: string;
|
145
|
+
};
|
143
146
|
/**
|
144
147
|
* This is used if we need extra information for the constructor/options that is not provided directly by the glTF node.
|
145
148
|
* This function can return more than one node, if extra nodes are needed for this block to function correctly.
|
@@ -96,11 +96,6 @@ const gltfToFlowGraphMapping = {
|
|
96
96
|
},
|
97
97
|
"event/send": {
|
98
98
|
blocks: ["FlowGraphSendCustomEventBlock" /* FlowGraphBlockNames.SendCustomEvent */],
|
99
|
-
outputs: {
|
100
|
-
flows: {
|
101
|
-
out: { name: "done" },
|
102
|
-
},
|
103
|
-
},
|
104
99
|
extraProcessor(gltfBlock, declaration, _mapping, parser, serializedObjects) {
|
105
100
|
// set eventId and eventData. The configuration object of the glTF should have a single object.
|
106
101
|
// validate that we are running it on the right block.
|
@@ -130,24 +125,24 @@ const gltfToFlowGraphMapping = {
|
|
130
125
|
validation(gltfBlock, interactivityGraph) {
|
131
126
|
if (!gltfBlock.configuration) {
|
132
127
|
Logger.Error("Receive event should have a configuration object");
|
133
|
-
return false;
|
128
|
+
return { valid: false, error: "Receive event should have a configuration object" };
|
134
129
|
}
|
135
130
|
const eventConfiguration = gltfBlock.configuration["event"];
|
136
131
|
if (!eventConfiguration) {
|
137
132
|
Logger.Error("Receive event should have a single configuration object, the event itself");
|
138
|
-
return false;
|
133
|
+
return { valid: false, error: "Receive event should have a single configuration object, the event itself" };
|
139
134
|
}
|
140
135
|
const eventId = eventConfiguration.value[0];
|
141
136
|
if (typeof eventId !== "number") {
|
142
137
|
Logger.Error("Event id should be a number");
|
143
|
-
return false;
|
138
|
+
return { valid: false, error: "Event id should be a number" };
|
144
139
|
}
|
145
140
|
const event = interactivityGraph.events?.[eventId];
|
146
141
|
if (!event) {
|
147
142
|
Logger.Error(`Event with id ${eventId} not found`);
|
148
|
-
return false;
|
143
|
+
return { valid: false, error: `Event with id ${eventId} not found` };
|
149
144
|
}
|
150
|
-
return true;
|
145
|
+
return { valid: true };
|
151
146
|
},
|
152
147
|
extraProcessor(gltfBlock, declaration, _mapping, parser, serializedObjects) {
|
153
148
|
// set eventId and eventData. The configuration object of the glTF should have a single object.
|
@@ -207,6 +202,7 @@ const gltfToFlowGraphMapping = {
|
|
207
202
|
// configure it to work the way glTF specifies
|
208
203
|
serializedObjects[0].config = serializedObjects[0].config || {};
|
209
204
|
serializedObjects[0].config.useMatrixPerComponent = true;
|
205
|
+
serializedObjects[0].config.preventIntegerFloatArithmetic = true;
|
210
206
|
// try to infer the type or fallback to Integer
|
211
207
|
// check the gltf block for the inputs, see if they have a type
|
212
208
|
let type = -1;
|
@@ -222,6 +218,14 @@ const gltfToFlowGraphMapping = {
|
|
222
218
|
}
|
223
219
|
return serializedObjects;
|
224
220
|
},
|
221
|
+
validation(gltfBlock) {
|
222
|
+
// make sure types are the same
|
223
|
+
if (gltfBlock.values) {
|
224
|
+
// make sure types are the same
|
225
|
+
return ValidateTypes(gltfBlock);
|
226
|
+
}
|
227
|
+
return { valid: true };
|
228
|
+
},
|
225
229
|
},
|
226
230
|
"math/div": getSimpleInputMapping("FlowGraphDivideBlock" /* FlowGraphBlockNames.Divide */, ["a", "b"], true),
|
227
231
|
"math/rem": getSimpleInputMapping("FlowGraphModuloBlock" /* FlowGraphBlockNames.Modulo */, ["a", "b"]),
|
@@ -767,13 +771,13 @@ const gltfToFlowGraphMapping = {
|
|
767
771
|
});
|
768
772
|
if (!onlyIntegers) {
|
769
773
|
gltfBlock.configuration.cases.value = [];
|
770
|
-
return true;
|
774
|
+
return { valid: true };
|
771
775
|
}
|
772
776
|
// check for duplicates
|
773
777
|
const uniqueCases = new Set(cases);
|
774
778
|
gltfBlock.configuration.cases.value = Array.from(uniqueCases);
|
775
779
|
}
|
776
|
-
return true;
|
780
|
+
return { valid: true };
|
777
781
|
},
|
778
782
|
extraProcessor(gltfBlock, declaration, _mapping, _arrays, serializedObjects) {
|
779
783
|
// convert all names of output flow to out_$1 apart from "default"
|
@@ -868,7 +872,7 @@ const gltfToFlowGraphMapping = {
|
|
868
872
|
};
|
869
873
|
gltfBlock.configuration.inputFlows.value = [0];
|
870
874
|
}
|
871
|
-
return true;
|
875
|
+
return { valid: true };
|
872
876
|
},
|
873
877
|
},
|
874
878
|
"flow/throttle": {
|
@@ -895,9 +899,9 @@ const gltfToFlowGraphMapping = {
|
|
895
899
|
validation(gltfBlock) {
|
896
900
|
if (!gltfBlock.configuration?.variable?.value) {
|
897
901
|
Logger.Error("Variable get block should have a variable configuration");
|
898
|
-
return false;
|
902
|
+
return { valid: false, error: "Variable get block should have a variable configuration" };
|
899
903
|
}
|
900
|
-
return true;
|
904
|
+
return { valid: true };
|
901
905
|
},
|
902
906
|
configuration: {
|
903
907
|
variable: {
|
@@ -1151,7 +1155,7 @@ const gltfToFlowGraphMapping = {
|
|
1151
1155
|
},
|
1152
1156
|
"pointer/interpolate": {
|
1153
1157
|
// interpolate, parse the pointer and play the animation generated. 3 blocks!
|
1154
|
-
blocks: ["FlowGraphInterpolationBlock" /* FlowGraphBlockNames.ValueInterpolation */, "FlowGraphJsonPointerParserBlock" /* FlowGraphBlockNames.JsonPointerParser */, "FlowGraphPlayAnimationBlock" /* FlowGraphBlockNames.PlayAnimation */, "
|
1158
|
+
blocks: ["FlowGraphInterpolationBlock" /* FlowGraphBlockNames.ValueInterpolation */, "FlowGraphJsonPointerParserBlock" /* FlowGraphBlockNames.JsonPointerParser */, "FlowGraphPlayAnimationBlock" /* FlowGraphBlockNames.PlayAnimation */, "FlowGraphBezierCurveEasing" /* FlowGraphBlockNames.BezierCurveEasing */],
|
1155
1159
|
configuration: {
|
1156
1160
|
pointer: { name: "jsonPointer", toBlock: "FlowGraphJsonPointerParserBlock" /* FlowGraphBlockNames.JsonPointerParser */ },
|
1157
1161
|
},
|
@@ -1160,8 +1164,8 @@ const gltfToFlowGraphMapping = {
|
|
1160
1164
|
value: { name: "value_1" },
|
1161
1165
|
"[segment]": { name: "$1", toBlock: "FlowGraphJsonPointerParserBlock" /* FlowGraphBlockNames.JsonPointerParser */ },
|
1162
1166
|
duration: { name: "duration_1", gltfType: "number" /*, inOptions: true */ },
|
1163
|
-
p1: { name: "controlPoint1", toBlock: "
|
1164
|
-
p2: { name: "controlPoint2", toBlock: "
|
1167
|
+
p1: { name: "controlPoint1", toBlock: "FlowGraphBezierCurveEasing" /* FlowGraphBlockNames.BezierCurveEasing */ },
|
1168
|
+
p2: { name: "controlPoint2", toBlock: "FlowGraphBezierCurveEasing" /* FlowGraphBlockNames.BezierCurveEasing */ },
|
1165
1169
|
},
|
1166
1170
|
flows: {
|
1167
1171
|
in: { name: "in", toBlock: "FlowGraphPlayAnimationBlock" /* FlowGraphBlockNames.PlayAnimation */ },
|
@@ -1375,13 +1379,13 @@ const gltfToFlowGraphMapping = {
|
|
1375
1379
|
});
|
1376
1380
|
if (!onlyIntegers) {
|
1377
1381
|
gltfBlock.configuration.cases.value = [];
|
1378
|
-
return true;
|
1382
|
+
return { valid: true };
|
1379
1383
|
}
|
1380
1384
|
// check for duplicates
|
1381
1385
|
const uniqueCases = new Set(cases);
|
1382
1386
|
gltfBlock.configuration.cases.value = Array.from(uniqueCases);
|
1383
1387
|
}
|
1384
|
-
return true;
|
1388
|
+
return { valid: true };
|
1385
1389
|
},
|
1386
1390
|
extraProcessor(_gltfBlock, _declaration, _mapping, _arrays, serializedObjects) {
|
1387
1391
|
const serializedObject = serializedObjects[0];
|
@@ -1414,16 +1418,17 @@ function getSimpleInputMapping(type, inputs = ["a"], inferType) {
|
|
1414
1418
|
value: { name: "value" },
|
1415
1419
|
},
|
1416
1420
|
},
|
1417
|
-
extraProcessor(
|
1421
|
+
extraProcessor(gltfBlock, _declaration, _mapping, _parser, serializedObjects) {
|
1418
1422
|
if (inferType) {
|
1419
1423
|
// configure it to work the way glTF specifies
|
1420
1424
|
serializedObjects[0].config = serializedObjects[0].config || {};
|
1425
|
+
serializedObjects[0].config.preventIntegerFloatArithmetic = true;
|
1421
1426
|
// try to infer the type or fallback to Integer
|
1422
1427
|
// check the gltf block for the inputs, see if they have a type
|
1423
1428
|
let type = -1;
|
1424
|
-
Object.keys(
|
1425
|
-
if (
|
1426
|
-
type =
|
1429
|
+
Object.keys(gltfBlock.values || {}).find((value) => {
|
1430
|
+
if (gltfBlock.values?.[value].type !== undefined) {
|
1431
|
+
type = gltfBlock.values[value].type;
|
1427
1432
|
return true;
|
1428
1433
|
}
|
1429
1434
|
return false;
|
@@ -1434,8 +1439,27 @@ function getSimpleInputMapping(type, inputs = ["a"], inferType) {
|
|
1434
1439
|
}
|
1435
1440
|
return serializedObjects;
|
1436
1441
|
},
|
1442
|
+
validation(gltfBlock) {
|
1443
|
+
if (inferType) {
|
1444
|
+
// make sure types are the same
|
1445
|
+
return ValidateTypes(gltfBlock);
|
1446
|
+
}
|
1447
|
+
return { valid: true };
|
1448
|
+
},
|
1437
1449
|
};
|
1438
1450
|
}
|
1451
|
+
function ValidateTypes(gltfBlock) {
|
1452
|
+
if (gltfBlock.values) {
|
1453
|
+
const types = Object.keys(gltfBlock.values)
|
1454
|
+
.map((key) => gltfBlock.values[key].type)
|
1455
|
+
.filter((type) => type !== undefined);
|
1456
|
+
const allSameType = types.every((type) => type === types[0]);
|
1457
|
+
if (!allSameType) {
|
1458
|
+
return { valid: false, error: "All inputs must be of the same type" };
|
1459
|
+
}
|
1460
|
+
}
|
1461
|
+
return { valid: true };
|
1462
|
+
}
|
1439
1463
|
export function getAllSupportedNativeNodeTypes() {
|
1440
1464
|
return Object.keys(gltfToFlowGraphMapping);
|
1441
1465
|
}
|