|
@@ -28,7 +28,9 @@ declare module "babylonjs-inspector/components/globalState" {
|
|
import { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "babylonjs/Loading/sceneLoader";
|
|
import { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "babylonjs/Loading/sceneLoader";
|
|
import { Scene } from "babylonjs/scene";
|
|
import { Scene } from "babylonjs/scene";
|
|
import { Light } from "babylonjs/Lights/light";
|
|
import { Light } from "babylonjs/Lights/light";
|
|
|
|
+ import { Camera } from "babylonjs/Cameras/camera";
|
|
import { LightGizmo } from "babylonjs/Gizmos/lightGizmo";
|
|
import { LightGizmo } from "babylonjs/Gizmos/lightGizmo";
|
|
|
|
+ import { CameraGizmo } from "babylonjs/Gizmos/cameraGizmo";
|
|
import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
|
|
import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
|
|
import { ReplayRecorder } from "babylonjs-inspector/components/replayRecorder";
|
|
import { ReplayRecorder } from "babylonjs-inspector/components/replayRecorder";
|
|
export class GlobalState {
|
|
export class GlobalState {
|
|
@@ -70,6 +72,8 @@ declare module "babylonjs-inspector/components/globalState" {
|
|
prepareGLTFPlugin(loader: GLTFFileLoader): void;
|
|
prepareGLTFPlugin(loader: GLTFFileLoader): void;
|
|
lightGizmos: Array<LightGizmo>;
|
|
lightGizmos: Array<LightGizmo>;
|
|
enableLightGizmo(light: Light, enable?: boolean): void;
|
|
enableLightGizmo(light: Light, enable?: boolean): void;
|
|
|
|
+ cameraGizmos: Array<CameraGizmo>;
|
|
|
|
+ enableCameraGizmo(camera: Camera, enable?: boolean): void;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module "babylonjs-inspector/components/actionTabs/paneComponent" {
|
|
declare module "babylonjs-inspector/components/actionTabs/paneComponent" {
|
|
@@ -336,6 +340,7 @@ declare module "babylonjs-inspector/components/actionTabs/lines/numericInputComp
|
|
value: string;
|
|
value: string;
|
|
}): boolean;
|
|
}): boolean;
|
|
updateValue(evt: any): void;
|
|
updateValue(evt: any): void;
|
|
|
|
+ onBlur(): void;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1444,9 +1449,25 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+declare module "babylonjs-inspector/lod" {
|
|
|
|
+ /** @hidden */
|
|
|
|
+ export var lodPixelShader: {
|
|
|
|
+ name: string;
|
|
|
|
+ shader: string;
|
|
|
|
+ };
|
|
|
|
+}
|
|
|
|
+declare module "babylonjs-inspector/lodCube" {
|
|
|
|
+ /** @hidden */
|
|
|
|
+ export var lodCubePixelShader: {
|
|
|
|
+ name: string;
|
|
|
|
+ shader: string;
|
|
|
|
+ };
|
|
|
|
+}
|
|
declare module "babylonjs-inspector/textureHelper" {
|
|
declare module "babylonjs-inspector/textureHelper" {
|
|
import { GlobalState } from "babylonjs-inspector/components/globalState";
|
|
import { GlobalState } from "babylonjs-inspector/components/globalState";
|
|
import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
|
|
import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
|
|
|
|
+ import "babylonjs-inspector/lod";
|
|
|
|
+ import "babylonjs-inspector/lodCube";
|
|
export interface TextureChannelsToDisplay {
|
|
export interface TextureChannelsToDisplay {
|
|
R: boolean;
|
|
R: boolean;
|
|
G: boolean;
|
|
G: boolean;
|
|
@@ -1455,7 +1476,7 @@ declare module "babylonjs-inspector/textureHelper" {
|
|
}
|
|
}
|
|
export class TextureHelper {
|
|
export class TextureHelper {
|
|
private static _ProcessAsync;
|
|
private static _ProcessAsync;
|
|
- static GetTextureDataAsync(texture: BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState): Promise<Uint8Array>;
|
|
|
|
|
|
+ static GetTextureDataAsync(texture: BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState, lod?: number): Promise<Uint8Array>;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module "babylonjs-inspector/components/actionTabs/lines/textureLineComponent" {
|
|
declare module "babylonjs-inspector/components/actionTabs/lines/textureLineComponent" {
|
|
@@ -1489,7 +1510,7 @@ declare module "babylonjs-inspector/components/actionTabs/lines/textureLineCompo
|
|
}
|
|
}
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar" {
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar" {
|
|
import * as React from 'react';
|
|
import * as React from 'react';
|
|
- import { IToolData, IToolType } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
|
|
|
|
|
|
+ import { IToolData, IToolType, IMetadata } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
|
|
export interface ITool extends IToolData {
|
|
export interface ITool extends IToolData {
|
|
instance: IToolType;
|
|
instance: IToolType;
|
|
}
|
|
}
|
|
@@ -1498,19 +1519,21 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
addTool(url: string): void;
|
|
addTool(url: string): void;
|
|
changeTool(toolIndex: number): void;
|
|
changeTool(toolIndex: number): void;
|
|
activeToolIndex: number;
|
|
activeToolIndex: number;
|
|
- metadata: any;
|
|
|
|
|
|
+ metadata: IMetadata;
|
|
setMetadata(data: any): void;
|
|
setMetadata(data: any): void;
|
|
|
|
+ pickerOpen: boolean;
|
|
|
|
+ setPickerOpen(open: boolean): void;
|
|
|
|
+ pickerRef: React.RefObject<HTMLDivElement>;
|
|
|
|
+ hasAlpha: boolean;
|
|
}
|
|
}
|
|
interface IToolBarState {
|
|
interface IToolBarState {
|
|
toolURL: string;
|
|
toolURL: string;
|
|
- pickerOpen: boolean;
|
|
|
|
addOpen: boolean;
|
|
addOpen: boolean;
|
|
}
|
|
}
|
|
export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
|
|
export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
|
|
- private _addTool;
|
|
|
|
- private _pickerRef;
|
|
|
|
constructor(props: IToolBarProps);
|
|
constructor(props: IToolBarProps);
|
|
computeRGBAColor(): string;
|
|
computeRGBAColor(): string;
|
|
|
|
+ shouldComponentUpdate(nextProps: IToolBarProps): boolean;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1527,10 +1550,22 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
channels: IChannel[];
|
|
channels: IChannel[];
|
|
setChannels(channelState: IChannel[]): void;
|
|
setChannels(channelState: IChannel[]): void;
|
|
}
|
|
}
|
|
- export class ChannelsBar extends React.Component<IChannelsBarProps> {
|
|
|
|
|
|
+ export class ChannelsBar extends React.PureComponent<IChannelsBarProps> {
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/canvasShader" {
|
|
|
|
+ export const canvasShader: {
|
|
|
|
+ path: {
|
|
|
|
+ vertexSource: string;
|
|
|
|
+ fragmentSource: string;
|
|
|
|
+ };
|
|
|
|
+ options: {
|
|
|
|
+ attributes: string[];
|
|
|
|
+ uniforms: string[];
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+}
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager" {
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager" {
|
|
import { Scene } from 'babylonjs/scene';
|
|
import { Scene } from 'babylonjs/scene';
|
|
import { Vector2 } from 'babylonjs/Maths/math.vector';
|
|
import { Vector2 } from 'babylonjs/Maths/math.vector';
|
|
@@ -1540,9 +1575,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
import { PointerInfo } from 'babylonjs/Events/pointerEvents';
|
|
import { PointerInfo } from 'babylonjs/Events/pointerEvents';
|
|
import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
|
|
import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
|
|
import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
|
|
import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
|
|
- import { StackPanel } from 'babylonjs-gui/2D/controls/stackPanel';
|
|
|
|
- import { Style } from 'babylonjs-gui/2D/style';
|
|
|
|
- import { AdvancedDynamicTexture } from 'babylonjs-gui/2D/advancedDynamicTexture';
|
|
|
|
|
|
+ import { IMetadata } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
|
|
export interface IPixelData {
|
|
export interface IPixelData {
|
|
x?: number;
|
|
x?: number;
|
|
y?: number;
|
|
y?: number;
|
|
@@ -1551,17 +1584,11 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
b?: number;
|
|
b?: number;
|
|
a?: number;
|
|
a?: number;
|
|
}
|
|
}
|
|
- export interface IToolGUI {
|
|
|
|
- adt: AdvancedDynamicTexture;
|
|
|
|
- toolWindow: StackPanel;
|
|
|
|
- isDragging: boolean;
|
|
|
|
- dragCoords: Nullable<Vector2>;
|
|
|
|
- style: Style;
|
|
|
|
- }
|
|
|
|
export class TextureCanvasManager {
|
|
export class TextureCanvasManager {
|
|
private _engine;
|
|
private _engine;
|
|
private _scene;
|
|
private _scene;
|
|
private _camera;
|
|
private _camera;
|
|
|
|
+ private _cameraPos;
|
|
private _scale;
|
|
private _scale;
|
|
private _isPanning;
|
|
private _isPanning;
|
|
private _mouseX;
|
|
private _mouseX;
|
|
@@ -1577,6 +1604,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
private _3DScene;
|
|
private _3DScene;
|
|
private _channels;
|
|
private _channels;
|
|
private _face;
|
|
private _face;
|
|
|
|
+ private _mipLevel;
|
|
private _originalTexture;
|
|
private _originalTexture;
|
|
private _target;
|
|
private _target;
|
|
private _originalInternalTexture;
|
|
private _originalInternalTexture;
|
|
@@ -1591,19 +1619,33 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
private static PAN_SPEED;
|
|
private static PAN_SPEED;
|
|
private static PAN_MOUSE_BUTTON;
|
|
private static PAN_MOUSE_BUTTON;
|
|
private static MIN_SCALE;
|
|
private static MIN_SCALE;
|
|
|
|
+ private static GRID_SCALE;
|
|
private static MAX_SCALE;
|
|
private static MAX_SCALE;
|
|
|
|
+ private static SELECT_ALL_KEY;
|
|
|
|
+ private static SAVE_KEY;
|
|
|
|
+ private static RESET_KEY;
|
|
|
|
+ private static DESELECT_KEY;
|
|
private _tool;
|
|
private _tool;
|
|
private _setPixelData;
|
|
private _setPixelData;
|
|
- private _GUI;
|
|
|
|
private _window;
|
|
private _window;
|
|
- metadata: any;
|
|
|
|
|
|
+ private _metadata;
|
|
private _editing3D;
|
|
private _editing3D;
|
|
- constructor(texture: BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void);
|
|
|
|
|
|
+ private _onUpdate;
|
|
|
|
+ private _setMetadata;
|
|
|
|
+ private _imageData;
|
|
|
|
+ private _canUpdate;
|
|
|
|
+ private _shouldUpdate;
|
|
|
|
+ private _paintCanvas;
|
|
|
|
+ constructor(texture: BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void, metadata: IMetadata, onUpdate: () => void, setMetadata: (metadata: any) => void);
|
|
updateTexture(): Promise<void>;
|
|
updateTexture(): Promise<void>;
|
|
|
|
+ private queueTextureUpdate;
|
|
|
|
+ startPainting(): CanvasRenderingContext2D;
|
|
|
|
+ updatePainting(): void;
|
|
|
|
+ stopPainting(): void;
|
|
private updateDisplay;
|
|
private updateDisplay;
|
|
set channels(channels: IChannel[]);
|
|
set channels(channels: IChannel[]);
|
|
static paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
|
|
static paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
|
|
- grabOriginalTexture(adjustZoom?: boolean): void;
|
|
|
|
|
|
+ grabOriginalTexture(): void;
|
|
getMouseCoordinates(pointerInfo: PointerInfo): Vector2;
|
|
getMouseCoordinates(pointerInfo: PointerInfo): Vector2;
|
|
get scene(): Scene;
|
|
get scene(): Scene;
|
|
get canvas2D(): HTMLCanvasElement;
|
|
get canvas2D(): HTMLCanvasElement;
|
|
@@ -1611,15 +1653,16 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
set tool(tool: Nullable<ITool>);
|
|
set tool(tool: Nullable<ITool>);
|
|
get tool(): Nullable<ITool>;
|
|
get tool(): Nullable<ITool>;
|
|
set face(face: number);
|
|
set face(face: number);
|
|
- /** Returns the tool GUI object, allowing tools to access the GUI */
|
|
|
|
- get GUI(): IToolGUI;
|
|
|
|
|
|
+ set mipLevel(mipLevel: number);
|
|
/** Returns the 3D scene used for postprocesses */
|
|
/** Returns the 3D scene used for postprocesses */
|
|
get scene3D(): Scene;
|
|
get scene3D(): Scene;
|
|
|
|
+ set metadata(metadata: IMetadata);
|
|
private makePlane;
|
|
private makePlane;
|
|
reset(): void;
|
|
reset(): void;
|
|
resize(newSize: ISize): Promise<void>;
|
|
resize(newSize: ISize): Promise<void>;
|
|
- setSize(size: ISize, adjustZoom?: boolean): void;
|
|
|
|
|
|
+ setSize(size: ISize): void;
|
|
upload(file: File): void;
|
|
upload(file: File): void;
|
|
|
|
+ saveTexture(): void;
|
|
dispose(): void;
|
|
dispose(): void;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1627,8 +1670,10 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
import * as React from 'react';
|
|
import * as React from 'react';
|
|
import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
|
|
import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
|
|
import { IPixelData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
|
|
import { IPixelData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
|
|
|
|
+ import { ISize } from 'babylonjs/Maths/math.size';
|
|
interface IPropertiesBarProps {
|
|
interface IPropertiesBarProps {
|
|
texture: BaseTexture;
|
|
texture: BaseTexture;
|
|
|
|
+ size: ISize;
|
|
saveTexture(): void;
|
|
saveTexture(): void;
|
|
pixelData: IPixelData;
|
|
pixelData: IPixelData;
|
|
face: number;
|
|
face: number;
|
|
@@ -1636,12 +1681,14 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
resetTexture(): void;
|
|
resetTexture(): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
uploadTexture(file: File): void;
|
|
uploadTexture(file: File): void;
|
|
|
|
+ mipLevel: number;
|
|
|
|
+ setMipLevel: (mipLevel: number) => void;
|
|
}
|
|
}
|
|
interface IPropertiesBarState {
|
|
interface IPropertiesBarState {
|
|
width: number;
|
|
width: number;
|
|
height: number;
|
|
height: number;
|
|
}
|
|
}
|
|
- export class PropertiesBar extends React.Component<IPropertiesBarProps, IPropertiesBarState> {
|
|
|
|
|
|
+ export class PropertiesBar extends React.PureComponent<IPropertiesBarProps, IPropertiesBarState> {
|
|
private _resetButton;
|
|
private _resetButton;
|
|
private _uploadButton;
|
|
private _uploadButton;
|
|
private _saveButton;
|
|
private _saveButton;
|
|
@@ -1653,15 +1700,18 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
constructor(props: IPropertiesBarProps);
|
|
constructor(props: IPropertiesBarProps);
|
|
private pixelData;
|
|
private pixelData;
|
|
private getNewDimension;
|
|
private getNewDimension;
|
|
|
|
+ componentWillUpdate(nextProps: IPropertiesBarProps): void;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/bottomBar" {
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/bottomBar" {
|
|
import * as React from 'react';
|
|
import * as React from 'react';
|
|
- interface BottomBarProps {
|
|
|
|
|
|
+ interface IBottomBarProps {
|
|
name: string;
|
|
name: string;
|
|
|
|
+ mipLevel: number;
|
|
|
|
+ hasMips: boolean;
|
|
}
|
|
}
|
|
- export class BottomBar extends React.Component<BottomBarProps> {
|
|
|
|
|
|
+ export class BottomBar extends React.PureComponent<IBottomBarProps> {
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1674,7 +1724,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
canvas3D: React.RefObject<HTMLCanvasElement>;
|
|
canvas3D: React.RefObject<HTMLCanvasElement>;
|
|
texture: BaseTexture;
|
|
texture: BaseTexture;
|
|
}
|
|
}
|
|
- export class TextureCanvasComponent extends React.Component<ITextureCanvasComponentProps> {
|
|
|
|
|
|
+ export class TextureCanvasComponent extends React.PureComponent<ITextureCanvasComponentProps> {
|
|
shouldComponentUpdate(nextProps: ITextureCanvasComponentProps): boolean;
|
|
shouldComponentUpdate(nextProps: ITextureCanvasComponentProps): boolean;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
@@ -1695,14 +1745,27 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
|
|
import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
|
|
export const Contrast: IToolData;
|
|
export const Contrast: IToolData;
|
|
}
|
|
}
|
|
|
|
+declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/rectangleSelect" {
|
|
|
|
+ import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
|
|
|
|
+ export const RectangleSelect: IToolData;
|
|
|
|
+}
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/defaultTools" {
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/defaultTools" {
|
|
const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
|
|
const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
|
|
export default _default;
|
|
export default _default;
|
|
}
|
|
}
|
|
|
|
+declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolSettings" {
|
|
|
|
+ import * as React from 'react';
|
|
|
|
+ import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
|
|
|
|
+ interface IToolSettingsProps {
|
|
|
|
+ tool: ITool | undefined;
|
|
|
|
+ }
|
|
|
|
+ export class ToolSettings extends React.Component<IToolSettingsProps> {
|
|
|
|
+ render(): JSX.Element;
|
|
|
|
+ }
|
|
|
|
+}
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent" {
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent" {
|
|
import * as React from 'react';
|
|
import * as React from 'react';
|
|
- import { GlobalState } from "babylonjs-inspector/components/globalState";
|
|
|
|
- import { IPixelData, IToolGUI } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
|
|
|
|
|
|
+ import { IPixelData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
|
|
import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
|
|
import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
|
|
import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
|
|
import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
|
|
import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
|
|
import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
|
|
@@ -1712,23 +1775,25 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
import { PointerInfo } from 'babylonjs/Events/pointerEvents';
|
|
import { PointerInfo } from 'babylonjs/Events/pointerEvents';
|
|
import { PopupComponent } from "babylonjs-inspector/components/popupComponent";
|
|
import { PopupComponent } from "babylonjs-inspector/components/popupComponent";
|
|
interface ITextureEditorComponentProps {
|
|
interface ITextureEditorComponentProps {
|
|
- globalState: GlobalState;
|
|
|
|
texture: BaseTexture;
|
|
texture: BaseTexture;
|
|
url: string;
|
|
url: string;
|
|
window: React.RefObject<PopupComponent>;
|
|
window: React.RefObject<PopupComponent>;
|
|
|
|
+ onUpdate: () => void;
|
|
}
|
|
}
|
|
interface ITextureEditorComponentState {
|
|
interface ITextureEditorComponentState {
|
|
tools: ITool[];
|
|
tools: ITool[];
|
|
activeToolIndex: number;
|
|
activeToolIndex: number;
|
|
- metadata: any;
|
|
|
|
|
|
+ metadata: IMetadata;
|
|
channels: IChannel[];
|
|
channels: IChannel[];
|
|
pixelData: IPixelData;
|
|
pixelData: IPixelData;
|
|
face: number;
|
|
face: number;
|
|
|
|
+ mipLevel: number;
|
|
|
|
+ pickerOpen: boolean;
|
|
}
|
|
}
|
|
export interface IToolParameters {
|
|
export interface IToolParameters {
|
|
/** The visible scene in the editor. Useful for adding pointer and keyboard events. */
|
|
/** The visible scene in the editor. Useful for adding pointer and keyboard events. */
|
|
scene: Scene;
|
|
scene: Scene;
|
|
- /** The 2D canvas which tools can paint on using the canvas API. */
|
|
|
|
|
|
+ /** The 2D canvas which you can sample pixel data from. Tools should not paint directly on this canvas. */
|
|
canvas2D: HTMLCanvasElement;
|
|
canvas2D: HTMLCanvasElement;
|
|
/** The 3D scene which tools can add post processes to. */
|
|
/** The 3D scene which tools can add post processes to. */
|
|
scene3D: Scene;
|
|
scene3D: Scene;
|
|
@@ -1737,15 +1802,22 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
/** Pushes the editor texture back to the original scene. This should be called every time a tool makes any modification to a texture. */
|
|
/** 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;
|
|
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. */
|
|
/** 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: any;
|
|
|
|
|
|
+ metadata: IMetadata;
|
|
/** Call this when you want to mutate the metadata. */
|
|
/** Call this when you want to mutate the metadata. */
|
|
setMetadata: (data: any) => void;
|
|
setMetadata: (data: any) => void;
|
|
/** Returns the texture coordinates under the cursor */
|
|
/** Returns the texture coordinates under the cursor */
|
|
getMouseCoordinates: (pointerInfo: PointerInfo) => Vector2;
|
|
getMouseCoordinates: (pointerInfo: PointerInfo) => Vector2;
|
|
- /** An object which holds the GUI's ADT as well as the tool window. */
|
|
|
|
- GUI: IToolGUI;
|
|
|
|
/** Provides access to the BABYLON namespace */
|
|
/** Provides access to the BABYLON namespace */
|
|
BABYLON: any;
|
|
BABYLON: any;
|
|
|
|
+ /** Provides a canvas that you can use the canvas API to paint on. */
|
|
|
|
+ startPainting: () => CanvasRenderingContext2D;
|
|
|
|
+ /** 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 */
|
|
/** An interface representing the definition of a tool */
|
|
export interface IToolData {
|
|
export interface IToolData {
|
|
@@ -1759,6 +1831,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
usesWindow?: boolean;
|
|
usesWindow?: boolean;
|
|
/** Whether the tool uses postprocesses */
|
|
/** Whether the tool uses postprocesses */
|
|
is3D?: boolean;
|
|
is3D?: boolean;
|
|
|
|
+ settingsComponent?: React.ComponentType<IToolGUIProps>;
|
|
}
|
|
}
|
|
export interface IToolType {
|
|
export interface IToolType {
|
|
/** Called when the tool is selected. */
|
|
/** Called when the tool is selected. */
|
|
@@ -1772,6 +1845,17 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
interface IToolConstructable {
|
|
interface IToolConstructable {
|
|
new (getParameters: () => IToolParameters): IToolType;
|
|
new (getParameters: () => IToolParameters): IToolType;
|
|
}
|
|
}
|
|
|
|
+ export interface IMetadata {
|
|
|
|
+ color: string;
|
|
|
|
+ alpha: number;
|
|
|
|
+ select: {
|
|
|
|
+ x1: number;
|
|
|
|
+ y1: number;
|
|
|
|
+ x2: number;
|
|
|
|
+ y2: number;
|
|
|
|
+ };
|
|
|
|
+ [key: string]: any;
|
|
|
|
+ }
|
|
global {
|
|
global {
|
|
var _TOOL_DATA_: IToolData;
|
|
var _TOOL_DATA_: IToolData;
|
|
}
|
|
}
|
|
@@ -1780,16 +1864,21 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
private _UICanvas;
|
|
private _UICanvas;
|
|
private _2DCanvas;
|
|
private _2DCanvas;
|
|
private _3DCanvas;
|
|
private _3DCanvas;
|
|
|
|
+ private _pickerRef;
|
|
|
|
+ private _timer;
|
|
|
|
+ private static PREVIEW_UPDATE_DELAY_MS;
|
|
constructor(props: ITextureEditorComponentProps);
|
|
constructor(props: ITextureEditorComponentProps);
|
|
componentDidMount(): void;
|
|
componentDidMount(): void;
|
|
componentDidUpdate(): void;
|
|
componentDidUpdate(): void;
|
|
componentWillUnmount(): void;
|
|
componentWillUnmount(): void;
|
|
|
|
+ textureDidUpdate(): void;
|
|
loadToolFromURL(url: string): void;
|
|
loadToolFromURL(url: string): void;
|
|
addTools(tools: IToolData[]): void;
|
|
addTools(tools: IToolData[]): void;
|
|
getToolParameters(): IToolParameters;
|
|
getToolParameters(): IToolParameters;
|
|
changeTool(index: number): void;
|
|
changeTool(index: number): void;
|
|
setMetadata(newMetadata: any): void;
|
|
setMetadata(newMetadata: any): void;
|
|
- setFace(face: number): void;
|
|
|
|
|
|
+ setPickerOpen(open: boolean): void;
|
|
|
|
+ onPointerDown(evt: React.PointerEvent): void;
|
|
saveTexture(): void;
|
|
saveTexture(): void;
|
|
resetTexture(): void;
|
|
resetTexture(): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
@@ -1819,10 +1908,12 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
|
|
private _adtInstrumentation;
|
|
private _adtInstrumentation;
|
|
private popoutWindowRef;
|
|
private popoutWindowRef;
|
|
private textureLineRef;
|
|
private textureLineRef;
|
|
|
|
+ private _textureInspectorSize;
|
|
constructor(props: ITexturePropertyGridComponentProps);
|
|
constructor(props: ITexturePropertyGridComponentProps);
|
|
componentWillUnmount(): void;
|
|
componentWillUnmount(): void;
|
|
updateTexture(file: File): void;
|
|
updateTexture(file: File): void;
|
|
- onOpenTextureEditor(): void;
|
|
|
|
|
|
+ openTextureEditor(): void;
|
|
|
|
+ onOpenTextureEditor(window: Window): void;
|
|
onCloseTextureEditor(window: Window | null, callback?: {
|
|
onCloseTextureEditor(window: Window | null, callback?: {
|
|
(): void;
|
|
(): void;
|
|
}): void;
|
|
}): void;
|
|
@@ -3333,6 +3424,24 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/followCameraPropertyGridComponent" {
|
|
|
|
+ import * as React from "react";
|
|
|
|
+ import { Observable } from "babylonjs/Misc/observable";
|
|
|
|
+ import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
|
|
|
|
+ import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
|
|
|
|
+ import { GlobalState } from "babylonjs-inspector/components/globalState";
|
|
|
|
+ import { FollowCamera } from 'babylonjs/Cameras/followCamera';
|
|
|
|
+ interface IFollowCameraPropertyGridComponentProps {
|
|
|
|
+ globalState: GlobalState;
|
|
|
|
+ camera: FollowCamera;
|
|
|
|
+ lockObject: LockObject;
|
|
|
|
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
|
|
+ }
|
|
|
|
+ export class FollowCameraPropertyGridComponent extends React.Component<IFollowCameraPropertyGridComponentProps> {
|
|
|
|
+ constructor(props: IFollowCameraPropertyGridComponentProps);
|
|
|
|
+ render(): JSX.Element;
|
|
|
|
+ }
|
|
|
|
+}
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGridTabComponent" {
|
|
declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGridTabComponent" {
|
|
import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
|
|
import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
|
|
export class PropertyGridTabComponent extends PaneComponent {
|
|
export class PropertyGridTabComponent extends PaneComponent {
|
|
@@ -3547,19 +3656,23 @@ declare module "babylonjs-inspector/components/sceneExplorer/entities/cameraTree
|
|
import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
|
|
import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
|
|
import { Camera } from "babylonjs/Cameras/camera";
|
|
import { Camera } from "babylonjs/Cameras/camera";
|
|
import * as React from "react";
|
|
import * as React from "react";
|
|
|
|
+ import { GlobalState } from "babylonjs-inspector/components/globalState";
|
|
interface ICameraTreeItemComponentProps {
|
|
interface ICameraTreeItemComponentProps {
|
|
camera: Camera;
|
|
camera: Camera;
|
|
extensibilityGroups?: IExplorerExtensibilityGroup[];
|
|
extensibilityGroups?: IExplorerExtensibilityGroup[];
|
|
onClick: () => void;
|
|
onClick: () => void;
|
|
|
|
+ globalState: GlobalState;
|
|
}
|
|
}
|
|
export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
|
|
export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
|
|
isActive: boolean;
|
|
isActive: boolean;
|
|
|
|
+ isGizmoEnabled: boolean;
|
|
}> {
|
|
}> {
|
|
private _onBeforeRenderObserver;
|
|
private _onBeforeRenderObserver;
|
|
constructor(props: ICameraTreeItemComponentProps);
|
|
constructor(props: ICameraTreeItemComponentProps);
|
|
setActive(): void;
|
|
setActive(): void;
|
|
componentDidMount(): void;
|
|
componentDidMount(): void;
|
|
componentWillUnmount(): void;
|
|
componentWillUnmount(): void;
|
|
|
|
+ toggleGizmo(): void;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -3588,8 +3701,9 @@ declare module "babylonjs-inspector/components/sceneExplorer/entities/materialTr
|
|
import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
|
|
import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
|
|
import { Material } from "babylonjs/Materials/material";
|
|
import { Material } from "babylonjs/Materials/material";
|
|
import * as React from 'react';
|
|
import * as React from 'react';
|
|
|
|
+ import { NodeMaterial } from 'babylonjs/Materials/Node/nodeMaterial';
|
|
interface IMaterialTreeItemComponentProps {
|
|
interface IMaterialTreeItemComponentProps {
|
|
- material: Material;
|
|
|
|
|
|
+ material: Material | NodeMaterial;
|
|
extensibilityGroups?: IExplorerExtensibilityGroup[];
|
|
extensibilityGroups?: IExplorerExtensibilityGroup[];
|
|
onClick: () => void;
|
|
onClick: () => void;
|
|
}
|
|
}
|
|
@@ -4065,10 +4179,6 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/rectangleSelect" {
|
|
|
|
- import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
|
|
|
|
- export const RectangleSelect: IToolData;
|
|
|
|
-}
|
|
|
|
declare module "babylonjs-inspector/legacy/legacy" {
|
|
declare module "babylonjs-inspector/legacy/legacy" {
|
|
export * from "babylonjs-inspector/index";
|
|
export * from "babylonjs-inspector/index";
|
|
}
|
|
}
|
|
@@ -4136,6 +4246,8 @@ declare module INSPECTOR {
|
|
prepareGLTFPlugin(loader: BABYLON.GLTFFileLoader): void;
|
|
prepareGLTFPlugin(loader: BABYLON.GLTFFileLoader): void;
|
|
lightGizmos: Array<BABYLON.LightGizmo>;
|
|
lightGizmos: Array<BABYLON.LightGizmo>;
|
|
enableLightGizmo(light: BABYLON.Light, enable?: boolean): void;
|
|
enableLightGizmo(light: BABYLON.Light, enable?: boolean): void;
|
|
|
|
+ cameraGizmos: Array<BABYLON.CameraGizmo>;
|
|
|
|
+ enableCameraGizmo(camera: BABYLON.Camera, enable?: boolean): void;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
@@ -4375,6 +4487,7 @@ declare module INSPECTOR {
|
|
value: string;
|
|
value: string;
|
|
}): boolean;
|
|
}): boolean;
|
|
updateValue(evt: any): void;
|
|
updateValue(evt: any): void;
|
|
|
|
+ onBlur(): void;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -5357,6 +5470,20 @@ declare module INSPECTOR {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
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 {
|
|
export interface TextureChannelsToDisplay {
|
|
R: boolean;
|
|
R: boolean;
|
|
G: boolean;
|
|
G: boolean;
|
|
@@ -5365,7 +5492,7 @@ declare module INSPECTOR {
|
|
}
|
|
}
|
|
export class TextureHelper {
|
|
export class TextureHelper {
|
|
private static _ProcessAsync;
|
|
private static _ProcessAsync;
|
|
- static GetTextureDataAsync(texture: BABYLON.BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState): Promise<Uint8Array>;
|
|
|
|
|
|
+ static GetTextureDataAsync(texture: BABYLON.BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState, lod?: number): Promise<Uint8Array>;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
@@ -5402,19 +5529,21 @@ declare module INSPECTOR {
|
|
addTool(url: string): void;
|
|
addTool(url: string): void;
|
|
changeTool(toolIndex: number): void;
|
|
changeTool(toolIndex: number): void;
|
|
activeToolIndex: number;
|
|
activeToolIndex: number;
|
|
- metadata: any;
|
|
|
|
|
|
+ metadata: IMetadata;
|
|
setMetadata(data: any): void;
|
|
setMetadata(data: any): void;
|
|
|
|
+ pickerOpen: boolean;
|
|
|
|
+ setPickerOpen(open: boolean): void;
|
|
|
|
+ pickerRef: React.RefObject<HTMLDivElement>;
|
|
|
|
+ hasAlpha: boolean;
|
|
}
|
|
}
|
|
interface IToolBarState {
|
|
interface IToolBarState {
|
|
toolURL: string;
|
|
toolURL: string;
|
|
- pickerOpen: boolean;
|
|
|
|
addOpen: boolean;
|
|
addOpen: boolean;
|
|
}
|
|
}
|
|
export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
|
|
export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
|
|
- private _addTool;
|
|
|
|
- private _pickerRef;
|
|
|
|
constructor(props: IToolBarProps);
|
|
constructor(props: IToolBarProps);
|
|
computeRGBAColor(): string;
|
|
computeRGBAColor(): string;
|
|
|
|
+ shouldComponentUpdate(nextProps: IToolBarProps): boolean;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -5430,11 +5559,23 @@ declare module INSPECTOR {
|
|
channels: IChannel[];
|
|
channels: IChannel[];
|
|
setChannels(channelState: IChannel[]): void;
|
|
setChannels(channelState: IChannel[]): void;
|
|
}
|
|
}
|
|
- export class ChannelsBar extends React.Component<IChannelsBarProps> {
|
|
|
|
|
|
+ export class ChannelsBar extends React.PureComponent<IChannelsBarProps> {
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
|
|
+ export const canvasShader: {
|
|
|
|
+ path: {
|
|
|
|
+ vertexSource: string;
|
|
|
|
+ fragmentSource: string;
|
|
|
|
+ };
|
|
|
|
+ options: {
|
|
|
|
+ attributes: string[];
|
|
|
|
+ uniforms: string[];
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+}
|
|
|
|
+declare module INSPECTOR {
|
|
export interface IPixelData {
|
|
export interface IPixelData {
|
|
x?: number;
|
|
x?: number;
|
|
y?: number;
|
|
y?: number;
|
|
@@ -5443,17 +5584,11 @@ declare module INSPECTOR {
|
|
b?: number;
|
|
b?: number;
|
|
a?: number;
|
|
a?: number;
|
|
}
|
|
}
|
|
- export interface IToolGUI {
|
|
|
|
- adt: BABYLON.GUI.AdvancedDynamicTexture;
|
|
|
|
- toolWindow: BABYLON.GUI.StackPanel;
|
|
|
|
- isDragging: boolean;
|
|
|
|
- dragCoords: BABYLON.Nullable<BABYLON.Vector2>;
|
|
|
|
- style: BABYLON.GUI.Style;
|
|
|
|
- }
|
|
|
|
export class TextureCanvasManager {
|
|
export class TextureCanvasManager {
|
|
private _engine;
|
|
private _engine;
|
|
private _scene;
|
|
private _scene;
|
|
private _camera;
|
|
private _camera;
|
|
|
|
+ private _cameraPos;
|
|
private _scale;
|
|
private _scale;
|
|
private _isPanning;
|
|
private _isPanning;
|
|
private _mouseX;
|
|
private _mouseX;
|
|
@@ -5469,6 +5604,7 @@ declare module INSPECTOR {
|
|
private _3DScene;
|
|
private _3DScene;
|
|
private _channels;
|
|
private _channels;
|
|
private _face;
|
|
private _face;
|
|
|
|
+ private _mipLevel;
|
|
private _originalTexture;
|
|
private _originalTexture;
|
|
private _target;
|
|
private _target;
|
|
private _originalInternalTexture;
|
|
private _originalInternalTexture;
|
|
@@ -5483,19 +5619,33 @@ declare module INSPECTOR {
|
|
private static PAN_SPEED;
|
|
private static PAN_SPEED;
|
|
private static PAN_MOUSE_BUTTON;
|
|
private static PAN_MOUSE_BUTTON;
|
|
private static MIN_SCALE;
|
|
private static MIN_SCALE;
|
|
|
|
+ private static GRID_SCALE;
|
|
private static MAX_SCALE;
|
|
private static MAX_SCALE;
|
|
|
|
+ private static SELECT_ALL_KEY;
|
|
|
|
+ private static SAVE_KEY;
|
|
|
|
+ private static RESET_KEY;
|
|
|
|
+ private static DESELECT_KEY;
|
|
private _tool;
|
|
private _tool;
|
|
private _setPixelData;
|
|
private _setPixelData;
|
|
- private _GUI;
|
|
|
|
private _window;
|
|
private _window;
|
|
- metadata: any;
|
|
|
|
|
|
+ private _metadata;
|
|
private _editing3D;
|
|
private _editing3D;
|
|
- constructor(texture: BABYLON.BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void);
|
|
|
|
|
|
+ private _onUpdate;
|
|
|
|
+ private _setMetadata;
|
|
|
|
+ private _imageData;
|
|
|
|
+ private _canUpdate;
|
|
|
|
+ private _shouldUpdate;
|
|
|
|
+ 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);
|
|
updateTexture(): Promise<void>;
|
|
updateTexture(): Promise<void>;
|
|
|
|
+ private queueTextureUpdate;
|
|
|
|
+ startPainting(): CanvasRenderingContext2D;
|
|
|
|
+ updatePainting(): void;
|
|
|
|
+ stopPainting(): void;
|
|
private updateDisplay;
|
|
private updateDisplay;
|
|
set channels(channels: IChannel[]);
|
|
set channels(channels: IChannel[]);
|
|
static paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
|
|
static paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
|
|
- grabOriginalTexture(adjustZoom?: boolean): void;
|
|
|
|
|
|
+ grabOriginalTexture(): void;
|
|
getMouseCoordinates(pointerInfo: BABYLON.PointerInfo): BABYLON.Vector2;
|
|
getMouseCoordinates(pointerInfo: BABYLON.PointerInfo): BABYLON.Vector2;
|
|
get scene(): BABYLON.Scene;
|
|
get scene(): BABYLON.Scene;
|
|
get canvas2D(): HTMLCanvasElement;
|
|
get canvas2D(): HTMLCanvasElement;
|
|
@@ -5503,21 +5653,23 @@ declare module INSPECTOR {
|
|
set tool(tool: BABYLON.Nullable<ITool>);
|
|
set tool(tool: BABYLON.Nullable<ITool>);
|
|
get tool(): BABYLON.Nullable<ITool>;
|
|
get tool(): BABYLON.Nullable<ITool>;
|
|
set face(face: number);
|
|
set face(face: number);
|
|
- /** Returns the tool GUI object, allowing tools to access the GUI */
|
|
|
|
- get GUI(): IToolGUI;
|
|
|
|
|
|
+ set mipLevel(mipLevel: number);
|
|
/** Returns the 3D scene used for postprocesses */
|
|
/** Returns the 3D scene used for postprocesses */
|
|
get scene3D(): BABYLON.Scene;
|
|
get scene3D(): BABYLON.Scene;
|
|
|
|
+ set metadata(metadata: IMetadata);
|
|
private makePlane;
|
|
private makePlane;
|
|
reset(): void;
|
|
reset(): void;
|
|
resize(newSize: BABYLON.ISize): Promise<void>;
|
|
resize(newSize: BABYLON.ISize): Promise<void>;
|
|
- setSize(size: BABYLON.ISize, adjustZoom?: boolean): void;
|
|
|
|
|
|
+ setSize(size: BABYLON.ISize): void;
|
|
upload(file: File): void;
|
|
upload(file: File): void;
|
|
|
|
+ saveTexture(): void;
|
|
dispose(): void;
|
|
dispose(): void;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
interface IPropertiesBarProps {
|
|
interface IPropertiesBarProps {
|
|
texture: BABYLON.BaseTexture;
|
|
texture: BABYLON.BaseTexture;
|
|
|
|
+ size: BABYLON.ISize;
|
|
saveTexture(): void;
|
|
saveTexture(): void;
|
|
pixelData: IPixelData;
|
|
pixelData: IPixelData;
|
|
face: number;
|
|
face: number;
|
|
@@ -5525,12 +5677,14 @@ declare module INSPECTOR {
|
|
resetTexture(): void;
|
|
resetTexture(): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
uploadTexture(file: File): void;
|
|
uploadTexture(file: File): void;
|
|
|
|
+ mipLevel: number;
|
|
|
|
+ setMipLevel: (mipLevel: number) => void;
|
|
}
|
|
}
|
|
interface IPropertiesBarState {
|
|
interface IPropertiesBarState {
|
|
width: number;
|
|
width: number;
|
|
height: number;
|
|
height: number;
|
|
}
|
|
}
|
|
- export class PropertiesBar extends React.Component<IPropertiesBarProps, IPropertiesBarState> {
|
|
|
|
|
|
+ export class PropertiesBar extends React.PureComponent<IPropertiesBarProps, IPropertiesBarState> {
|
|
private _resetButton;
|
|
private _resetButton;
|
|
private _uploadButton;
|
|
private _uploadButton;
|
|
private _saveButton;
|
|
private _saveButton;
|
|
@@ -5542,14 +5696,17 @@ declare module INSPECTOR {
|
|
constructor(props: IPropertiesBarProps);
|
|
constructor(props: IPropertiesBarProps);
|
|
private pixelData;
|
|
private pixelData;
|
|
private getNewDimension;
|
|
private getNewDimension;
|
|
|
|
+ componentWillUpdate(nextProps: IPropertiesBarProps): void;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
- interface BottomBarProps {
|
|
|
|
|
|
+ interface IBottomBarProps {
|
|
name: string;
|
|
name: string;
|
|
|
|
+ mipLevel: number;
|
|
|
|
+ hasMips: boolean;
|
|
}
|
|
}
|
|
- export class BottomBar extends React.Component<BottomBarProps> {
|
|
|
|
|
|
+ export class BottomBar extends React.PureComponent<IBottomBarProps> {
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -5560,7 +5717,7 @@ declare module INSPECTOR {
|
|
canvas3D: React.RefObject<HTMLCanvasElement>;
|
|
canvas3D: React.RefObject<HTMLCanvasElement>;
|
|
texture: BABYLON.BaseTexture;
|
|
texture: BABYLON.BaseTexture;
|
|
}
|
|
}
|
|
- export class TextureCanvasComponent extends React.Component<ITextureCanvasComponentProps> {
|
|
|
|
|
|
+ export class TextureCanvasComponent extends React.PureComponent<ITextureCanvasComponentProps> {
|
|
shouldComponentUpdate(nextProps: ITextureCanvasComponentProps): boolean;
|
|
shouldComponentUpdate(nextProps: ITextureCanvasComponentProps): boolean;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
@@ -5578,28 +5735,41 @@ declare module INSPECTOR {
|
|
export const Contrast: IToolData;
|
|
export const Contrast: IToolData;
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
|
|
+ export const RectangleSelect: IToolData;
|
|
|
|
+}
|
|
|
|
+declare module INSPECTOR {
|
|
const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
|
|
const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
|
|
export default _default;
|
|
export default _default;
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
|
|
+ interface IToolSettingsProps {
|
|
|
|
+ tool: ITool | undefined;
|
|
|
|
+ }
|
|
|
|
+ export class ToolSettings extends React.Component<IToolSettingsProps> {
|
|
|
|
+ render(): JSX.Element;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+declare module INSPECTOR {
|
|
interface ITextureEditorComponentProps {
|
|
interface ITextureEditorComponentProps {
|
|
- globalState: GlobalState;
|
|
|
|
texture: BABYLON.BaseTexture;
|
|
texture: BABYLON.BaseTexture;
|
|
url: string;
|
|
url: string;
|
|
window: React.RefObject<PopupComponent>;
|
|
window: React.RefObject<PopupComponent>;
|
|
|
|
+ onUpdate: () => void;
|
|
}
|
|
}
|
|
interface ITextureEditorComponentState {
|
|
interface ITextureEditorComponentState {
|
|
tools: ITool[];
|
|
tools: ITool[];
|
|
activeToolIndex: number;
|
|
activeToolIndex: number;
|
|
- metadata: any;
|
|
|
|
|
|
+ metadata: IMetadata;
|
|
channels: IChannel[];
|
|
channels: IChannel[];
|
|
pixelData: IPixelData;
|
|
pixelData: IPixelData;
|
|
face: number;
|
|
face: number;
|
|
|
|
+ mipLevel: number;
|
|
|
|
+ pickerOpen: boolean;
|
|
}
|
|
}
|
|
export interface IToolParameters {
|
|
export interface IToolParameters {
|
|
/** The visible scene in the editor. Useful for adding pointer and keyboard events. */
|
|
/** The visible scene in the editor. Useful for adding pointer and keyboard events. */
|
|
scene: BABYLON.Scene;
|
|
scene: BABYLON.Scene;
|
|
- /** The 2D canvas which tools can paint on using the canvas API. */
|
|
|
|
|
|
+ /** The 2D canvas which you can sample pixel data from. Tools should not paint directly on this canvas. */
|
|
canvas2D: HTMLCanvasElement;
|
|
canvas2D: HTMLCanvasElement;
|
|
/** The 3D scene which tools can add post processes to. */
|
|
/** The 3D scene which tools can add post processes to. */
|
|
scene3D: BABYLON.Scene;
|
|
scene3D: BABYLON.Scene;
|
|
@@ -5608,15 +5778,22 @@ declare module INSPECTOR {
|
|
/** Pushes the editor texture back to the original scene. This should be called every time a tool makes any modification to a texture. */
|
|
/** 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;
|
|
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. */
|
|
/** 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: any;
|
|
|
|
|
|
+ metadata: IMetadata;
|
|
/** Call this when you want to mutate the metadata. */
|
|
/** Call this when you want to mutate the metadata. */
|
|
setMetadata: (data: any) => void;
|
|
setMetadata: (data: any) => void;
|
|
/** Returns the texture coordinates under the cursor */
|
|
/** Returns the texture coordinates under the cursor */
|
|
getMouseCoordinates: (pointerInfo: BABYLON.PointerInfo) => BABYLON.Vector2;
|
|
getMouseCoordinates: (pointerInfo: BABYLON.PointerInfo) => BABYLON.Vector2;
|
|
- /** An object which holds the GUI's ADT as well as the tool window. */
|
|
|
|
- GUI: IToolGUI;
|
|
|
|
/** Provides access to the BABYLON namespace */
|
|
/** Provides access to the BABYLON namespace */
|
|
BABYLON: any;
|
|
BABYLON: any;
|
|
|
|
+ /** Provides a canvas that you can use the canvas API to paint on. */
|
|
|
|
+ startPainting: () => CanvasRenderingContext2D;
|
|
|
|
+ /** 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 */
|
|
/** An interface representing the definition of a tool */
|
|
export interface IToolData {
|
|
export interface IToolData {
|
|
@@ -5630,6 +5807,7 @@ declare module INSPECTOR {
|
|
usesWindow?: boolean;
|
|
usesWindow?: boolean;
|
|
/** Whether the tool uses postprocesses */
|
|
/** Whether the tool uses postprocesses */
|
|
is3D?: boolean;
|
|
is3D?: boolean;
|
|
|
|
+ settingsComponent?: React.ComponentType<IToolGUIProps>;
|
|
}
|
|
}
|
|
export interface IToolType {
|
|
export interface IToolType {
|
|
/** Called when the tool is selected. */
|
|
/** Called when the tool is selected. */
|
|
@@ -5643,6 +5821,17 @@ declare module INSPECTOR {
|
|
interface IToolConstructable {
|
|
interface IToolConstructable {
|
|
new (getParameters: () => IToolParameters): IToolType;
|
|
new (getParameters: () => IToolParameters): IToolType;
|
|
}
|
|
}
|
|
|
|
+ export interface IMetadata {
|
|
|
|
+ color: string;
|
|
|
|
+ alpha: number;
|
|
|
|
+ select: {
|
|
|
|
+ x1: number;
|
|
|
|
+ y1: number;
|
|
|
|
+ x2: number;
|
|
|
|
+ y2: number;
|
|
|
|
+ };
|
|
|
|
+ [key: string]: any;
|
|
|
|
+ }
|
|
global {
|
|
global {
|
|
var _TOOL_DATA_: IToolData;
|
|
var _TOOL_DATA_: IToolData;
|
|
}
|
|
}
|
|
@@ -5651,16 +5840,21 @@ declare module INSPECTOR {
|
|
private _UICanvas;
|
|
private _UICanvas;
|
|
private _2DCanvas;
|
|
private _2DCanvas;
|
|
private _3DCanvas;
|
|
private _3DCanvas;
|
|
|
|
+ private _pickerRef;
|
|
|
|
+ private _timer;
|
|
|
|
+ private static PREVIEW_UPDATE_DELAY_MS;
|
|
constructor(props: ITextureEditorComponentProps);
|
|
constructor(props: ITextureEditorComponentProps);
|
|
componentDidMount(): void;
|
|
componentDidMount(): void;
|
|
componentDidUpdate(): void;
|
|
componentDidUpdate(): void;
|
|
componentWillUnmount(): void;
|
|
componentWillUnmount(): void;
|
|
|
|
+ textureDidUpdate(): void;
|
|
loadToolFromURL(url: string): void;
|
|
loadToolFromURL(url: string): void;
|
|
addTools(tools: IToolData[]): void;
|
|
addTools(tools: IToolData[]): void;
|
|
getToolParameters(): IToolParameters;
|
|
getToolParameters(): IToolParameters;
|
|
changeTool(index: number): void;
|
|
changeTool(index: number): void;
|
|
setMetadata(newMetadata: any): void;
|
|
setMetadata(newMetadata: any): void;
|
|
- setFace(face: number): void;
|
|
|
|
|
|
+ setPickerOpen(open: boolean): void;
|
|
|
|
+ onPointerDown(evt: React.PointerEvent): void;
|
|
saveTexture(): void;
|
|
saveTexture(): void;
|
|
resetTexture(): void;
|
|
resetTexture(): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
resizeTexture(width: number, height: number): void;
|
|
@@ -5683,10 +5877,12 @@ declare module INSPECTOR {
|
|
private _adtInstrumentation;
|
|
private _adtInstrumentation;
|
|
private popoutWindowRef;
|
|
private popoutWindowRef;
|
|
private textureLineRef;
|
|
private textureLineRef;
|
|
|
|
+ private _textureInspectorSize;
|
|
constructor(props: ITexturePropertyGridComponentProps);
|
|
constructor(props: ITexturePropertyGridComponentProps);
|
|
componentWillUnmount(): void;
|
|
componentWillUnmount(): void;
|
|
updateTexture(file: File): void;
|
|
updateTexture(file: File): void;
|
|
- onOpenTextureEditor(): void;
|
|
|
|
|
|
+ openTextureEditor(): void;
|
|
|
|
+ onOpenTextureEditor(window: Window): void;
|
|
onCloseTextureEditor(window: Window | null, callback?: {
|
|
onCloseTextureEditor(window: Window | null, callback?: {
|
|
(): void;
|
|
(): void;
|
|
}): void;
|
|
}): void;
|
|
@@ -6800,6 +6996,18 @@ declare module INSPECTOR {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
|
|
+ interface IFollowCameraPropertyGridComponentProps {
|
|
|
|
+ globalState: GlobalState;
|
|
|
|
+ camera: BABYLON.FollowCamera;
|
|
|
|
+ lockObject: LockObject;
|
|
|
|
+ onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
|
|
|
|
+ }
|
|
|
|
+ export class FollowCameraPropertyGridComponent extends React.Component<IFollowCameraPropertyGridComponentProps> {
|
|
|
|
+ constructor(props: IFollowCameraPropertyGridComponentProps);
|
|
|
|
+ render(): JSX.Element;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+declare module INSPECTOR {
|
|
export class PropertyGridTabComponent extends PaneComponent {
|
|
export class PropertyGridTabComponent extends PaneComponent {
|
|
private _timerIntervalId;
|
|
private _timerIntervalId;
|
|
private _lockObject;
|
|
private _lockObject;
|
|
@@ -6992,15 +7200,18 @@ declare module INSPECTOR {
|
|
camera: BABYLON.Camera;
|
|
camera: BABYLON.Camera;
|
|
extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
|
|
extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
|
|
onClick: () => void;
|
|
onClick: () => void;
|
|
|
|
+ globalState: GlobalState;
|
|
}
|
|
}
|
|
export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
|
|
export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
|
|
isActive: boolean;
|
|
isActive: boolean;
|
|
|
|
+ isGizmoEnabled: boolean;
|
|
}> {
|
|
}> {
|
|
private _onBeforeRenderObserver;
|
|
private _onBeforeRenderObserver;
|
|
constructor(props: ICameraTreeItemComponentProps);
|
|
constructor(props: ICameraTreeItemComponentProps);
|
|
setActive(): void;
|
|
setActive(): void;
|
|
componentDidMount(): void;
|
|
componentDidMount(): void;
|
|
componentWillUnmount(): void;
|
|
componentWillUnmount(): void;
|
|
|
|
+ toggleGizmo(): void;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -7023,7 +7234,7 @@ declare module INSPECTOR {
|
|
}
|
|
}
|
|
declare module INSPECTOR {
|
|
declare module INSPECTOR {
|
|
interface IMaterialTreeItemComponentProps {
|
|
interface IMaterialTreeItemComponentProps {
|
|
- material: BABYLON.Material;
|
|
|
|
|
|
+ material: BABYLON.Material | BABYLON.NodeMaterial;
|
|
extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
|
|
extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
|
|
onClick: () => void;
|
|
onClick: () => void;
|
|
}
|
|
}
|
|
@@ -7425,7 +7636,4 @@ declare module INSPECTOR {
|
|
calculateMove(): string;
|
|
calculateMove(): string;
|
|
render(): JSX.Element;
|
|
render(): JSX.Element;
|
|
}
|
|
}
|
|
-}
|
|
|
|
-declare module INSPECTOR {
|
|
|
|
- export const RectangleSelect: IToolData;
|
|
|
|
}
|
|
}
|