babylonjs-node-render-graph-editor 7.42.2 → 7.43.0

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.
@@ -92,11 +92,13 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
92
92
  private _mouseLocationX;
93
93
  private _mouseLocationY;
94
94
  private _onWidgetKeyUpPointer;
95
+ private _historyStack;
95
96
  private _previewHost;
96
97
  private _popUpWindow;
97
98
  private _externalTextures;
98
99
  appendBlock(dataToAppend: NodeRenderGraphBlock | INodeData, recursion?: boolean): GraphNode;
99
100
  addValueNode(type: string): GraphNode;
101
+ prepareHistoryStack(): void;
100
102
  componentDidMount(): void;
101
103
  componentWillUnmount(): void;
102
104
  constructor(props: IGraphEditorProps);
@@ -141,6 +143,7 @@ export class GlobalState {
141
143
  hostDocument: Document;
142
144
  hostWindow: Window;
143
145
  stateManager: StateManager;
146
+ onClearUndoStack: Observable<void>;
144
147
  onBuiltObservable: Observable<void>;
145
148
  onResetRequiredObservable: Observable<boolean>;
146
149
  onZoomToFitRequiredObservable: Observable<void>;
@@ -169,6 +172,7 @@ export class GlobalState {
169
172
  filesInput: FilesInput;
170
173
  scene: Scene;
171
174
  noAutoFillExternalInputs: boolean;
175
+ _engine: number;
172
176
  customSave?: {
173
177
  label: string;
174
178
  action: (data: string) => Promise<void>;
@@ -182,6 +186,10 @@ export class GlobalState {
182
186
  * Sets the current node material
183
187
  */
184
188
  set nodeRenderGraph(nodeRenderGraph: NodeRenderGraph);
189
+ /** Gets the engine */
190
+ get engine(): number;
191
+ /** Sets the engine */
192
+ set engine(e: number);
185
193
  constructor(scene: Scene);
186
194
  storeEditorData(serializationObject: any, frame?: Nullable<GraphFrame>): void;
187
195
  }
@@ -207,7 +215,7 @@ import { NodeRenderGraphCopyTextureBlock } from "babylonjs/FrameGraph/Node/Block
207
215
  import { NodeRenderGraphGenerateMipmapsBlock } from "babylonjs/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock";
208
216
  import { NodeRenderGraphObjectRendererBlock } from "babylonjs/FrameGraph/Node/Blocks/Rendering/objectRendererBlock";
209
217
  import { NodeRenderGraphGeometryRendererBlock } from "babylonjs/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock";
210
- import { NodeRenderGraphCullObjectsBlock } from "babylonjs/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock";
218
+ import { NodeRenderGraphCullObjectsBlock } from "babylonjs/FrameGraph/Node/Blocks/cullObjectsBlock";
211
219
  import { NodeRenderGraphGUIBlock } from "babylonjs-gui/2D/FrameGraph/renderGraphGUIBlock";
212
220
  import { NodeRenderGraphTAAObjectRendererBlock } from "babylonjs/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock";
213
221
  import { NodeRenderGraphResourceContainerBlock } from "babylonjs/FrameGraph/Node/Blocks/resourceContainerBlock";
@@ -810,9 +818,10 @@ export class PreviewManager {
810
818
  private _currentType;
811
819
  private _lightParent;
812
820
  private _hdrTexture;
821
+ private _dummyExternalTexture;
813
822
  constructor(targetCanvas: HTMLCanvasElement, globalState: GlobalState);
814
823
  private _initAsync;
815
- private _initScene;
824
+ private _initSceneAsync;
816
825
  private _reset;
817
826
  private _prepareLights;
818
827
  private _createNodeRenderGraph;
@@ -1492,7 +1501,17 @@ import { NodeLink } from "babylonjs-node-render-graph-editor/nodeGraphSystem/nod
1492
1501
  import { FramePortData } from "babylonjs-node-render-graph-editor/nodeGraphSystem/types/framePortData";
1493
1502
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
1494
1503
  export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
1495
- export const BuildFloatUI: (container: HTMLDivElement, document: Document, displayName: string, isInteger: boolean, source: any, propertyName: string, onChange: () => void, min?: number, max?: number, visualPropertiesRefresh?: Array<() => void>) => void;
1504
+ export const BuildFloatUI: (container: HTMLDivElement, document: Document, displayName: string, isInteger: boolean, source: any, propertyName: string, onChange: () => void, min?: number, max?: number, visualPropertiesRefresh?: Array<() => void>, additionalClassName?: string) => void;
1505
+ export function GetListOfAcceptedTypes<T extends Record<string, string | number>>(types: T, allValue: number, autoDetectValue: number, port: {
1506
+ acceptedConnectionPointTypes: number[];
1507
+ excludedConnectionPointTypes: number[];
1508
+ type: number;
1509
+ }, skips?: number[]): string[];
1510
+ export function GetConnectionErrorMessage<T extends Record<string, string | number>>(sourceType: number, types: T, allValue: number, autoDetectValue: number, port: {
1511
+ acceptedConnectionPointTypes: number[];
1512
+ excludedConnectionPointTypes: number[];
1513
+ type: number;
1514
+ }, skips?: number[]): string;
1496
1515
 
1497
1516
  }
1498
1517
  declare module "babylonjs-node-render-graph-editor/nodeGraphSystem/stateManager" {
@@ -1547,7 +1566,7 @@ export class StateManager {
1547
1566
  exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
1548
1567
  isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
1549
1568
  isDebugConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
1550
- applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement, pip: HTMLDivElement) => void;
1569
+ applyNodePortDesign: (data: IPortData, element: HTMLElement, imgHost: HTMLDivElement, pip: HTMLDivElement) => boolean;
1551
1570
  getPortColor: (portData: IPortData) => string;
1552
1571
  storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
1553
1572
  getEditorDataMap: () => {
@@ -1617,7 +1636,7 @@ export class NodePort {
1617
1636
  node: GraphNode;
1618
1637
  protected _element: HTMLDivElement;
1619
1638
  protected _portContainer: HTMLElement;
1620
- protected _img: HTMLImageElement;
1639
+ protected _imgHost: HTMLDivElement;
1621
1640
  protected _pip: HTMLDivElement;
1622
1641
  protected _stateManager: StateManager;
1623
1642
  protected _portLabelElement: Element;
@@ -1700,6 +1719,7 @@ import { IPortData } from "babylonjs-node-render-graph-editor/nodeGraphSystem/in
1700
1719
  import { IEditablePropertyOption } from "babylonjs/Decorators/nodeDecorator";
1701
1720
  export class GraphNode {
1702
1721
  content: INodeData;
1722
+ private static _IdGenerator;
1703
1723
  private _visual;
1704
1724
  private _headerContainer;
1705
1725
  private _headerIcon;
@@ -1731,11 +1751,11 @@ export class GraphNode {
1731
1751
  private _onUpdateRequiredObserver;
1732
1752
  private _onHighlightNodeObserver;
1733
1753
  private _ownerCanvas;
1734
- private _isSelected;
1735
1754
  private _displayManager;
1736
1755
  private _isVisible;
1737
1756
  private _enclosingFrameId;
1738
1757
  private _visualPropertiesRefresh;
1758
+ private _lastClick;
1739
1759
  addClassToVisual(className: string): void;
1740
1760
  removeClassFromVisual(className: string): void;
1741
1761
  get isCollapsed(): boolean;
@@ -1755,10 +1775,8 @@ export class GraphNode {
1755
1775
  get height(): number;
1756
1776
  get id(): number;
1757
1777
  get name(): string;
1758
- get isSelected(): boolean;
1759
1778
  get enclosingFrameId(): number;
1760
1779
  set enclosingFrameId(value: number);
1761
- set isSelected(value: boolean);
1762
1780
  setIsSelected(value: boolean, marqueeSelection: boolean): void;
1763
1781
  get rootElement(): HTMLDivElement;
1764
1782
  constructor(content: INodeData, stateManager: StateManager);
@@ -1770,10 +1788,11 @@ export class GraphNode {
1770
1788
  private _refreshFrames;
1771
1789
  _refreshLinks(): void;
1772
1790
  refresh(): void;
1791
+ private _expand;
1792
+ private _searchMiddle;
1773
1793
  private _onDown;
1774
1794
  cleanAccumulation(useCeil?: boolean): void;
1775
1795
  private _onUp;
1776
- private _attach;
1777
1796
  private _onMove;
1778
1797
  renderProperties(): Nullable<JSX.Element>;
1779
1798
  _forceRebuild(source: any, propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
@@ -1997,6 +2016,8 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
1997
2016
  private _candidateLinkedHasMoved;
1998
2017
  private _x;
1999
2018
  private _y;
2019
+ private _lastx;
2020
+ private _lasty;
2000
2021
  private _zoom;
2001
2022
  private _selectedNodes;
2002
2023
  private _selectedLink;
@@ -2010,6 +2031,7 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2010
2031
  private _frames;
2011
2032
  private _nodeDataContentList;
2012
2033
  private _altKeyIsPressed;
2034
+ private _shiftKeyIsPressed;
2013
2035
  private _multiKeyIsPressed;
2014
2036
  private _oldY;
2015
2037
  _frameIsMoving: boolean;
@@ -4404,11 +4426,13 @@ declare module BABYLON.NodeRenderGraphEditor {
4404
4426
  private _mouseLocationX;
4405
4427
  private _mouseLocationY;
4406
4428
  private _onWidgetKeyUpPointer;
4429
+ private _historyStack;
4407
4430
  private _previewHost;
4408
4431
  private _popUpWindow;
4409
4432
  private _externalTextures;
4410
4433
  appendBlock(dataToAppend: BABYLON.NodeRenderGraphBlock | BABYLON.NodeRenderGraphEditor.SharedUIComponents.INodeData, recursion?: boolean): BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode;
4411
4434
  addValueNode(type: string): BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode;
4435
+ prepareHistoryStack(): void;
4412
4436
  componentDidMount(): void;
4413
4437
  componentWillUnmount(): void;
4414
4438
  constructor(props: IGraphEditorProps);
@@ -4439,6 +4463,7 @@ declare module BABYLON.NodeRenderGraphEditor {
4439
4463
  hostDocument: Document;
4440
4464
  hostWindow: Window;
4441
4465
  stateManager: BABYLON.NodeRenderGraphEditor.SharedUIComponents.StateManager;
4466
+ onClearUndoStack: BABYLON.Observable<void>;
4442
4467
  onBuiltObservable: BABYLON.Observable<void>;
4443
4468
  onResetRequiredObservable: BABYLON.Observable<boolean>;
4444
4469
  onZoomToFitRequiredObservable: BABYLON.Observable<void>;
@@ -4467,6 +4492,7 @@ declare module BABYLON.NodeRenderGraphEditor {
4467
4492
  filesInput: BABYLON.FilesInput;
4468
4493
  scene: BABYLON.Scene;
4469
4494
  noAutoFillExternalInputs: boolean;
4495
+ _engine: number;
4470
4496
  customSave?: {
4471
4497
  label: string;
4472
4498
  action: (data: string) => Promise<void>;
@@ -4480,6 +4506,10 @@ declare module BABYLON.NodeRenderGraphEditor {
4480
4506
  * Sets the current node material
4481
4507
  */
4482
4508
  set nodeRenderGraph(nodeRenderGraph: BABYLON.NodeRenderGraph);
4509
+ /** Gets the engine */
4510
+ get engine(): number;
4511
+ /** Sets the engine */
4512
+ set engine(e: number);
4483
4513
  constructor(scene: BABYLON.Scene);
4484
4514
  storeEditorData(serializationObject: any, frame?: BABYLON.Nullable<BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphFrame>): void;
4485
4515
  }
@@ -4947,9 +4977,10 @@ declare module BABYLON.NodeRenderGraphEditor {
4947
4977
  private _currentType;
4948
4978
  private _lightParent;
4949
4979
  private _hdrTexture;
4980
+ private _dummyExternalTexture;
4950
4981
  constructor(targetCanvas: HTMLCanvasElement, globalState: GlobalState);
4951
4982
  private _initAsync;
4952
- private _initScene;
4983
+ private _initSceneAsync;
4953
4984
  private _reset;
4954
4985
  private _prepareLights;
4955
4986
  private _createNodeRenderGraph;
@@ -5671,7 +5702,17 @@ declare module BABYLON.NodeRenderGraphEditor {
5671
5702
  declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5672
5703
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is BABYLON.NodeRenderGraphEditor.SharedUIComponents.FramePortData;
5673
5704
  export const RefreshNode: (node: BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode, visitedNodes?: Set<BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode>, visitedLinks?: Set<BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodeLink>, canvas?: BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphCanvasComponent) => void;
5674
- export const BuildFloatUI: (container: HTMLDivElement, document: Document, displayName: string, isInteger: boolean, source: any, propertyName: string, onChange: () => void, min?: number, max?: number, visualPropertiesRefresh?: Array<() => void>) => void;
5705
+ export const BuildFloatUI: (container: HTMLDivElement, document: Document, displayName: string, isInteger: boolean, source: any, propertyName: string, onChange: () => void, min?: number, max?: number, visualPropertiesRefresh?: Array<() => void>, additionalClassName?: string) => void;
5706
+ export function GetListOfAcceptedTypes<T extends Record<string, string | number>>(types: T, allValue: number, autoDetectValue: number, port: {
5707
+ acceptedConnectionPointTypes: number[];
5708
+ excludedConnectionPointTypes: number[];
5709
+ type: number;
5710
+ }, skips?: number[]): string[];
5711
+ export function GetConnectionErrorMessage<T extends Record<string, string | number>>(sourceType: number, types: T, allValue: number, autoDetectValue: number, port: {
5712
+ acceptedConnectionPointTypes: number[];
5713
+ excludedConnectionPointTypes: number[];
5714
+ type: number;
5715
+ }, skips?: number[]): string;
5675
5716
 
5676
5717
 
5677
5718
 
@@ -5719,7 +5760,7 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5719
5760
  exportData: (data: any, frame?: BABYLON.Nullable<BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphFrame>) => string;
5720
5761
  isElbowConnectionAllowed: (nodeA: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort, nodeB: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort) => boolean;
5721
5762
  isDebugConnectionAllowed: (nodeA: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort, nodeB: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort) => boolean;
5722
- applyNodePortDesign: (data: BABYLON.NodeRenderGraphEditor.SharedUIComponents.IPortData, element: HTMLElement, img: HTMLImageElement, pip: HTMLDivElement) => void;
5763
+ applyNodePortDesign: (data: BABYLON.NodeRenderGraphEditor.SharedUIComponents.IPortData, element: HTMLElement, imgHost: HTMLDivElement, pip: HTMLDivElement) => boolean;
5723
5764
  getPortColor: (portData: BABYLON.NodeRenderGraphEditor.SharedUIComponents.IPortData) => string;
5724
5765
  storeEditorData: (serializationObject: any, frame?: BABYLON.Nullable<BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphFrame>) => void;
5725
5766
  getEditorDataMap: () => {
@@ -5793,7 +5834,7 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5793
5834
  node: BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode;
5794
5835
  protected _element: HTMLDivElement;
5795
5836
  protected _portContainer: HTMLElement;
5796
- protected _img: HTMLImageElement;
5837
+ protected _imgHost: HTMLDivElement;
5797
5838
  protected _pip: HTMLDivElement;
5798
5839
  protected _stateManager: BABYLON.NodeRenderGraphEditor.SharedUIComponents.StateManager;
5799
5840
  protected _portLabelElement: Element;
@@ -5880,6 +5921,7 @@ declare module BABYLON.NodeRenderGraphEditor {
5880
5921
  declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5881
5922
  export class GraphNode {
5882
5923
  content: BABYLON.NodeRenderGraphEditor.SharedUIComponents.INodeData;
5924
+ private static _IdGenerator;
5883
5925
  private _visual;
5884
5926
  private _headerContainer;
5885
5927
  private _headerIcon;
@@ -5911,11 +5953,11 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5911
5953
  private _onUpdateRequiredObserver;
5912
5954
  private _onHighlightNodeObserver;
5913
5955
  private _ownerCanvas;
5914
- private _isSelected;
5915
5956
  private _displayManager;
5916
5957
  private _isVisible;
5917
5958
  private _enclosingFrameId;
5918
5959
  private _visualPropertiesRefresh;
5960
+ private _lastClick;
5919
5961
  addClassToVisual(className: string): void;
5920
5962
  removeClassFromVisual(className: string): void;
5921
5963
  get isCollapsed(): boolean;
@@ -5935,10 +5977,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5935
5977
  get height(): number;
5936
5978
  get id(): number;
5937
5979
  get name(): string;
5938
- get isSelected(): boolean;
5939
5980
  get enclosingFrameId(): number;
5940
5981
  set enclosingFrameId(value: number);
5941
- set isSelected(value: boolean);
5942
5982
  setIsSelected(value: boolean, marqueeSelection: boolean): void;
5943
5983
  get rootElement(): HTMLDivElement;
5944
5984
  constructor(content: BABYLON.NodeRenderGraphEditor.SharedUIComponents.INodeData, stateManager: BABYLON.NodeRenderGraphEditor.SharedUIComponents.StateManager);
@@ -5950,10 +5990,11 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5950
5990
  private _refreshFrames;
5951
5991
  _refreshLinks(): void;
5952
5992
  refresh(): void;
5993
+ private _expand;
5994
+ private _searchMiddle;
5953
5995
  private _onDown;
5954
5996
  cleanAccumulation(useCeil?: boolean): void;
5955
5997
  private _onUp;
5956
- private _attach;
5957
5998
  private _onMove;
5958
5999
  renderProperties(): BABYLON.Nullable<JSX.Element>;
5959
6000
  _forceRebuild(source: any, propertyName: string, notifiers?: BABYLON.IEditablePropertyOption["notifiers"]): void;
@@ -6171,6 +6212,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6171
6212
  private _candidateLinkedHasMoved;
6172
6213
  private _x;
6173
6214
  private _y;
6215
+ private _lastx;
6216
+ private _lasty;
6174
6217
  private _zoom;
6175
6218
  private _selectedNodes;
6176
6219
  private _selectedLink;
@@ -6184,6 +6227,7 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6184
6227
  private _frames;
6185
6228
  private _nodeDataContentList;
6186
6229
  private _altKeyIsPressed;
6230
+ private _shiftKeyIsPressed;
6187
6231
  private _multiKeyIsPressed;
6188
6232
  private _oldY;
6189
6233
  _frameIsMoving: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-node-render-graph-editor",
3
- "version": "7.42.2",
3
+ "version": "7.43.0",
4
4
  "main": "babylon.nodeRenderGraphEditor.js",
5
5
  "types": "babylon.nodeRenderGraphEditor.module.d.ts",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "clean": "rimraf dist && rimraf babylon*.* -g"
15
15
  },
16
16
  "dependencies": {
17
- "babylonjs": "^7.53.2"
17
+ "babylonjs": "^7.54.0"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@dev/build-tools": "1.0.0",