@babylonjs/node-editor 5.0.0-rc.0 → 5.0.0-rc.3
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 +247 -126
- package/babylon.nodeEditor.max.js.map +1 -1
- package/babylon.nodeEditor.module.d.ts +65 -43
- 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;
|
|
@@ -1680,12 +1679,17 @@ declare module "@babylonjs/node-editor/globalState" {
|
|
|
1680
1679
|
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
1681
1680
|
import { FramePortData } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
1682
1681
|
import { NodeMaterialModes } from '@babylonjs/core/Materials/Node/Enums/nodeMaterialModes';
|
|
1682
|
+
export class ISelectionChangedOptions {
|
|
1683
|
+
selection: Nullable<GraphNode | NodeLink | GraphFrame | NodePort | FramePortData>;
|
|
1684
|
+
forceKeepSelection?: boolean;
|
|
1685
|
+
}
|
|
1683
1686
|
export class GlobalState {
|
|
1684
1687
|
nodeMaterial: NodeMaterial;
|
|
1685
1688
|
hostElement: HTMLElement;
|
|
1686
1689
|
hostDocument: HTMLDocument;
|
|
1687
1690
|
hostWindow: Window;
|
|
1688
|
-
|
|
1691
|
+
onNewNodeCreatedObservable: Observable<GraphNode>;
|
|
1692
|
+
onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
|
|
1689
1693
|
onRebuildRequiredObservable: Observable<boolean>;
|
|
1690
1694
|
onBuiltObservable: Observable<void>;
|
|
1691
1695
|
onResetRequiredObservable: Observable<void>;
|
|
@@ -1708,6 +1712,12 @@ declare module "@babylonjs/node-editor/globalState" {
|
|
|
1708
1712
|
onImportFrameObservable: Observable<any>;
|
|
1709
1713
|
onGraphNodeRemovalObservable: Observable<GraphNode>;
|
|
1710
1714
|
onPopupClosedObservable: Observable<void>;
|
|
1715
|
+
onNewBlockRequiredObservable: Observable<{
|
|
1716
|
+
type: string;
|
|
1717
|
+
targetX: number;
|
|
1718
|
+
targetY: number;
|
|
1719
|
+
needRepositioning?: boolean | undefined;
|
|
1720
|
+
}>;
|
|
1711
1721
|
onGetNodeFromBlock: (block: NodeMaterialBlock) => GraphNode;
|
|
1712
1722
|
onGridSizeChanged: Observable<void>;
|
|
1713
1723
|
onExposePortOnFrameObservable: Observable<GraphNode>;
|
|
@@ -2042,8 +2052,11 @@ declare module "@babylonjs/node-editor/graphEditor" {
|
|
|
2042
2052
|
embedHostWidth?: string;
|
|
2043
2053
|
}
|
|
2044
2054
|
export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
|
|
2045
|
-
|
|
2055
|
+
static readonly NodeWidth: number;
|
|
2056
|
+
private _graphCanvasRef;
|
|
2057
|
+
private _diagramContainerRef;
|
|
2046
2058
|
private _graphCanvas;
|
|
2059
|
+
private _diagramContainer;
|
|
2047
2060
|
private _startX;
|
|
2048
2061
|
private _moveInProgress;
|
|
2049
2062
|
private _leftWidth;
|
|
@@ -2051,7 +2064,7 @@ declare module "@babylonjs/node-editor/graphEditor" {
|
|
|
2051
2064
|
private _blocks;
|
|
2052
2065
|
private _previewManager;
|
|
2053
2066
|
private _copiedNodes;
|
|
2054
|
-
private
|
|
2067
|
+
private _copiedFrames;
|
|
2055
2068
|
private _mouseLocationX;
|
|
2056
2069
|
private _mouseLocationY;
|
|
2057
2070
|
private _onWidgetKeyUpPointer;
|
|
@@ -2079,7 +2092,8 @@ declare module "@babylonjs/node-editor/graphEditor" {
|
|
|
2079
2092
|
onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2080
2093
|
resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
|
|
2081
2094
|
buildColumnLayout(): string;
|
|
2082
|
-
emitNewBlock(
|
|
2095
|
+
emitNewBlock(blockType: string, targetX: number, targetY: number): void;
|
|
2096
|
+
dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
|
|
2083
2097
|
handlePopUp: () => void;
|
|
2084
2098
|
handleClosingPopUp: () => void;
|
|
2085
2099
|
initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
|
|
@@ -2196,8 +2210,6 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
|
|
|
2196
2210
|
isDisabled?: boolean;
|
|
2197
2211
|
isConflict: boolean;
|
|
2198
2212
|
}> {
|
|
2199
|
-
private static _UniqueIdSeed;
|
|
2200
|
-
private _uniqueId;
|
|
2201
2213
|
private _localChange;
|
|
2202
2214
|
constructor(props: ICheckBoxLineComponentProps);
|
|
2203
2215
|
shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
|
|
@@ -2296,7 +2308,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineCom
|
|
|
2296
2308
|
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
|
|
2297
2309
|
import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
|
|
2298
2310
|
interface ITextInputLineComponentProps {
|
|
2299
|
-
label
|
|
2311
|
+
label?: string;
|
|
2300
2312
|
lockObject: LockObject;
|
|
2301
2313
|
target?: any;
|
|
2302
2314
|
propertyName?: string;
|
|
@@ -2611,6 +2623,16 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/iconButtonLineCo
|
|
|
2611
2623
|
render(): JSX.Element;
|
|
2612
2624
|
}
|
|
2613
2625
|
}
|
|
2626
|
+
declare module "@babylonjs/node-editor/sharedUiComponents/lines/iconComponent" {
|
|
2627
|
+
import * as React from "react";
|
|
2628
|
+
interface IIconComponentProps {
|
|
2629
|
+
icon: string;
|
|
2630
|
+
label?: string;
|
|
2631
|
+
}
|
|
2632
|
+
export class IconComponent extends React.Component<IIconComponentProps> {
|
|
2633
|
+
render(): JSX.Element;
|
|
2634
|
+
}
|
|
2635
|
+
}
|
|
2614
2636
|
declare module "@babylonjs/node-editor/sharedUiComponents/lines/indentedTextLineComponent" {
|
|
2615
2637
|
import * as React from "react";
|
|
2616
2638
|
interface IIndentedTextLineComponentProps {
|
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.3",
|
|
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.3",
|
|
15
15
|
"tslib": "^2.3.1"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|