babylonjs-node-render-graph-editor 7.42.3 → 7.43.1

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;
@@ -2460,6 +2480,31 @@ interface IUnitButtonProps {
2460
2480
 
2461
2481
  export {};
2462
2482
 
2483
+ }
2484
+ declare module "babylonjs-node-render-graph-editor/lines/textureButtonLineComponent" {
2485
+ import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
2486
+ import { Scene } from "babylonjs/scene";
2487
+ import * as React from "react";
2488
+ interface ITextureButtonLineProps {
2489
+ label: string;
2490
+ scene: Scene;
2491
+ onClick: (file: File) => void;
2492
+ onLink: (texture: BaseTexture) => void;
2493
+ accept: string;
2494
+ }
2495
+ interface ITextureButtonLineState {
2496
+ isOpen: boolean;
2497
+ }
2498
+ export class TextureButtonLine extends React.Component<ITextureButtonLineProps, ITextureButtonLineState> {
2499
+ private static _IDGenerator;
2500
+ private _id;
2501
+ private _uploadInputRef;
2502
+ constructor(props: ITextureButtonLineProps);
2503
+ onChange(evt: any): void;
2504
+
2505
+ }
2506
+ export {};
2507
+
2463
2508
  }
2464
2509
  declare module "babylonjs-node-render-graph-editor/lines/textLineComponent" {
2465
2510
  import * as React from "react";
@@ -4406,11 +4451,13 @@ declare module BABYLON.NodeRenderGraphEditor {
4406
4451
  private _mouseLocationX;
4407
4452
  private _mouseLocationY;
4408
4453
  private _onWidgetKeyUpPointer;
4454
+ private _historyStack;
4409
4455
  private _previewHost;
4410
4456
  private _popUpWindow;
4411
4457
  private _externalTextures;
4412
4458
  appendBlock(dataToAppend: BABYLON.NodeRenderGraphBlock | BABYLON.NodeRenderGraphEditor.SharedUIComponents.INodeData, recursion?: boolean): BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode;
4413
4459
  addValueNode(type: string): BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode;
4460
+ prepareHistoryStack(): void;
4414
4461
  componentDidMount(): void;
4415
4462
  componentWillUnmount(): void;
4416
4463
  constructor(props: IGraphEditorProps);
@@ -4441,6 +4488,7 @@ declare module BABYLON.NodeRenderGraphEditor {
4441
4488
  hostDocument: Document;
4442
4489
  hostWindow: Window;
4443
4490
  stateManager: BABYLON.NodeRenderGraphEditor.SharedUIComponents.StateManager;
4491
+ onClearUndoStack: BABYLON.Observable<void>;
4444
4492
  onBuiltObservable: BABYLON.Observable<void>;
4445
4493
  onResetRequiredObservable: BABYLON.Observable<boolean>;
4446
4494
  onZoomToFitRequiredObservable: BABYLON.Observable<void>;
@@ -4469,6 +4517,7 @@ declare module BABYLON.NodeRenderGraphEditor {
4469
4517
  filesInput: BABYLON.FilesInput;
4470
4518
  scene: BABYLON.Scene;
4471
4519
  noAutoFillExternalInputs: boolean;
4520
+ _engine: number;
4472
4521
  customSave?: {
4473
4522
  label: string;
4474
4523
  action: (data: string) => Promise<void>;
@@ -4482,6 +4531,10 @@ declare module BABYLON.NodeRenderGraphEditor {
4482
4531
  * Sets the current node material
4483
4532
  */
4484
4533
  set nodeRenderGraph(nodeRenderGraph: BABYLON.NodeRenderGraph);
4534
+ /** Gets the engine */
4535
+ get engine(): number;
4536
+ /** Sets the engine */
4537
+ set engine(e: number);
4485
4538
  constructor(scene: BABYLON.Scene);
4486
4539
  storeEditorData(serializationObject: any, frame?: BABYLON.Nullable<BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphFrame>): void;
4487
4540
  }
@@ -4949,9 +5002,10 @@ declare module BABYLON.NodeRenderGraphEditor {
4949
5002
  private _currentType;
4950
5003
  private _lightParent;
4951
5004
  private _hdrTexture;
5005
+ private _dummyExternalTexture;
4952
5006
  constructor(targetCanvas: HTMLCanvasElement, globalState: GlobalState);
4953
5007
  private _initAsync;
4954
- private _initScene;
5008
+ private _initSceneAsync;
4955
5009
  private _reset;
4956
5010
  private _prepareLights;
4957
5011
  private _createNodeRenderGraph;
@@ -5673,7 +5727,17 @@ declare module BABYLON.NodeRenderGraphEditor {
5673
5727
  declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5674
5728
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is BABYLON.NodeRenderGraphEditor.SharedUIComponents.FramePortData;
5675
5729
  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;
5676
- 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;
5730
+ 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;
5731
+ export function GetListOfAcceptedTypes<T extends Record<string, string | number>>(types: T, allValue: number, autoDetectValue: number, port: {
5732
+ acceptedConnectionPointTypes: number[];
5733
+ excludedConnectionPointTypes: number[];
5734
+ type: number;
5735
+ }, skips?: number[]): string[];
5736
+ export function GetConnectionErrorMessage<T extends Record<string, string | number>>(sourceType: number, types: T, allValue: number, autoDetectValue: number, port: {
5737
+ acceptedConnectionPointTypes: number[];
5738
+ excludedConnectionPointTypes: number[];
5739
+ type: number;
5740
+ }, skips?: number[]): string;
5677
5741
 
5678
5742
 
5679
5743
 
@@ -5721,7 +5785,7 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5721
5785
  exportData: (data: any, frame?: BABYLON.Nullable<BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphFrame>) => string;
5722
5786
  isElbowConnectionAllowed: (nodeA: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort, nodeB: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort) => boolean;
5723
5787
  isDebugConnectionAllowed: (nodeA: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort, nodeB: BABYLON.NodeRenderGraphEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeRenderGraphEditor.SharedUIComponents.NodePort) => boolean;
5724
- applyNodePortDesign: (data: BABYLON.NodeRenderGraphEditor.SharedUIComponents.IPortData, element: HTMLElement, img: HTMLImageElement, pip: HTMLDivElement) => void;
5788
+ applyNodePortDesign: (data: BABYLON.NodeRenderGraphEditor.SharedUIComponents.IPortData, element: HTMLElement, imgHost: HTMLDivElement, pip: HTMLDivElement) => boolean;
5725
5789
  getPortColor: (portData: BABYLON.NodeRenderGraphEditor.SharedUIComponents.IPortData) => string;
5726
5790
  storeEditorData: (serializationObject: any, frame?: BABYLON.Nullable<BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphFrame>) => void;
5727
5791
  getEditorDataMap: () => {
@@ -5795,7 +5859,7 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5795
5859
  node: BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode;
5796
5860
  protected _element: HTMLDivElement;
5797
5861
  protected _portContainer: HTMLElement;
5798
- protected _img: HTMLImageElement;
5862
+ protected _imgHost: HTMLDivElement;
5799
5863
  protected _pip: HTMLDivElement;
5800
5864
  protected _stateManager: BABYLON.NodeRenderGraphEditor.SharedUIComponents.StateManager;
5801
5865
  protected _portLabelElement: Element;
@@ -5882,6 +5946,7 @@ declare module BABYLON.NodeRenderGraphEditor {
5882
5946
  declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5883
5947
  export class GraphNode {
5884
5948
  content: BABYLON.NodeRenderGraphEditor.SharedUIComponents.INodeData;
5949
+ private static _IdGenerator;
5885
5950
  private _visual;
5886
5951
  private _headerContainer;
5887
5952
  private _headerIcon;
@@ -6683,6 +6748,33 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6683
6748
 
6684
6749
 
6685
6750
 
6751
+ }
6752
+ declare module BABYLON.NodeRenderGraphEditor {
6753
+
6754
+
6755
+ }
6756
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6757
+ interface ITextureButtonLineProps {
6758
+ label: string;
6759
+ scene: BABYLON.Scene;
6760
+ onClick: (file: File) => void;
6761
+ onLink: (texture: BABYLON.BaseTexture) => void;
6762
+ accept: string;
6763
+ }
6764
+ interface ITextureButtonLineState {
6765
+ isOpen: boolean;
6766
+ }
6767
+ export class TextureButtonLine extends React.Component<ITextureButtonLineProps, ITextureButtonLineState> {
6768
+ private static _IDGenerator;
6769
+ private _id;
6770
+ private _uploadInputRef;
6771
+ constructor(props: ITextureButtonLineProps);
6772
+ onChange(evt: any): void;
6773
+ render(): import("react/jsx-runtime").JSX.Element;
6774
+ }
6775
+
6776
+
6777
+
6686
6778
  }
6687
6779
  declare module BABYLON.NodeRenderGraphEditor {
6688
6780
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-node-render-graph-editor",
3
- "version": "7.42.3",
3
+ "version": "7.43.1",
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.3"
17
+ "babylonjs": "^7.54.1"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@dev/build-tools": "1.0.0",