import * as React from "react"; import * as ReactDOM from "react-dom"; import { ActionTabsComponent } from "./components/actionTabs/actionTabsComponent"; import { SceneExplorerComponent } from "./components/sceneExplorer/sceneExplorerComponent"; import { Scene, Observable, Observer, Nullable, IInspectorOptions } from "babylonjs"; import { EmbedHostComponent } from "./components/embedHost/embedHostComponent"; import { PropertyChangedEvent } from "./components/propertyChangedEvent"; import { GlobalState } from "./components/globalState"; import { IGLTFLoaderExtension } from "babylonjs-gltf2interface"; import {GLTFFileLoader} from "babylonjs-loaders" interface IInternalInspectorOptions extends IInspectorOptions { popup: boolean; original: boolean; explorerWidth?: string; inspectorWidth?: string; embedHostWidth?: string; } export class Inspector { private static _SceneExplorerHost: Nullable; private static _ActionTabsHost: Nullable; private static _EmbedHost: Nullable; private static _NewCanvasContainer: HTMLElement; private static _SceneExplorerWindow: Window; private static _ActionTabsWindow: Window; private static _EmbedHostWindow: Window; private static _Scene: Scene; private static _OpenedPane = 0; private static _OnBeforeRenderObserver: Nullable>; public static OnSelectionChangeObservable = new BABYLON.Observable(); public static OnPropertyChangedObservable = new BABYLON.Observable(); private static _GlobalState = new GlobalState(); private static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument) { for (var index = 0; index < sourceDoc.styleSheets.length; index++) { var styleSheet: any = sourceDoc.styleSheets[index]; if (styleSheet.cssRules) { // for