@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/core/FrameGraph/Node
207
215
  import { NodeRenderGraphGenerateMipmapsBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock";
208
216
  import { NodeRenderGraphObjectRendererBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Rendering/objectRendererBlock";
209
217
  import { NodeRenderGraphGeometryRendererBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock";
210
- import { NodeRenderGraphCullObjectsBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock";
218
+ import { NodeRenderGraphCullObjectsBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/cullObjectsBlock";
211
219
  import { NodeRenderGraphGUIBlock } from "@babylonjs/gui/2D/FrameGraph/renderGraphGUIBlock";
212
220
  import { NodeRenderGraphTAAObjectRendererBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock";
213
221
  import { NodeRenderGraphResourceContainerBlock } from "@babylonjs/core/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/no
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/i
1700
1719
  import { IEditablePropertyOption } from "@babylonjs/core/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;
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": "dist/babylon.nodeRenderGraphEditor.max.js",
5
5
  "module": "dist/babylon.nodeRenderGraphEditor.max.js",
6
6
  "esnext": "dist/babylon.nodeRenderGraphEditor.max.js",
@@ -23,7 +23,7 @@
23
23
  "@types/react-dom": ">=16.0.9"
24
24
  },
25
25
  "devDependencies": {
26
- "@babylonjs/core": "^7.53.2",
26
+ "@babylonjs/core": "^7.54.0",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },