///
declare module INSPECTOR {
export class PropertyChangedEvent {
object: any;
property: string;
value: any;
initialValue: any;
allowNullValue?: boolean;
}
}
declare module INSPECTOR {
export class ReplayRecorder {
private _sceneRecorder;
private _isRecording;
get isRecording(): boolean;
cancel(): void;
trackScene(scene: BABYLON.Scene): void;
applyDelta(json: any, scene: BABYLON.Scene): void;
export(): void;
}
}
declare module INSPECTOR {
export class GlobalState {
onSelectionChangedObservable: BABYLON.Observable;
onPropertyChangedObservable: BABYLON.Observable;
onInspectorClosedObservable: BABYLON.Observable;
onTabChangedObservable: BABYLON.Observable;
onSelectionRenamedObservable: BABYLON.Observable;
onPluginActivatedObserver: BABYLON.Nullable>;
onNewSceneObservable: BABYLON.Observable;
sceneImportDefaults: {
[key: string]: any;
};
validationResults: BABYLON.Nullable;
onValidationResultsUpdatedObservable: BABYLON.Observable>;
onExtensionLoadedObservable: BABYLON.Observable;
glTFLoaderExtensionDefaults: {
[name: string]: {
[key: string]: any;
};
};
glTFLoaderDefaults: {
[key: string]: any;
};
glTFLoaderExtensions: {
[key: string]: import("babylonjs-loaders/glTF/index").IGLTFLoaderExtension;
};
blockMutationUpdates: boolean;
selectedLineContainerTitles: Array;
selectedLineContainerTitlesNoFocus: Array;
recorder: ReplayRecorder;
private _onlyUseEulers;
get onlyUseEulers(): boolean;
set onlyUseEulers(value: boolean);
private _ignoreBackfacesForPicking;
get ignoreBackfacesForPicking(): boolean;
set ignoreBackfacesForPicking(value: boolean);
init(propertyChangedObservable: BABYLON.Observable): void;
prepareGLTFPlugin(loader: import("babylonjs-loaders/glTF/index").GLTFFileLoader): void;
resetGLTFValidationResults(): void;
lightGizmos: Array;
enableLightGizmo(light: BABYLON.Light, enable?: boolean): void;
cameraGizmos: Array;
enableCameraGizmo(camera: BABYLON.Camera, enable?: boolean): void;
}
}
declare module INSPECTOR {
export interface IPaneComponentProps {
title: string;
scene: BABYLON.Scene;
selectedEntity?: any;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
globalState: GlobalState;
}
export class PaneComponent extends React.Component {
constructor(props: IPaneComponentProps);
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
interface ITabsComponentProps {
children: any[];
selectedIndex: number;
onSelectedIndexChange: (value: number) => void;
}
export class TabsComponent extends React.Component {
constructor(props: ITabsComponentProps);
onSelect(index: number): void;
renderLabel(child: PaneComponent, index: number): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITextLineComponentProps {
label?: string;
value?: string;
color?: string;
underline?: boolean;
onLink?: () => void;
url?: string;
ignoreValue?: boolean;
additionalClass?: string;
}
export class TextLineComponent extends React.Component {
constructor(props: ITextLineComponentProps);
onLink(): void;
renderContent(): JSX.Element | null;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ILineContainerComponentProps {
title: string;
children: any[] | any;
closed?: boolean;
}
export class LineContainerComponent extends React.Component {
constructor(props: ILineContainerComponentProps);
switchExpandedState(): void;
renderHeader(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IValueLineComponentProps {
label: string;
value: number;
color?: string;
fractionDigits?: number;
units?: string;
}
export class ValueLineComponent extends React.Component {
constructor(props: IValueLineComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IBooleanLineComponentProps {
label: string;
value: boolean;
}
export class BooleanLineComponent extends React.Component {
constructor(props: IBooleanLineComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
export class StatisticsTabComponent extends PaneComponent {
private _sceneInstrumentation;
private _engineInstrumentation;
private _timerIntervalId;
constructor(props: IPaneComponentProps);
componentWillUnmount(): void;
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
export class PropertyChangedEvent {
object: any;
property: string;
value: any;
initialValue: any;
allowNullValue?: boolean;
}
}
declare module INSPECTOR {
export interface ICheckBoxLineComponentProps {
label: string;
target?: any;
propertyName?: string;
isSelected?: () => boolean;
onSelect?: (value: boolean) => void;
onValueChanged?: () => void;
onPropertyChangedObservable?: BABYLON.Observable;
disabled?: boolean;
}
export class CheckBoxLineComponent extends React.Component {
private static _UniqueIdSeed;
private _uniqueId;
private _localChange;
constructor(props: ICheckBoxLineComponentProps);
shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
isSelected: boolean;
isDisabled: boolean;
}): boolean;
onChange(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IRenderGridPropertyGridComponentProps {
globalState: GlobalState;
scene: BABYLON.Scene;
}
export class RenderGridPropertyGridComponent extends React.Component {
private _gridMesh;
constructor(props: IRenderGridPropertyGridComponentProps);
componentDidMount(): void;
addOrRemoveGrid(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export class DebugTabComponent extends PaneComponent {
private _physicsViewersEnabled;
constructor(props: IPaneComponentProps);
switchPhysicsViewers(): void;
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
/**
* Class used to provide lock mechanism
*/
export class LockObject {
/**
* Gets or set if the lock is engaged
*/
lock: boolean;
}
}
declare module INSPECTOR {
interface IFloatLineComponentProps {
label: string;
target: any;
propertyName: string;
lockObject?: LockObject;
onChange?: (newValue: number) => void;
isInteger?: boolean;
onPropertyChangedObservable?: BABYLON.Observable;
additionalClass?: string;
step?: string;
digits?: number;
useEuler?: boolean;
min?: number;
max?: number;
smallUI?: boolean;
onEnter?: (newValue: number) => void;
}
export class FloatLineComponent extends React.Component {
private _localChange;
private _store;
constructor(props: IFloatLineComponentProps);
componentWillUnmount(): void;
shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
value: string;
}): boolean;
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
updateValue(valueString: string): void;
lock(): void;
unlock(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISliderLineComponentProps {
label: string;
target?: any;
propertyName?: string;
minimum: number;
maximum: number;
step: number;
directValue?: number;
useEuler?: boolean;
onChange?: (value: number) => void;
onInput?: (value: number) => void;
onPropertyChangedObservable?: BABYLON.Observable;
decimalCount?: number;
margin?: boolean;
}
export class SliderLineComponent extends React.Component {
private _localChange;
constructor(props: ISliderLineComponentProps);
shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
value: number;
}): boolean;
onChange(newValueString: any): void;
onInput(newValueString: any): void;
prepareDataToRead(value: number): number;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export const Null_Value: number;
export class ListLineOption {
label: string;
value: number;
selected?: boolean;
}
export interface IOptionsLineComponentProps {
label: string;
target: any;
propertyName: string;
options: ListLineOption[];
noDirectUpdate?: boolean;
onSelect?: (value: number) => void;
extractValue?: () => number;
onPropertyChangedObservable?: BABYLON.Observable;
allowNullValue?: boolean;
}
export class OptionsLineComponent extends React.Component {
private _localChange;
private remapValueIn;
private remapValueOut;
constructor(props: IOptionsLineComponentProps);
shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
value: number;
}): boolean;
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
updateValue(valueString: string): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface INumericInputComponentProps {
label: string;
value: number;
step?: number;
onChange: (value: number) => void;
precision?: number;
}
export class NumericInputComponent extends React.Component {
static defaultProps: {
step: number;
};
private _localChange;
constructor(props: INumericInputComponentProps);
shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
value: string;
}): boolean;
updateValue(evt: any): void;
onBlur(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IColorComponentEntryProps {
value: number;
label: string;
max?: number;
min?: number;
onChange: (value: number) => void;
}
export class ColorComponentEntry extends React.Component {
constructor(props: IColorComponentEntryProps);
updateValue(valueString: string): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IHexColorProps {
value: string;
expectedLength: number;
onChange: (value: string) => void;
}
export class HexColor extends React.Component {
constructor(props: IHexColorProps);
shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
hex: string;
}): boolean;
updateHexValue(valueString: string): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
/**
* Interface used to specify creation options for color picker
*/
export interface IColorPickerProps {
color: BABYLON.Color3 | BABYLON.Color4;
debugMode?: boolean;
onColorChanged?: (color: BABYLON.Color3 | BABYLON.Color4) => void;
}
/**
* Interface used to specify creation options for color picker
*/
export interface IColorPickerState {
color: BABYLON.Color3;
alpha: number;
}
/**
* Class used to create a color picker
*/
export class BABYLON.GUI.ColorPicker extends React.Component {
private _saturationRef;
private _hueRef;
private _isSaturationPointerDown;
private _isHuePointerDown;
constructor(props: IColorPickerProps);
onSaturationPointerDown(evt: React.PointerEvent): void;
onSaturationPointerUp(evt: React.PointerEvent): void;
onSaturationPointerMove(evt: React.PointerEvent): void;
onHuePointerDown(evt: React.PointerEvent): void;
onHuePointerUp(evt: React.PointerEvent): void;
onHuePointerMove(evt: React.PointerEvent): void;
private _evaluateSaturation;
private _evaluateHue;
componentDidUpdate(): void;
raiseOnColorChanged(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IColorPickerComponentProps {
value: BABYLON.Color4 | BABYLON.Color3;
onColorChanged: (newOne: string) => void;
}
interface IColorPickerComponentState {
pickerEnabled: boolean;
color: BABYLON.Color3 | BABYLON.Color4;
hex: string;
}
export class ColorPickerLineComponent extends React.Component {
private _floatRef;
private _floatHostRef;
constructor(props: IColorPickerComponentProps);
syncPositions(): void;
shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
componentDidUpdate(): void;
componentDidMount(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IColor3LineComponentProps {
label: string;
target: any;
propertyName: string;
onPropertyChangedObservable?: BABYLON.Observable;
isLinear?: boolean;
}
export class Color3LineComponent extends React.Component {
private _localChange;
constructor(props: IColor3LineComponentProps);
shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
color: BABYLON.Color3;
}): boolean;
setPropertyValue(newColor: BABYLON.Color3): void;
onChange(newValue: string): void;
switchExpandState(): void;
raiseOnPropertyChanged(previousValue: BABYLON.Color3): void;
updateStateR(value: number): void;
updateStateG(value: number): void;
updateStateB(value: number): void;
copyToClipboard(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IVector3LineComponentProps {
label: string;
target: any;
propertyName: string;
step?: number;
onChange?: (newvalue: BABYLON.Vector3) => void;
useEuler?: boolean;
onPropertyChangedObservable?: BABYLON.Observable;
noSlider?: boolean;
}
export class Vector3LineComponent extends React.Component {
static defaultProps: {
step: number;
};
private _localChange;
constructor(props: IVector3LineComponentProps);
getCurrentValue(): any;
shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
isExpanded: boolean;
value: BABYLON.Vector3;
}): boolean;
switchExpandState(): void;
raiseOnPropertyChanged(previousValue: BABYLON.Vector3): void;
updateVector3(): void;
updateStateX(value: number): void;
updateStateY(value: number): void;
updateStateZ(value: number): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IQuaternionLineComponentProps {
label: string;
target: any;
useEuler?: boolean;
propertyName: string;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class QuaternionLineComponent extends React.Component {
private _localChange;
constructor(props: IQuaternionLineComponentProps);
_checkRoundCircle(a: number, b: number): boolean;
shouldComponentUpdate(nextProps: IQuaternionLineComponentProps, nextState: {
isExpanded: boolean;
value: BABYLON.Quaternion;
eulerValue: BABYLON.Vector3;
}): boolean;
switchExpandState(): void;
raiseOnPropertyChanged(currentValue: BABYLON.Quaternion, previousValue: BABYLON.Quaternion): void;
updateQuaternion(): void;
updateStateX(value: number): void;
updateStateY(value: number): void;
updateStateZ(value: number): void;
updateStateW(value: number): void;
updateQuaternionFromEuler(): void;
updateStateEulerX(value: number): void;
updateStateEulerY(value: number): void;
updateStateEulerZ(value: number): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITextInputLineComponentProps {
label: string;
lockObject: LockObject;
target?: any;
propertyName?: string;
value?: string;
onChange?: (value: string) => void;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class TextInputLineComponent extends React.Component {
private _localChange;
constructor(props: ITextInputLineComponentProps);
componentWillUnmount(): void;
shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
value: string;
}): boolean;
raiseOnPropertyChanged(newValue: string, previousValue: string): void;
updateValue(value: string): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICustomPropertyGridComponentProps {
globalState: GlobalState;
target: any;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CustomPropertyGridComponent extends React.Component {
constructor(props: ICustomPropertyGridComponentProps);
renderInspectable(inspectable: BABYLON.IInspectable): JSX.Element | null;
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
export interface IButtonLineComponentProps {
label: string;
onClick: () => void;
}
export class ButtonLineComponent extends React.Component {
constructor(props: IButtonLineComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IAnimationGridComponentProps {
globalState: GlobalState;
animatable: BABYLON.IAnimatable;
scene: BABYLON.Scene;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class AnimationGridComponent extends React.Component {
private _animations;
private _ranges;
private _mainAnimatable;
private _onBeforeRenderObserver;
private _isPlaying;
private timelineRef;
private _animationControl;
constructor(props: IAnimationGridComponentProps);
playOrPause(): void;
componentDidMount(): void;
componentWillUnmount(): void;
onCurrentFrameChange(value: number): void;
onChangeFromOrTo(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.Material;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonMaterialPropertyGridComponent extends React.Component {
constructor(props: ICommonMaterialPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.Material;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class MaterialPropertyGridComponent extends React.Component {
constructor(props: IMaterialPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IFileButtonLineComponentProps {
label: string;
onClick: (file: File) => void;
accept: string;
}
export class FileButtonLineComponent extends React.Component {
private static _IDGenerator;
private _id;
private uploadInputRef;
constructor(props: IFileButtonLineComponentProps);
onChange(evt: any): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface ITextureLinkLineComponentProps {
label: string;
texture: BABYLON.Nullable;
material?: BABYLON.Material;
onSelectionChangedObservable?: BABYLON.Observable;
onDebugSelectionChangeObservable?: BABYLON.Observable;
propertyName?: string;
onTextureCreated?: (texture: BABYLON.BaseTexture) => void;
customDebugAction?: (state: boolean) => void;
onTextureRemoved?: () => void;
}
export class TextureLinkLineComponent extends React.Component {
private _onDebugSelectionChangeObserver;
constructor(props: ITextureLinkLineComponentProps);
componentDidMount(): void;
componentWillUnmount(): void;
debugTexture(): void;
onLink(): void;
updateTexture(file: File): void;
removeTexture(): void;
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
interface IStandardMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.StandardMaterial;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class StandardMaterialPropertyGridComponent extends React.Component {
private _onDebugSelectionChangeObservable;
constructor(props: IStandardMaterialPropertyGridComponentProps);
renderTextures(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
/** @hidden */
export var lodPixelShader: {
name: string;
shader: string;
};
}
declare module INSPECTOR {
/** @hidden */
export var lodCubePixelShader: {
name: string;
shader: string;
};
}
declare module INSPECTOR {
export interface TextureChannelsToDisplay {
R: boolean;
G: boolean;
B: boolean;
A: boolean;
}
export class TextureHelper {
private static _ProcessAsync;
static GetTextureDataAsync(texture: BABYLON.BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState, lod?: number): Promise;
}
}
declare module INSPECTOR {
interface ITextureLineComponentProps {
texture: BABYLON.BaseTexture;
width: number;
height: number;
globalState?: GlobalState;
hideChannelSelect?: boolean;
}
export class TextureLineComponent extends React.Component {
private canvasRef;
private static TextureChannelStates;
constructor(props: ITextureLineComponentProps);
shouldComponentUpdate(nextProps: ITextureLineComponentProps, nextState: {
channels: TextureChannelsToDisplay;
face: number;
}): boolean;
componentDidMount(): void;
componentDidUpdate(): void;
updatePreview(): Promise;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IPopupComponentProps {
id: string;
title: string;
size: {
width: number;
height: number;
};
onOpen: (window: Window) => void;
onClose: (window: Window) => void;
}
export class PopupComponent extends React.Component {
private _container;
private _window;
private _curveEditorHost;
constructor(props: IPopupComponentProps);
componentDidMount(): void;
openPopup(): void;
componentWillUnmount(): void;
getWindow(): Window | null;
render(): React.ReactPortal | null;
}
}
declare module INSPECTOR {
export interface ITool extends IToolData {
instance: IToolType;
}
interface IToolBarProps {
tools: ITool[];
addTool(url: string): void;
changeTool(toolIndex: number): void;
activeToolIndex: number;
metadata: IMetadata;
setMetadata(data: any): void;
pickerOpen: boolean;
setPickerOpen(open: boolean): void;
pickerRef: React.RefObject;
hasAlpha: boolean;
}
interface IToolBarState {
toolURL: string;
addOpen: boolean;
}
export class ToolBar extends React.Component {
constructor(props: IToolBarProps);
computeRGBAColor(): BABYLON.Color4;
shouldComponentUpdate(nextProps: IToolBarProps): boolean;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IChannel {
visible: boolean;
editable: boolean;
name: string;
id: 'R' | 'G' | 'B' | 'A';
icon: any;
}
interface IChannelsBarProps {
channels: IChannel[];
setChannels(channelState: IChannel[]): void;
}
export class ChannelsBar extends React.PureComponent {
render(): JSX.Element;
}
}
declare module INSPECTOR {
export const canvasShader: {
path: {
vertexSource: string;
fragmentSource: string;
};
options: {
attributes: string[];
uniforms: string[];
};
};
}
declare module INSPECTOR {
export interface IPixelData {
x?: number;
y?: number;
r?: number;
g?: number;
b?: number;
a?: number;
}
export class TextureCanvasManager {
private _engine;
private _scene;
private _camera;
private _cameraPos;
private _scale;
private _isPanning;
private _mouseX;
private _mouseY;
private _UICanvas;
private _size;
/** The canvas we paint onto using the canvas API */
private _2DCanvas;
/** The canvas we apply post processes to */
private _3DCanvas;
/** The canvas which handles channel filtering */
private _channelsTexture;
private _3DEngine;
private _3DPlane;
private _3DCanvasTexture;
private _3DScene;
private _channels;
private _face;
private _mipLevel;
/** The texture from the original engine that we invoked the editor on */
private _originalTexture;
/** This is a hidden texture which is only responsible for holding the actual texture memory in the original engine */
private _target;
/** The internal texture representation of the original texture */
private _originalInternalTexture;
/** Keeps track of whether we have modified the texture */
private _didEdit;
private _plane;
private _planeMaterial;
/** Tracks which keys are currently pressed */
private _keyMap;
private readonly ZOOM_MOUSE_SPEED;
private readonly ZOOM_KEYBOARD_SPEED;
private readonly ZOOM_IN_KEY;
private readonly ZOOM_OUT_KEY;
private readonly PAN_SPEED;
private readonly PAN_MOUSE_BUTTON;
private readonly MIN_SCALE;
private readonly GRID_SCALE;
private readonly MAX_SCALE;
private readonly SELECT_ALL_KEY;
private readonly SAVE_KEY;
private readonly RESET_KEY;
private readonly DESELECT_KEY;
/** The number of milliseconds between texture updates */
private readonly PUSH_FREQUENCY;
private _tool;
private _setPixelData;
private _setMipLevel;
private _window;
private _metadata;
private _editing3D;
private _onUpdate;
private _setMetadata;
private _imageData;
private _canPush;
private _shouldPush;
private _paintCanvas;
constructor(texture: BABYLON.BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void, metadata: IMetadata, onUpdate: () => void, setMetadata: (metadata: any) => void, setMipLevel: (level: number) => void);
updateTexture(): Promise;
private pushTexture;
startPainting(): Promise;
updatePainting(): void;
stopPainting(): void;
private updateDisplay;
set channels(channels: IChannel[]);
paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
grabOriginalTexture(): Promise;
getMouseCoordinates(pointerInfo: BABYLON.PointerInfo): BABYLON.Vector2;
get scene(): BABYLON.Scene;
get canvas2D(): HTMLCanvasElement;
get size(): BABYLON.ISize;
set tool(tool: BABYLON.Nullable);
get tool(): BABYLON.Nullable;
set face(face: number);
set mipLevel(mipLevel: number);
/** Returns the 3D scene used for postprocesses */
get scene3D(): BABYLON.Scene;
set metadata(metadata: IMetadata);
private makePlane;
reset(): void;
resize(newSize: BABYLON.ISize): Promise;
setSize(size: BABYLON.ISize): void;
upload(file: File): void;
saveTexture(): void;
dispose(): void;
}
}
declare module INSPECTOR {
interface IPropertiesBarProps {
texture: BABYLON.BaseTexture;
size: BABYLON.ISize;
saveTexture(): void;
pixelData: IPixelData;
face: number;
setFace(face: number): void;
resetTexture(): void;
resizeTexture(width: number, height: number): void;
uploadTexture(file: File): void;
mipLevel: number;
setMipLevel: (mipLevel: number) => void;
}
interface IPropertiesBarState {
width: number;
height: number;
}
export class PropertiesBar extends React.PureComponent {
private _resetButton;
private _uploadButton;
private _saveButton;
private _babylonLogo;
private _resizeButton;
private _mipUp;
private _mipDown;
private _faces;
constructor(props: IPropertiesBarProps);
private pixelData;
private getNewDimension;
componentWillUpdate(nextProps: IPropertiesBarProps): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IBottomBarProps {
texture: BABYLON.BaseTexture;
mipLevel: number;
}
export class BottomBar extends React.PureComponent {
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITextureCanvasComponentProps {
canvasUI: React.RefObject;
canvas2D: React.RefObject;
canvas3D: React.RefObject;
texture: BABYLON.BaseTexture;
}
export class TextureCanvasComponent extends React.Component {
render(): JSX.Element;
}
}
declare module INSPECTOR {
export const Paintbrush: IToolData;
}
declare module INSPECTOR {
export const Eyedropper: IToolData;
}
declare module INSPECTOR {
export const Floodfill: IToolData;
}
declare module INSPECTOR {
export const RectangleSelect: IToolData;
}
declare module INSPECTOR {
const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
export default _default;
}
declare module INSPECTOR {
interface IToolSettingsProps {
tool: ITool | undefined;
}
export class ToolSettings extends React.Component {
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITextureEditorComponentProps {
texture: BABYLON.BaseTexture;
url: string;
window: React.RefObject;
onUpdate: () => void;
}
interface ITextureEditorComponentState {
tools: ITool[];
activeToolIndex: number;
metadata: IMetadata;
channels: IChannel[];
pixelData: IPixelData;
face: number;
mipLevel: number;
pickerOpen: boolean;
}
export interface IToolParameters {
/** The visible scene in the editor. Useful for adding pointer and keyboard events. */
scene: BABYLON.Scene;
/** The 2D canvas which you can sample pixel data from. Tools should not paint directly on this canvas. */
canvas2D: HTMLCanvasElement;
/** The 3D scene which tools can add post processes to. */
scene3D: BABYLON.Scene;
/** The size of the texture. */
size: BABYLON.ISize;
/** Pushes the editor texture back to the original scene. This should be called every time a tool makes any modification to a texture. */
updateTexture: () => void;
/** The metadata object which is shared between all tools. Feel free to store any information here. Do not set this directly: instead call setMetadata. */
metadata: IMetadata;
/** Call this when you want to mutate the metadata. */
setMetadata: (data: any) => void;
/** Returns the texture coordinates under the cursor */
getMouseCoordinates: (pointerInfo: BABYLON.PointerInfo) => BABYLON.Vector2;
/** Provides access to the BABYLON namespace */
BABYLON: any;
/** Provides a canvas that you can use the canvas API to paint on. */
startPainting: () => Promise;
/** After you have painted on your canvas, call this method to push the updates back to the texture. */
updatePainting: () => void;
/** Call this when you are finished painting. */
stopPainting: () => void;
}
export interface IToolGUIProps {
instance: IToolType;
}
/** An interface representing the definition of a tool */
export interface IToolData {
/** Name to display on the toolbar */
name: string;
/** A class definition for the tool including setup and cleanup methods */
type: IToolConstructable;
/** An SVG icon encoded in Base64 */
icon: string;
/** Whether the tool uses postprocesses */
is3D?: boolean;
cursor?: string;
settingsComponent?: React.ComponentType;
}
export interface IToolType {
/** Called when the tool is selected. */
setup: () => void;
/** Called when the tool is deselected. */
cleanup: () => void;
/** Optional. Called when the user resets the texture or uploads a new texture. Tools may want to reset their state when this happens. */
onReset?: () => void;
}
/** For constructable types, TS requires that you define a seperate interface which constructs your actual interface */
interface IToolConstructable {
new (getParameters: () => IToolParameters): IToolType;
}
export interface IMetadata {
color: string;
alpha: number;
select: {
x1: number;
y1: number;
x2: number;
y2: number;
};
[key: string]: any;
}
global {
var _TOOL_DATA_: IToolData;
}
export class TextureEditorComponent extends React.Component {
private _textureCanvasManager;
private _UICanvas;
private _2DCanvas;
private _3DCanvas;
private _pickerRef;
private _timer;
private static PREVIEW_UPDATE_DELAY_MS;
constructor(props: ITextureEditorComponentProps);
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
textureDidUpdate(): void;
loadToolFromURL(url: string): void;
addTools(tools: IToolData[]): void;
getToolParameters(): IToolParameters;
changeTool(index: number): void;
setMetadata(newMetadata: any): void;
setPickerOpen(open: boolean): void;
onPointerDown(evt: React.PointerEvent): void;
saveTexture(): void;
resetTexture(): void;
resizeTexture(width: number, height: number): void;
uploadTexture(file: File): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITexturePropertyGridComponentProps {
texture: BABYLON.BaseTexture;
lockObject: LockObject;
globalState: GlobalState;
onPropertyChangedObservable?: BABYLON.Observable;
}
interface ITexturePropertyGridComponentState {
isTextureEditorOpen: boolean;
textureEditing: BABYLON.Nullable;
}
export class TexturePropertyGridComponent extends React.Component {
private _adtInstrumentation;
private popoutWindowRef;
private textureLineRef;
private _textureInspectorSize;
constructor(props: ITexturePropertyGridComponentProps);
componentWillUnmount(): void;
updateTexture(file: File): void;
openTextureEditor(): void;
onOpenTextureEditor(window: Window): void;
onCloseTextureEditor(callback?: {
(): void;
}): void;
forceRefresh(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IVector2LineComponentProps {
label: string;
target: any;
propertyName: string;
step?: number;
onChange?: (newvalue: BABYLON.Vector2) => void;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class Vector2LineComponent extends React.Component {
static defaultProps: {
step: number;
};
private _localChange;
constructor(props: IVector2LineComponentProps);
shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
isExpanded: boolean;
value: BABYLON.Vector2;
}): boolean;
switchExpandState(): void;
raiseOnPropertyChanged(previousValue: BABYLON.Vector2): void;
updateStateX(value: number): void;
updateStateY(value: number): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IPBRMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.PBRMaterial;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class PBRMaterialPropertyGridComponent extends React.Component {
private _onDebugSelectionChangeObservable;
constructor(props: IPBRMaterialPropertyGridComponentProps);
switchAmbientMode(state: boolean): void;
renderTextures(onDebugSelectionChangeObservable: BABYLON.Observable): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IRadioButtonLineComponentProps {
onSelectionChangedObservable: BABYLON.Observable;
label: string;
isSelected: () => boolean;
onSelect: () => void;
}
export class RadioButtonLineComponent extends React.Component {
private _onSelectionChangedObserver;
constructor(props: IRadioButtonLineComponentProps);
componentDidMount(): void;
componentWillUnmount(): void;
onChange(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IFogPropertyGridComponentProps {
globalState: GlobalState;
scene: BABYLON.Scene;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class FogPropertyGridComponent extends React.Component {
constructor(props: IFogPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IScenePropertyGridComponentProps {
globalState: GlobalState;
scene: BABYLON.Scene;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
onSelectionChangedObservable?: BABYLON.Observable;
}
export class ScenePropertyGridComponent extends React.Component {
private _storedEnvironmentTexture;
private _renderingModeGroupObservable;
constructor(props: IScenePropertyGridComponentProps);
setRenderingModes(point: boolean, wireframe: boolean): void;
switchIBL(): void;
updateEnvironmentTexture(file: File): void;
updateGravity(newValue: BABYLON.Vector3): void;
updateTimeStep(newValue: number): void;
normalizeScene(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonLightPropertyGridComponentProps {
globalState: GlobalState;
light: BABYLON.Light;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonLightPropertyGridComponent extends React.Component {
constructor(props: ICommonLightPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IHemisphericLightPropertyGridComponentProps {
globalState: GlobalState;
light: BABYLON.HemisphericLight;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class HemisphericLightPropertyGridComponent extends React.Component {
constructor(props: IHemisphericLightPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonShadowLightPropertyGridComponentProps {
globalState: GlobalState;
light: BABYLON.IShadowLight;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonShadowLightPropertyGridComponent extends React.Component {
private _internals;
constructor(props: ICommonShadowLightPropertyGridComponentProps);
createShadowGenerator(): void;
disposeShadowGenerator(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IPointLightPropertyGridComponentProps {
globalState: GlobalState;
light: BABYLON.PointLight;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class PointLightPropertyGridComponent extends React.Component {
constructor(props: IPointLightPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IHexLineComponentProps {
label: string;
target: any;
propertyName: string;
lockObject?: LockObject;
onChange?: (newValue: number) => void;
isInteger?: boolean;
replaySourceReplacement?: string;
onPropertyChangedObservable?: BABYLON.Observable;
additionalClass?: string;
step?: string;
digits?: number;
useEuler?: boolean;
min?: number;
}
export class HexLineComponent extends React.Component {
private _localChange;
private _store;
private _propertyChange;
constructor(props: IHexLineComponentProps);
componentWillUnmount(): void;
shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
value: string;
}): boolean;
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
convertToHexString(valueString: string): string;
updateValue(valueString: string, raisePropertyChanged: boolean): void;
lock(): void;
unlock(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonCameraPropertyGridComponentProps {
globalState: GlobalState;
camera: BABYLON.Camera;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonCameraPropertyGridComponent extends React.Component {
constructor(props: ICommonCameraPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IFreeCameraPropertyGridComponentProps {
globalState: GlobalState;
camera: BABYLON.FreeCamera;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class FreeCameraPropertyGridComponent extends React.Component {
constructor(props: IFreeCameraPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IArcRotateCameraPropertyGridComponentProps {
globalState: GlobalState;
camera: BABYLON.ArcRotateCamera;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ArcRotateCameraPropertyGridComponent extends React.Component {
constructor(props: IArcRotateCameraPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IIndentedTextLineComponentProps {
value?: string;
color?: string;
underline?: boolean;
onLink?: () => void;
url?: string;
additionalClass?: string;
}
export class IndentedTextLineComponent extends React.Component {
constructor(props: IIndentedTextLineComponentProps);
onLink(): void;
renderContent(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonPropertyGridComponentProps {
globalState: GlobalState;
host: {
metadata: any;
};
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonPropertyGridComponent extends React.Component {
constructor(props: ICommonPropertyGridComponentProps);
renderLevel(jsonObject: any): JSX.Element[];
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
interface IVariantsPropertyGridComponentProps {
globalState: GlobalState;
host: any;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class VariantsPropertyGridComponent extends React.Component {
constructor(props: IVariantsPropertyGridComponentProps);
private _getVariantsExtension;
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
interface IMeshPropertyGridComponentProps {
globalState: GlobalState;
mesh: BABYLON.Mesh;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class MeshPropertyGridComponent extends React.Component {
constructor(props: IMeshPropertyGridComponentProps);
renderWireframeOver(): void;
renderNormalVectors(): void;
displayNormals(): void;
displayVertexColors(): void;
displayBoneWeights(): void;
displaySkeletonMap(): void;
onBoneDisplayIndexChange(value: number): void;
onMaterialLink(): void;
onSourceMeshLink(): void;
onSkeletonLink(): void;
convertPhysicsTypeToString(): string;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITransformNodePropertyGridComponentProps {
globalState: GlobalState;
transformNode: BABYLON.TransformNode;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class TransformNodePropertyGridComponent extends React.Component {
constructor(props: ITransformNodePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IBackgroundMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.BackgroundMaterial;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class BackgroundMaterialPropertyGridComponent extends React.Component {
private _onDebugSelectionChangeObservable;
constructor(props: IBackgroundMaterialPropertyGridComponentProps);
renderTextures(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonControlPropertyGridComponentProps {
globalState: GlobalState;
control: BABYLON.GUI.Control;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonControlPropertyGridComponent extends React.Component {
constructor(props: ICommonControlPropertyGridComponentProps);
renderGridInformation(): JSX.Element | null;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IControlPropertyGridComponentProps {
globalState: GlobalState;
control: BABYLON.GUI.Control;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ControlPropertyGridComponent extends React.Component {
constructor(props: IControlPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITextBlockPropertyGridComponentProps {
globalState: GlobalState;
textBlock: BABYLON.GUI.TextBlock;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class TextBlockPropertyGridComponent extends React.Component {
constructor(props: ITextBlockPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IInputTextPropertyGridComponentProps {
globalState: GlobalState;
inputText: BABYLON.GUI.InputText;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class InputTextPropertyGridComponent extends React.Component {
constructor(props: IInputTextPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IColorPickerPropertyGridComponentProps {
globalState: GlobalState;
colorPicker: BABYLON.GUI.ColorPicker;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ColorPickerPropertyGridComponent extends React.Component {
constructor(props: IColorPickerPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IAnimationGroupGridComponentProps {
globalState: GlobalState;
animationGroup: BABYLON.AnimationGroup;
scene: BABYLON.Scene;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class AnimationGroupGridComponent extends React.Component {
private _onAnimationGroupPlayObserver;
private _onAnimationGroupPauseObserver;
private _onBeforeRenderObserver;
private timelineRef;
constructor(props: IAnimationGroupGridComponentProps);
disconnect(animationGroup: BABYLON.AnimationGroup): void;
connect(animationGroup: BABYLON.AnimationGroup): void;
updateCurrentFrame(animationGroup: BABYLON.AnimationGroup): void;
shouldComponentUpdate(nextProps: IAnimationGroupGridComponentProps): boolean;
componentWillUnmount(): void;
playOrPause(): void;
onCurrentFrameChange(value: number): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IImagePropertyGridComponentProps {
globalState: GlobalState;
image: BABYLON.GUI.Image;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ImagePropertyGridComponent extends React.Component {
constructor(props: IImagePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISliderPropertyGridComponentProps {
globalState: GlobalState;
slider: BABYLON.GUI.Slider;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SliderPropertyGridComponent extends React.Component {
constructor(props: ISliderPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IImageBasedSliderPropertyGridComponentProps {
globalState: GlobalState;
imageBasedSlider: BABYLON.GUI.ImageBasedSlider;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ImageBasedSliderPropertyGridComponent extends React.Component {
constructor(props: IImageBasedSliderPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IRectanglePropertyGridComponentProps {
globalState: GlobalState;
rectangle: BABYLON.GUI.Rectangle;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class RectanglePropertyGridComponent extends React.Component {
constructor(props: IRectanglePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IEllipsePropertyGridComponentProps {
globalState: GlobalState;
ellipse: BABYLON.GUI.Ellipse;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class EllipsePropertyGridComponent extends React.Component {
constructor(props: IEllipsePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICheckboxPropertyGridComponentProps {
globalState: GlobalState;
checkbox: BABYLON.GUI.Checkbox;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CheckboxPropertyGridComponent extends React.Component {
constructor(props: ICheckboxPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IRadioButtonPropertyGridComponentProps {
globalState: GlobalState;
radioButton: BABYLON.GUI.RadioButton;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class RadioButtonPropertyGridComponent extends React.Component {
constructor(props: IRadioButtonPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ILinePropertyGridComponentProps {
globalState: GlobalState;
line: BABYLON.GUI.Line;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class LinePropertyGridComponent extends React.Component {
constructor(props: ILinePropertyGridComponentProps);
onDashChange(value: string): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IScrollViewerPropertyGridComponentProps {
globalState: GlobalState;
scrollViewer: BABYLON.GUI.ScrollViewer;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ScrollViewerPropertyGridComponent extends React.Component {
constructor(props: IScrollViewerPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IGridPropertyGridComponentProps {
globalState: GlobalState;
grid: BABYLON.GUI.Grid;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class GridPropertyGridComponent extends React.Component {
constructor(props: IGridPropertyGridComponentProps);
renderRows(): JSX.Element[];
renderColumns(): JSX.Element[];
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IPBRMetallicRoughnessMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.PBRMetallicRoughnessMaterial;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class PBRMetallicRoughnessMaterialPropertyGridComponent extends React.Component {
private _onDebugSelectionChangeObservable;
constructor(props: IPBRMetallicRoughnessMaterialPropertyGridComponentProps);
renderTextures(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IPBRSpecularGlossinessMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.PBRSpecularGlossinessMaterial;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class PBRSpecularGlossinessMaterialPropertyGridComponent extends React.Component {
private _onDebugSelectionChangeObservable;
constructor(props: IPBRSpecularGlossinessMaterialPropertyGridComponentProps);
renderTextures(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IStackPanelPropertyGridComponentProps {
globalState: GlobalState;
stackPanel: BABYLON.GUI.StackPanel;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class StackPanelPropertyGridComponent extends React.Component {
constructor(props: IStackPanelPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonPostProcessPropertyGridComponentProps {
globalState: GlobalState;
postProcess: BABYLON.PostProcess;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonPostProcessPropertyGridComponent extends React.Component {
constructor(props: ICommonPostProcessPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IPostProcessPropertyGridComponentProps {
globalState: GlobalState;
postProcess: BABYLON.PostProcess;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class PostProcessPropertyGridComponent extends React.Component {
constructor(props: IPostProcessPropertyGridComponentProps);
edit(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICommonRenderingPipelinePropertyGridComponentProps {
globalState: GlobalState;
renderPipeline: BABYLON.PostProcessRenderPipeline;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CommonRenderingPipelinePropertyGridComponent extends React.Component {
constructor(props: ICommonRenderingPipelinePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IRenderingPipelinePropertyGridComponentProps {
globalState: GlobalState;
renderPipeline: BABYLON.PostProcessRenderPipeline;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class RenderingPipelinePropertyGridComponent extends React.Component {
constructor(props: IRenderingPipelinePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IDefaultRenderingPipelinePropertyGridComponentProps {
globalState: GlobalState;
renderPipeline: BABYLON.DefaultRenderingPipeline;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class DefaultRenderingPipelinePropertyGridComponent extends React.Component {
constructor(props: IDefaultRenderingPipelinePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISSAORenderingPipelinePropertyGridComponentProps {
globalState: GlobalState;
renderPipeline: BABYLON.SSAORenderingPipeline;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SSAORenderingPipelinePropertyGridComponent extends React.Component {
constructor(props: ISSAORenderingPipelinePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISSAO2RenderingPipelinePropertyGridComponentProps {
globalState: GlobalState;
renderPipeline: BABYLON.SSAO2RenderingPipeline;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SSAO2RenderingPipelinePropertyGridComponent extends React.Component {
constructor(props: ISSAO2RenderingPipelinePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISkeletonPropertyGridComponentProps {
globalState: GlobalState;
skeleton: BABYLON.Skeleton;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SkeletonPropertyGridComponent extends React.Component {
private _skeletonViewersEnabled;
private _skeletonViewerDisplayOptions;
private _skeletonViewers;
constructor(props: ISkeletonPropertyGridComponentProps);
switchSkeletonViewers(): void;
checkSkeletonViewerState(props: ISkeletonPropertyGridComponentProps): void;
changeDisplayMode(): void;
changeDisplayOptions(option: string, value: number): void;
shouldComponentUpdate(nextProps: ISkeletonPropertyGridComponentProps): boolean;
onOverrideMeshLink(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IBonePropertyGridComponentProps {
globalState: GlobalState;
bone: BABYLON.Bone;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class BonePropertyGridComponent extends React.Component {
constructor(props: IBonePropertyGridComponentProps);
onTransformNodeLink(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IDirectionalLightPropertyGridComponentProps {
globalState: GlobalState;
light: BABYLON.DirectionalLight;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class DirectionalLightPropertyGridComponent extends React.Component {
constructor(props: IDirectionalLightPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISpotLightPropertyGridComponentProps {
globalState: GlobalState;
light: BABYLON.SpotLight;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SpotLightPropertyGridComponent extends React.Component {
constructor(props: ISpotLightPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ILenstRenderingPipelinePropertyGridComponentProps {
globalState: GlobalState;
renderPipeline: BABYLON.LensRenderingPipeline;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class LensRenderingPipelinePropertyGridComponent extends React.Component {
constructor(props: ILenstRenderingPipelinePropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IVector4LineComponentProps {
label: string;
target: any;
propertyName: string;
step?: number;
onChange?: (newvalue: BABYLON.Vector4) => void;
useEuler?: boolean;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class Vector4LineComponent extends React.Component {
static defaultProps: {
step: number;
};
private _localChange;
constructor(props: IVector4LineComponentProps);
getCurrentValue(): any;
shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
isExpanded: boolean;
value: BABYLON.Vector4;
}): boolean;
switchExpandState(): void;
raiseOnPropertyChanged(previousValue: BABYLON.Vector4): void;
updateVector4(): void;
updateStateX(value: number): void;
updateStateY(value: number): void;
updateStateZ(value: number): void;
updateStateW(value: number): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IGradientStepComponentProps {
globalState: GlobalState;
step: BABYLON.GradientBlockColorStep;
lineIndex: number;
onDelete: () => void;
onUpdateStep: () => void;
onCheckForReOrder: () => void;
onCopy?: () => void;
}
export class GradientStepComponent extends React.Component {
constructor(props: IGradientStepComponentProps);
updateColor(color: string): void;
updateStep(gradient: number): void;
onPointerUp(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IPropertyComponentProps {
globalState: GlobalState;
block: BABYLON.NodeMaterialBlock;
}
}
declare module INSPECTOR {
export class GradientPropertyTabComponent extends React.Component {
private _gradientBlock;
constructor(props: IPropertyComponentProps);
forceRebuild(): void;
deleteStep(step: BABYLON.GradientBlockColorStep): void;
copyStep(step: BABYLON.GradientBlockColorStep): void;
addNewStep(): void;
checkForReOrder(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export interface IColor4LineComponentProps {
label: string;
target: any;
propertyName: string;
onPropertyChangedObservable?: BABYLON.Observable;
onChange?: () => void;
isLinear?: boolean;
}
export class Color4LineComponent extends React.Component {
private _localChange;
constructor(props: IColor4LineComponentProps);
shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
color: BABYLON.Color4;
}): boolean;
setPropertyValue(newColor: BABYLON.Color4): void;
onChange(newValue: string): void;
switchExpandState(): void;
raiseOnPropertyChanged(previousValue: BABYLON.Color4): void;
updateStateR(value: number): void;
updateStateG(value: number): void;
updateStateB(value: number): void;
updateStateA(value: number): void;
copyToClipboard(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface INodeMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.NodeMaterial;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class NodeMaterialPropertyGridComponent extends React.Component {
private _onDebugSelectionChangeObservable;
constructor(props: INodeMaterialPropertyGridComponentProps);
edit(): void;
renderTextures(): JSX.Element | null;
renderInputBlock(block: BABYLON.InputBlock): JSX.Element | null;
renderInputValues(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IMultiMaterialPropertyGridComponentProps {
globalState: GlobalState;
material: BABYLON.MultiMaterial;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class MultiMaterialPropertyGridComponent extends React.Component {
constructor(props: IMultiMaterialPropertyGridComponentProps);
onMaterialLink(mat: BABYLON.Material): void;
renderChildMaterial(): JSX.Element;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IBoxEmitterGridComponentProps {
globalState: GlobalState;
emitter: BABYLON.BoxParticleEmitter;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class BoxEmitterGridComponent extends React.Component {
constructor(props: IBoxEmitterGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IConeEmitterGridComponentProps {
globalState: GlobalState;
emitter: BABYLON.ConeParticleEmitter;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ConeEmitterGridComponent extends React.Component {
constructor(props: IConeEmitterGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ICylinderEmitterGridComponentProps {
globalState: GlobalState;
emitter: BABYLON.CylinderParticleEmitter;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class CylinderEmitterGridComponent extends React.Component {
constructor(props: ICylinderEmitterGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IHemisphericEmitterGridComponentProps {
globalState: GlobalState;
emitter: BABYLON.HemisphericParticleEmitter;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class HemisphericEmitterGridComponent extends React.Component {
constructor(props: IHemisphericEmitterGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IPointEmitterGridComponentProps {
globalState: GlobalState;
emitter: BABYLON.PointParticleEmitter;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class PointEmitterGridComponent extends React.Component {
constructor(props: IPointEmitterGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISphereEmitterGridComponentProps {
globalState: GlobalState;
emitter: BABYLON.SphereParticleEmitter;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SphereEmitterGridComponent extends React.Component {
constructor(props: ISphereEmitterGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IMeshPickerComponentProps {
globalState: GlobalState;
target: any;
property: string;
scene: BABYLON.Scene;
label: string;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class MeshPickerComponent extends React.Component {
constructor(props: IMeshPickerComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IMeshEmitterGridComponentProps {
globalState: GlobalState;
emitter: BABYLON.MeshParticleEmitter;
scene: BABYLON.Scene;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class MeshEmitterGridComponent extends React.Component {
constructor(props: IMeshEmitterGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IFactorGradientStepGridComponent {
globalState: GlobalState;
gradient: BABYLON.FactorGradient;
lockObject: LockObject;
lineIndex: number;
onDelete: () => void;
onUpdateGradient: () => void;
onCheckForReOrder: () => void;
host: BABYLON.IParticleSystem;
codeRecorderPropertyName: string;
}
export class FactorGradientStepGridComponent extends React.Component {
constructor(props: IFactorGradientStepGridComponent);
shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
gradient: number;
factor1: string;
factor2?: string;
}): boolean;
updateFactor1(valueString: string): void;
updateFactor2(valueString: string): void;
updateGradient(gradient: number): void;
onPointerUp(): void;
lock(): void;
unlock(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IColorGradientStepGridComponent {
globalState: GlobalState;
gradient: BABYLON.ColorGradient | BABYLON.Color3Gradient;
lockObject: LockObject;
lineIndex: number;
isColor3: boolean;
onDelete: () => void;
onUpdateGradient: () => void;
onCheckForReOrder: () => void;
host: BABYLON.IParticleSystem;
codeRecorderPropertyName: string;
}
export class ColorGradientStepGridComponent extends React.Component {
constructor(props: IColorGradientStepGridComponent);
updateColor1(color: string): void;
updateColor2(color: string): void;
updateGradient(gradient: number): void;
onPointerUp(): void;
lock(): void;
unlock(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ILinkButtonComponentProps {
label: string;
buttonLabel: string;
url?: string;
onClick: () => void;
onIconClick?: () => void;
}
export class LinkButtonComponent extends React.Component {
constructor(props: ILinkButtonComponentProps);
onLink(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
export enum GradientGridMode {
Factor = 0,
BABYLON.Color3 = 1,
BABYLON.Color4 = 2
}
interface IValueGradientGridComponent {
globalState: GlobalState;
label: string;
gradients: BABYLON.Nullable>;
lockObject: LockObject;
docLink?: string;
mode: GradientGridMode;
host: BABYLON.IParticleSystem;
codeRecorderPropertyName: string;
onCreateRequired: () => void;
}
export class ValueGradientGridComponent extends React.Component {
constructor(props: IValueGradientGridComponent);
deleteStep(step: BABYLON.IValueGradient): void;
addNewStep(): void;
checkForReOrder(): void;
updateAndSync(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IParticleSystemPropertyGridComponentProps {
globalState: GlobalState;
system: BABYLON.IParticleSystem;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class ParticleSystemPropertyGridComponent extends React.Component {
private _snippetUrl;
constructor(props: IParticleSystemPropertyGridComponentProps);
renderEmitter(): JSX.Element | null;
raiseOnPropertyChanged(property: string, newValue: any, previousValue: any): void;
renderControls(): JSX.Element;
saveToFile(): void;
loadFromFile(file: File): void;
loadFromSnippet(): void;
saveToSnippet(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISpriteManagerPropertyGridComponentProps {
globalState: GlobalState;
spriteManager: BABYLON.SpriteManager;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SpriteManagerPropertyGridComponent extends React.Component {
private _snippetUrl;
constructor(props: ISpriteManagerPropertyGridComponentProps);
addNewSprite(): void;
disposeManager(): void;
saveToFile(): void;
loadFromFile(file: File): void;
loadFromSnippet(): void;
saveToSnippet(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISpritePropertyGridComponentProps {
globalState: GlobalState;
sprite: BABYLON.Sprite;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
onSelectionChangedObservable?: BABYLON.Observable;
}
export class SpritePropertyGridComponent extends React.Component {
private canvasRef;
private imageData;
private cachedCellIndex;
constructor(props: ISpritePropertyGridComponentProps);
onManagerLink(): void;
switchPlayStopState(): void;
disposeSprite(): void;
componentDidMount(): void;
componentDidUpdate(): void;
shouldComponentUpdate(nextProps: ISpritePropertyGridComponentProps): boolean;
updatePreview(): void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ITargetedAnimationGridComponentProps {
globalState: GlobalState;
targetedAnimation: BABYLON.TargetedAnimation;
scene: BABYLON.Scene;
lockObject: LockObject;
onSelectionChangedObservable?: BABYLON.Observable;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class TargetedAnimationGridComponent extends React.Component {
private _animationGroup;
constructor(props: ITargetedAnimationGridComponentProps);
playOrPause: () => void;
deleteAnimation: () => void;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IFollowCameraPropertyGridComponentProps {
globalState: GlobalState;
camera: BABYLON.FollowCamera;
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class FollowCameraPropertyGridComponent extends React.Component {
constructor(props: IFollowCameraPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface ISoundPropertyGridComponentProps {
globalState: GlobalState;
sound: BABYLON.Sound;
extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
lockObject: LockObject;
onPropertyChangedObservable?: BABYLON.Observable;
}
export class SoundPropertyGridComponent extends React.Component {
constructor(props: ISoundPropertyGridComponentProps);
render(): JSX.Element;
}
}
declare module INSPECTOR {
export class PropertyGridTabComponent extends PaneComponent {
private _timerIntervalId;
private _lockObject;
constructor(props: IPaneComponentProps);
timerRefresh(): void;
componentDidMount(): void;
componentWillUnmount(): void;
render(): JSX.Element | null;
}
}
declare module INSPECTOR {
export interface IHeaderComponentProps {
title: string;
handleBack?: boolean;
noExpand?: boolean;
noClose?: boolean;
noCommands?: boolean;
onPopup: () => void;
onClose: () => void;
onSelectionChangedObservable?: BABYLON.Observable;
}
export class HeaderComponent extends React.Component {
private _backStack;
private _onSelectionChangeObserver;
constructor(props: IHeaderComponentProps);
componentDidMount(): void;
componentWillUnmount(): void;
goBack(): void;
renderLogo(): JSX.Element | null;
render(): JSX.Element;
}
}
declare module INSPECTOR {
interface IMessageLineComponentProps {
text: string;
color?: string;
}
export class MessageLineComponent extends React.Component