Selaa lähdekoodia

Remove KHR_xmp glTF extension

Gary Hsu 4 vuotta sitten
vanhempi
commit
7b7968f5aa

+ 0 - 85
inspector/src/components/actionTabs/tabs/propertyGrids/commonPropertyGridComponent.tsx

@@ -1,85 +0,0 @@
-import * as React from "react";
-
-import { Observable } from "babylonjs/Misc/observable";
-
-import { PropertyChangedEvent } from "../../../propertyChangedEvent";
-import { LineContainerComponent } from "../../lineContainerComponent";
-import { LockObject } from "./lockObject";
-import { GlobalState } from "../../../globalState";
-import { TextLineComponent } from '../../lines/textLineComponent';
-import { IndentedTextLineComponent } from '../../lines/indentedTextLineComponent';
-
-interface ICommonPropertyGridComponentProps {
-    globalState: GlobalState;
-    host: { metadata: any};
-    lockObject: LockObject;
-    onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
-}
-
-export class CommonPropertyGridComponent extends React.Component<ICommonPropertyGridComponentProps> {
-    constructor(props: ICommonPropertyGridComponentProps) {
-        super(props);
-    }
-
-    renderLevel(jsonObject: any) {
-        let components = [];
-
-        for (var data in jsonObject) {
-            let value = jsonObject[data];
-            let type = Object.prototype.toString.call(value);
-
-            switch(type) {
-                case '[object String]':
-                    components.push(
-                        <TextLineComponent key={data} label={data} ignoreValue={true}/>
-                    );
-                    components.push(
-                        <IndentedTextLineComponent key={data + value} value={value}/>
-                    );
-                    break;
-                case '[object Array]':
-                    components.push(
-                        <TextLineComponent key={data}  label={data} ignoreValue={true}/>
-                    );
-                    for (var entry of value) {
-                        components.push(
-                            <IndentedTextLineComponent key={data + entry} value={entry}/>
-                        );    
-                    }
-                    break;
-                case '[object Object]':
-                        components.push(
-                            <TextLineComponent key={data}  label={data} ignoreValue={true}/>
-                        );
-                        for (var entryKey in value) {
-                            components.push(
-                                <TextLineComponent key={data + entry} label={entryKey} value={value[entryKey]} additionalClass="reduced-opacity"/>
-                            );    
-                        }
-                        break;                    
-            }
-        }
-
-        return components;
-    }
-
-    render() {
-        if (!this.props.host.metadata) {
-            return null;
-        }
-
-        if (!this.props.host.metadata.xmp) {
-            return null;
-        }
-
-        return (
-            <div>
-                <LineContainerComponent globalState={this.props.globalState} title="XMP METADATA">
-                    {
-                        this.renderLevel(this.props.host.metadata.xmp)                        
-                    }
-                </LineContainerComponent>
-            </div>
-        );
-    }
-}

+ 0 - 2
inspector/src/components/actionTabs/tabs/propertyGrids/meshes/meshPropertyGridComponent.tsx

@@ -30,7 +30,6 @@ import { ButtonLineComponent } from "../../../lines/buttonLineComponent";
 import { TextInputLineComponent } from "../../../lines/textInputLineComponent";
 import { AnimationGridComponent } from "../animations/animationPropertyGridComponent";
 import { RenderingManager } from "babylonjs/Rendering/renderingManager";
-import { CommonPropertyGridComponent } from "../commonPropertyGridComponent";
 import { VariantsPropertyGridComponent } from "../variantsPropertyGridComponent";
 import { HexLineComponent } from "../../../lines/hexLineComponent";
 import { SkeletonViewer } from "babylonjs/Debug/skeletonViewer";
@@ -435,7 +434,6 @@ export class MeshPropertyGridComponent extends React.Component<
                         }}
                     />
                 </LineContainerComponent>
-                <CommonPropertyGridComponent host={mesh} lockObject={this.props.lockObject} globalState={this.props.globalState} />
                 <VariantsPropertyGridComponent host={mesh} lockObject={this.props.lockObject} globalState={this.props.globalState} />
                 <LineContainerComponent globalState={this.props.globalState} title="TRANSFORMS">
                     <Vector3LineComponent label="Position" target={mesh} propertyName="position" onPropertyChangedObservable={this.props.onPropertyChangedObservable} />

+ 9 - 11
inspector/src/components/actionTabs/tabs/propertyGrids/meshes/transformNodePropertyGridComponent.tsx

@@ -15,15 +15,14 @@ import { CustomPropertyGridComponent } from '../customPropertyGridComponent';
 import { ButtonLineComponent } from '../../../lines/buttonLineComponent';
 import { TextInputLineComponent } from '../../../lines/textInputLineComponent';
 import { AnimationGridComponent } from '../animations/animationPropertyGridComponent';
-import { CommonPropertyGridComponent } from '../commonPropertyGridComponent';
 import { VariantsPropertyGridComponent } from '../variantsPropertyGridComponent';
 import { Mesh } from 'babylonjs/Meshes/mesh';
 
 interface ITransformNodePropertyGridComponentProps {
     globalState: GlobalState;
-    transformNode: TransformNode,
-    lockObject: LockObject,
-    onPropertyChangedObservable?: Observable<PropertyChangedEvent>
+    transformNode: TransformNode;
+    lockObject: LockObject;
+    onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
 }
 
 export class TransformNodePropertyGridComponent extends React.Component<ITransformNodePropertyGridComponentProps> {
@@ -41,20 +40,19 @@ export class TransformNodePropertyGridComponent extends React.Component<ITransfo
                     onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
                 <LineContainerComponent globalState={this.props.globalState} title="GENERAL">
                     <TextLineComponent label="ID" value={transformNode.id} />
-                    <TextInputLineComponent lockObject={this.props.lockObject} label="Name" target={transformNode} propertyName="name" onPropertyChangedObservable={this.props.onPropertyChangedObservable}/>
+                    <TextInputLineComponent lockObject={this.props.lockObject} label="Name" target={transformNode} propertyName="name" onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
                     <TextLineComponent label="Unique ID" value={transformNode.uniqueId.toString()} />
-                    <TextLineComponent label="Class" value={transformNode.getClassName()} />                    
+                    <TextLineComponent label="Class" value={transformNode.getClassName()} />
                     <CheckBoxLineComponent label="IsEnabled" isSelected={() => transformNode.isEnabled()} onSelect={(value) => transformNode.setEnabled(value)} />
                     {
                         transformNode.parent &&
-                        <TextLineComponent label="Parent" value={transformNode.parent.name} onLink={() => this.props.globalState.onSelectionChangedObservable.notifyObservers(transformNode.parent)}/>
-                    }        
+                        <TextLineComponent label="Parent" value={transformNode.parent.name} onLink={() => this.props.globalState.onSelectionChangedObservable.notifyObservers(transformNode.parent)} />
+                    }
                     <ButtonLineComponent label="Dispose" onClick={() => {
                         transformNode.dispose();
                         this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
-                    }} />              
-                </LineContainerComponent>                
-                <CommonPropertyGridComponent host={transformNode} lockObject={this.props.lockObject} globalState={this.props.globalState} />                
+                    }} />
+                </LineContainerComponent>
                 <VariantsPropertyGridComponent host={transformNode as Mesh} lockObject={this.props.lockObject} globalState={this.props.globalState} />
                 <LineContainerComponent globalState={this.props.globalState} title="TRANSFORMATIONS">
                     <Vector3LineComponent label="Position" target={transformNode} propertyName="position" onPropertyChangedObservable={this.props.onPropertyChangedObservable} />

+ 0 - 1
inspector/src/components/actionTabs/tabs/tools/gltfComponent.tsx

@@ -128,7 +128,6 @@ export class GLTFComponent extends React.Component<IGLTFComponentProps> {
                     <CheckBoxLineComponent label="MSFT_minecraftMesh" isSelected={() => extensionStates["MSFT_minecraftMesh"].enabled} onSelect={(value) => (extensionStates["MSFT_minecraftMesh"].enabled = value)} />
                     <CheckBoxLineComponent label="MSFT_sRGBFactors" isSelected={() => extensionStates["MSFT_sRGBFactors"].enabled} onSelect={(value) => (extensionStates["MSFT_sRGBFactors"].enabled = value)} />
                     <CheckBoxLineComponent label="MSFT_audio_emitter" isSelected={() => extensionStates["MSFT_audio_emitter"].enabled} onSelect={(value) => (extensionStates["MSFT_audio_emitter"].enabled = value)} />
-                    <CheckBoxLineComponent label="KHR_xmp" isSelected={() => extensionStates["KHR_xmp"].enabled} onSelect={(value) => (extensionStates["KHR_xmp"].enabled = value)} />
                     <CheckBoxLineComponent label="KHR_draco_mesh_compression" isSelected={() => extensionStates["KHR_draco_mesh_compression"].enabled} onSelect={(value) => (extensionStates["KHR_draco_mesh_compression"].enabled = value)} />
                     <CheckBoxLineComponent label="KHR_mesh_quantization" isSelected={() => extensionStates["KHR_mesh_quantization"].enabled} onSelect={(value) => (extensionStates["KHR_mesh_quantization"].enabled = value)} />
                     <CheckBoxLineComponent label="KHR_materials_pbrSpecularGloss..." isSelected={() => extensionStates["KHR_materials_pbrSpecularGlossiness"].enabled} onSelect={(value) => (extensionStates["KHR_materials_pbrSpecularGlossiness"].enabled = value)} />

+ 0 - 1
inspector/src/components/globalState.ts

@@ -33,7 +33,6 @@ export class GlobalState {
         MSFT_minecraftMesh: { enabled: true },
         MSFT_sRGBFactors: { enabled: true },
         MSFT_audio_emitter: { enabled: true },
-        KHR_xmp: { enabled: true },
         KHR_draco_mesh_compression: { enabled: true },
         KHR_mesh_quantization: { enabled: true },
         KHR_materials_pbrSpecularGlossiness: { enabled: true },

+ 0 - 56
loaders/src/glTF/2.0/Extensions/KHR_xmp.ts

@@ -1,56 +0,0 @@
-import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
-import { GLTFLoader } from "../glTFLoader";
-import { IKHRXmp_Gltf, IKHRXmp_Node } from 'babylonjs-gltf2interface';
-
-const NAME = "KHR_xmp";
-
-/**
- * [Proposed Specification](https://github.com/KhronosGroup/glTF/pull/1553)
- * !!! Experimental Extension Subject to Changes !!!
- */
-export class KHR_xmp implements IGLTFLoaderExtension {
-    /**
-     * The name of this extension.
-     */
-    public readonly name = NAME;
-
-    /**
-     * Defines whether this extension is enabled.
-     */
-    public enabled: boolean;
-
-    /**
-     * Defines a number that determines the order the extensions are applied.
-     */
-    public order = 100;
-
-    private _loader: GLTFLoader;
-
-    /** @hidden */
-    constructor(loader: GLTFLoader) {
-        this._loader = loader;
-        this.enabled = this._loader.isExtensionUsed(NAME);
-    }
-
-    /** @hidden */
-    public dispose() {
-        (this._loader as any) = null;
-    }
-
-    /**
-     * Called after the loader state changes to LOADING.
-     */
-    public onLoading(): void {
-        const xmp_gltf = (this._loader.gltf.extensions?.KHR_xmp as IKHRXmp_Gltf);
-        const xmp_node = (this._loader.gltf.asset?.extensions?.KHR_xmp as IKHRXmp_Node);
-        if (xmp_gltf && xmp_node) {
-            const packet = +xmp_node.packet;
-            if (xmp_gltf.packets && packet < xmp_gltf.packets.length) {
-                this._loader.rootBabylonMesh.metadata = this._loader.rootBabylonMesh.metadata || { };
-                this._loader.rootBabylonMesh.metadata.xmp = xmp_gltf.packets[packet];
-            }
-        }
-    }
-}
-
-GLTFLoader.RegisterExtension(NAME, (loader) => new KHR_xmp(loader));

+ 0 - 1
loaders/src/glTF/2.0/Extensions/index.ts

@@ -14,7 +14,6 @@ export * from "./KHR_materials_transmission";
 export * from "./KHR_mesh_quantization";
 export * from "./KHR_texture_basisu";
 export * from "./KHR_texture_transform";
-export * from "./KHR_xmp";
 export * from "./MSFT_audio_emitter";
 export * from "./MSFT_lod";
 export * from "./MSFT_minecraftMesh";