@babylonjs/node-editor 5.0.0-rc.1 → 5.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babylon.nodeEditor.max.js +300 -266
- package/babylon.nodeEditor.max.js.map +1 -1
- package/babylon.nodeEditor.module.d.ts +64 -69
- package/package.json +2 -2
|
@@ -102,6 +102,7 @@ declare module "@babylonjs/node-editor/components/log/logComponent" {
|
|
|
102
102
|
export class LogEntry {
|
|
103
103
|
message: string;
|
|
104
104
|
isError: boolean;
|
|
105
|
+
time: Date;
|
|
105
106
|
constructor(message: string, isError: boolean);
|
|
106
107
|
}
|
|
107
108
|
export class LogComponent extends React.Component<ILogComponentProps, {
|
|
@@ -191,33 +192,6 @@ declare module "@babylonjs/node-editor/sharedUiComponents/stringTools" {
|
|
|
191
192
|
static DownloadAsFile(document: HTMLDocument, content: string, filename: string): void;
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
|
-
declare module "@babylonjs/node-editor/diagram/frameNodePort" {
|
|
195
|
-
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
196
|
-
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
197
|
-
import { FramePortPosition } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
198
|
-
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
199
|
-
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
200
|
-
import { Observable } from '@babylonjs/core/Misc/observable';
|
|
201
|
-
import { Nullable } from '@babylonjs/core/types';
|
|
202
|
-
import { NodeMaterialConnectionPoint } from '@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint';
|
|
203
|
-
export class FrameNodePort extends NodePort {
|
|
204
|
-
connectionPoint: NodeMaterialConnectionPoint;
|
|
205
|
-
node: GraphNode;
|
|
206
|
-
private _parentFrameId;
|
|
207
|
-
private _isInput;
|
|
208
|
-
private _framePortPosition;
|
|
209
|
-
private _framePortId;
|
|
210
|
-
private _onFramePortPositionChangedObservable;
|
|
211
|
-
get parentFrameId(): number;
|
|
212
|
-
get onFramePortPositionChangedObservable(): Observable<FrameNodePort>;
|
|
213
|
-
get isInput(): boolean;
|
|
214
|
-
get framePortId(): number;
|
|
215
|
-
get framePortPosition(): FramePortPosition;
|
|
216
|
-
set framePortPosition(position: FramePortPosition);
|
|
217
|
-
constructor(portContainer: HTMLElement, connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, globalState: GlobalState, isInput: boolean, framePortId: number, parentFrameId: number);
|
|
218
|
-
static CreateFrameNodePortElement(connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, globalState: GlobalState, isInput: boolean, framePortId: number, parentFrameId: number): FrameNodePort;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
195
|
declare module "@babylonjs/node-editor/diagram/graphFrame" {
|
|
222
196
|
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
223
197
|
import { GraphCanvasComponent } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
@@ -314,7 +288,7 @@ declare module "@babylonjs/node-editor/diagram/graphFrame" {
|
|
|
314
288
|
private _onDown;
|
|
315
289
|
move(newX: number, newY: number, align?: boolean): void;
|
|
316
290
|
private _onUp;
|
|
317
|
-
|
|
291
|
+
_moveFrame(offsetX: number, offsetY: number): void;
|
|
318
292
|
private _onMove;
|
|
319
293
|
moveFramePortUp(nodePort: FrameNodePort): void;
|
|
320
294
|
private _movePortUp;
|
|
@@ -373,18 +347,42 @@ declare module "@babylonjs/node-editor/diagram/graphFrame" {
|
|
|
373
347
|
}): GraphFrame;
|
|
374
348
|
}
|
|
375
349
|
}
|
|
350
|
+
declare module "@babylonjs/node-editor/diagram/frameNodePort" {
|
|
351
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
352
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
353
|
+
import { FramePortPosition } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
354
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
355
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
356
|
+
import { Observable } from '@babylonjs/core/Misc/observable';
|
|
357
|
+
import { Nullable } from '@babylonjs/core/types';
|
|
358
|
+
import { NodeMaterialConnectionPoint } from '@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint';
|
|
359
|
+
export class FrameNodePort extends NodePort {
|
|
360
|
+
connectionPoint: NodeMaterialConnectionPoint;
|
|
361
|
+
node: GraphNode;
|
|
362
|
+
private _parentFrameId;
|
|
363
|
+
private _isInput;
|
|
364
|
+
private _framePortPosition;
|
|
365
|
+
private _framePortId;
|
|
366
|
+
private _onFramePortPositionChangedObservable;
|
|
367
|
+
get parentFrameId(): number;
|
|
368
|
+
get onFramePortPositionChangedObservable(): Observable<FrameNodePort>;
|
|
369
|
+
get isInput(): boolean;
|
|
370
|
+
get framePortId(): number;
|
|
371
|
+
get framePortPosition(): FramePortPosition;
|
|
372
|
+
set framePortPosition(position: FramePortPosition);
|
|
373
|
+
constructor(portContainer: HTMLElement, connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, globalState: GlobalState, isInput: boolean, framePortId: number, parentFrameId: number);
|
|
374
|
+
static CreateFrameNodePortElement(connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, globalState: GlobalState, isInput: boolean, framePortId: number, parentFrameId: number): FrameNodePort;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
376
377
|
declare module "@babylonjs/node-editor/diagram/nodePort" {
|
|
377
378
|
import { NodeMaterialConnectionPoint } from '@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint';
|
|
378
|
-
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
379
|
+
import { GlobalState, ISelectionChangedOptions } from "@babylonjs/node-editor/globalState";
|
|
379
380
|
import { Nullable } from '@babylonjs/core/types';
|
|
380
381
|
import { Observer } from '@babylonjs/core/Misc/observable';
|
|
381
382
|
import { Vector2 } from '@babylonjs/core/Maths/math.vector';
|
|
382
383
|
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
383
384
|
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
384
|
-
import { NodeLink } from "@babylonjs/node-editor/diagram/nodeLink";
|
|
385
|
-
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
386
385
|
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
387
|
-
import { FramePortData } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
388
386
|
export class NodePort {
|
|
389
387
|
connectionPoint: NodeMaterialConnectionPoint;
|
|
390
388
|
node: GraphNode;
|
|
@@ -393,7 +391,7 @@ declare module "@babylonjs/node-editor/diagram/nodePort" {
|
|
|
393
391
|
protected _globalState: GlobalState;
|
|
394
392
|
protected _portLabelElement: Element;
|
|
395
393
|
protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
|
|
396
|
-
protected _onSelectionChangedObserver: Nullable<Observer<Nullable<
|
|
394
|
+
protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
|
|
397
395
|
protected _exposedOnFrame: boolean;
|
|
398
396
|
delegatedPort: Nullable<FrameNodePort>;
|
|
399
397
|
get element(): HTMLDivElement;
|
|
@@ -437,7 +435,7 @@ declare module "@babylonjs/node-editor/diagram/nodeLink" {
|
|
|
437
435
|
get nodeB(): GraphNode | undefined;
|
|
438
436
|
update(endX?: number, endY?: number, straight?: boolean): void;
|
|
439
437
|
constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
|
|
440
|
-
onClick(): void;
|
|
438
|
+
onClick(evt: MouseEvent): void;
|
|
441
439
|
dispose(notify?: boolean): void;
|
|
442
440
|
}
|
|
443
441
|
}
|
|
@@ -490,7 +488,7 @@ declare module "@babylonjs/node-editor/diagram/graphCanvas" {
|
|
|
490
488
|
private _candidatePort;
|
|
491
489
|
private _gridSize;
|
|
492
490
|
private _selectionBox;
|
|
493
|
-
private
|
|
491
|
+
private _selectedFrames;
|
|
494
492
|
private _frameCandidate;
|
|
495
493
|
private _frames;
|
|
496
494
|
private _altKeyIsPressed;
|
|
@@ -512,7 +510,7 @@ declare module "@babylonjs/node-editor/diagram/graphCanvas" {
|
|
|
512
510
|
set y(value: number);
|
|
513
511
|
get selectedNodes(): GraphNode[];
|
|
514
512
|
get selectedLink(): Nullable<NodeLink>;
|
|
515
|
-
get
|
|
513
|
+
get selectedFrames(): GraphFrame[];
|
|
516
514
|
get selectedPort(): Nullable<NodePort>;
|
|
517
515
|
get canvasContainer(): HTMLDivElement;
|
|
518
516
|
get hostCanvas(): HTMLDivElement;
|
|
@@ -538,6 +536,7 @@ declare module "@babylonjs/node-editor/diagram/graphCanvas" {
|
|
|
538
536
|
onWheel(evt: React.WheelEvent): void;
|
|
539
537
|
zoomToFit(): void;
|
|
540
538
|
processCandidatePort(): void;
|
|
539
|
+
connectNodes(nodeA: GraphNode, pointA: NodeMaterialConnectionPoint, nodeB: GraphNode, pointB: NodeMaterialConnectionPoint): void;
|
|
541
540
|
processEditorData(editorData: IEditorData): void;
|
|
542
541
|
addFrame(frameData: IFrameData): void;
|
|
543
542
|
render(): JSX.Element;
|
|
@@ -822,21 +821,16 @@ declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
|
|
|
822
821
|
onChange?: () => void;
|
|
823
822
|
globalState: GlobalState;
|
|
824
823
|
}
|
|
825
|
-
|
|
824
|
+
interface IColor3LineComponentState {
|
|
826
825
|
isExpanded: boolean;
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
private _localChange;
|
|
826
|
+
}
|
|
827
|
+
export class Color3LineComponent extends React.Component<IColor3LineComponentProps, IColor3LineComponentState> {
|
|
830
828
|
constructor(props: IColor3LineComponentProps);
|
|
831
|
-
shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
|
|
832
|
-
color: Color3 | Color4;
|
|
833
|
-
}): boolean;
|
|
834
829
|
onChange(newValue: string): void;
|
|
835
830
|
switchExpandState(): void;
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
updateStateB(value: number): void;
|
|
831
|
+
updateColor(newValue: Color3 | Color4): void;
|
|
832
|
+
modifyColor(modifier: (previous: Color3 | Color4) => void): void;
|
|
833
|
+
getCurrentColor(): Color3 | Color4;
|
|
840
834
|
copyToClipboard(): void;
|
|
841
835
|
render(): JSX.Element;
|
|
842
836
|
}
|
|
@@ -1174,20 +1168,13 @@ declare module "@babylonjs/node-editor/sharedComponents/color4LineComponent" {
|
|
|
1174
1168
|
}
|
|
1175
1169
|
export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
|
|
1176
1170
|
isExpanded: boolean;
|
|
1177
|
-
color: Color4;
|
|
1178
1171
|
}> {
|
|
1179
|
-
private _localChange;
|
|
1180
1172
|
constructor(props: IColor4LineComponentProps);
|
|
1181
|
-
shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
|
|
1182
|
-
color: Color4;
|
|
1183
|
-
}): boolean;
|
|
1184
1173
|
onChange(newValue: string): void;
|
|
1185
1174
|
switchExpandState(): void;
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
updateStateB(value: number): void;
|
|
1190
|
-
updateStateA(value: number): void;
|
|
1175
|
+
updateColor(newValue: Color4): void;
|
|
1176
|
+
modifyColor(modifier: (previous: Color4) => void): void;
|
|
1177
|
+
getCurrentColor(): Color4;
|
|
1191
1178
|
copyToClipboard(): void;
|
|
1192
1179
|
render(): JSX.Element;
|
|
1193
1180
|
}
|
|
@@ -1680,12 +1667,17 @@ declare module "@babylonjs/node-editor/globalState" {
|
|
|
1680
1667
|
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
1681
1668
|
import { FramePortData } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
1682
1669
|
import { NodeMaterialModes } from '@babylonjs/core/Materials/Node/Enums/nodeMaterialModes';
|
|
1670
|
+
export class ISelectionChangedOptions {
|
|
1671
|
+
selection: Nullable<GraphNode | NodeLink | GraphFrame | NodePort | FramePortData>;
|
|
1672
|
+
forceKeepSelection?: boolean;
|
|
1673
|
+
}
|
|
1683
1674
|
export class GlobalState {
|
|
1684
1675
|
nodeMaterial: NodeMaterial;
|
|
1685
1676
|
hostElement: HTMLElement;
|
|
1686
1677
|
hostDocument: HTMLDocument;
|
|
1687
1678
|
hostWindow: Window;
|
|
1688
|
-
|
|
1679
|
+
onNewNodeCreatedObservable: Observable<GraphNode>;
|
|
1680
|
+
onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
|
|
1689
1681
|
onRebuildRequiredObservable: Observable<boolean>;
|
|
1690
1682
|
onBuiltObservable: Observable<void>;
|
|
1691
1683
|
onResetRequiredObservable: Observable<void>;
|
|
@@ -1708,6 +1700,12 @@ declare module "@babylonjs/node-editor/globalState" {
|
|
|
1708
1700
|
onImportFrameObservable: Observable<any>;
|
|
1709
1701
|
onGraphNodeRemovalObservable: Observable<GraphNode>;
|
|
1710
1702
|
onPopupClosedObservable: Observable<void>;
|
|
1703
|
+
onNewBlockRequiredObservable: Observable<{
|
|
1704
|
+
type: string;
|
|
1705
|
+
targetX: number;
|
|
1706
|
+
targetY: number;
|
|
1707
|
+
needRepositioning?: boolean | undefined;
|
|
1708
|
+
}>;
|
|
1711
1709
|
onGetNodeFromBlock: (block: NodeMaterialBlock) => GraphNode;
|
|
1712
1710
|
onGridSizeChanged: Observable<void>;
|
|
1713
1711
|
onExposePortOnFrameObservable: Observable<GraphNode>;
|
|
@@ -2042,8 +2040,11 @@ declare module "@babylonjs/node-editor/graphEditor" {
|
|
|
2042
2040
|
embedHostWidth?: string;
|
|
2043
2041
|
}
|
|
2044
2042
|
export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
|
|
2045
|
-
|
|
2043
|
+
static readonly NodeWidth: number;
|
|
2044
|
+
private _graphCanvasRef;
|
|
2045
|
+
private _diagramContainerRef;
|
|
2046
2046
|
private _graphCanvas;
|
|
2047
|
+
private _diagramContainer;
|
|
2047
2048
|
private _startX;
|
|
2048
2049
|
private _moveInProgress;
|
|
2049
2050
|
private _leftWidth;
|
|
@@ -2051,7 +2052,7 @@ declare module "@babylonjs/node-editor/graphEditor" {
|
|
|
2051
2052
|
private _blocks;
|
|
2052
2053
|
private _previewManager;
|
|
2053
2054
|
private _copiedNodes;
|
|
2054
|
-
private
|
|
2055
|
+
private _copiedFrames;
|
|
2055
2056
|
private _mouseLocationX;
|
|
2056
2057
|
private _mouseLocationY;
|
|
2057
2058
|
private _onWidgetKeyUpPointer;
|
|
@@ -2079,7 +2080,8 @@ declare module "@babylonjs/node-editor/graphEditor" {
|
|
|
2079
2080
|
onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2080
2081
|
resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
|
|
2081
2082
|
buildColumnLayout(): string;
|
|
2082
|
-
emitNewBlock(
|
|
2083
|
+
emitNewBlock(blockType: string, targetX: number, targetY: number): void;
|
|
2084
|
+
dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
|
|
2083
2085
|
handlePopUp: () => void;
|
|
2084
2086
|
handleClosingPopUp: () => void;
|
|
2085
2087
|
initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
|
|
@@ -2352,7 +2354,6 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorLineCompone
|
|
|
2352
2354
|
interface IColorLineComponentState {
|
|
2353
2355
|
isExpanded: boolean;
|
|
2354
2356
|
color: Color4;
|
|
2355
|
-
colorString: string;
|
|
2356
2357
|
}
|
|
2357
2358
|
export class ColorLineComponent extends React.Component<IColorLineComponentProps, IColorLineComponentState> {
|
|
2358
2359
|
constructor(props: IColorLineComponentProps);
|
|
@@ -2360,20 +2361,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorLineCompone
|
|
|
2360
2361
|
getValue(props?: Readonly<IColorLineComponentProps> & Readonly<{
|
|
2361
2362
|
children?: React.ReactNode;
|
|
2362
2363
|
}>): Color4;
|
|
2363
|
-
getValueAsString(props?: Readonly<IColorLineComponentProps> & Readonly<{
|
|
2364
|
-
children?: React.ReactNode;
|
|
2365
|
-
}>): string;
|
|
2366
2364
|
setColorFromString(colorString: string): void;
|
|
2367
|
-
setColor(
|
|
2368
|
-
updateColor(newColor: Color4): void;
|
|
2365
|
+
setColor(newColor: Color4): void;
|
|
2369
2366
|
switchExpandState(): void;
|
|
2370
2367
|
updateStateR(value: number): void;
|
|
2371
2368
|
updateStateG(value: number): void;
|
|
2372
2369
|
updateStateB(value: number): void;
|
|
2373
2370
|
updateStateA(value: number): void;
|
|
2374
2371
|
copyToClipboard(): void;
|
|
2375
|
-
get colorString(): string;
|
|
2376
|
-
set colorString(_: string);
|
|
2377
2372
|
private convertToColor;
|
|
2378
2373
|
private toColor3;
|
|
2379
2374
|
render(): JSX.Element;
|
package/package.json
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
},
|
|
5
5
|
"name": "@babylonjs/node-editor",
|
|
6
6
|
"description": "The Babylon.js node material editor.",
|
|
7
|
-
"version": "5.0.0-rc.
|
|
7
|
+
"version": "5.0.0-rc.4",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "https://github.com/BabylonJS/Babylon.js.git"
|
|
11
11
|
},
|
|
12
12
|
"license": "Apache-2.0",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@babylonjs/core": "5.0.0-rc.
|
|
14
|
+
"@babylonjs/core": "5.0.0-rc.4",
|
|
15
15
|
"tslib": "^2.3.1"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|