@babylonjs/node-render-graph-editor 7.21.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.
@@ -0,0 +1,4102 @@
1
+
2
+ declare module "@babylonjs/node-render-graph-editor/serializationTools" {
3
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
4
+ import { Nullable } from "@babylonjs/core/types";
5
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
6
+ import { NodeRenderGraph } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraph";
7
+ export class SerializationTools {
8
+ static UpdateLocations(renderGraph: NodeRenderGraph, globalState: GlobalState, frame?: Nullable<GraphFrame>): void;
9
+ static Serialize(renderGraph: NodeRenderGraph, globalState: GlobalState, frame?: Nullable<GraphFrame>): string;
10
+ static Deserialize(serializationObject: any, globalState: GlobalState): void;
11
+ static AddFrameToRenderGraph(serializationObject: any, globalState: GlobalState, currentRenderGraph: NodeRenderGraph): void;
12
+ }
13
+
14
+ }
15
+ declare module "@babylonjs/node-render-graph-editor/portal" {
16
+ import * as React from "react";
17
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
18
+ interface IPortalProps {
19
+ globalState: GlobalState;
20
+ }
21
+ export class Portal extends React.Component<IPortalProps> {
22
+ render(): React.ReactPortal;
23
+ }
24
+ export {};
25
+
26
+ }
27
+ declare module "@babylonjs/node-render-graph-editor/nodeRenderGraphEditor" {
28
+ import { NodeRenderGraph } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraph";
29
+ import { Observable } from "@babylonjs/core/Misc/observable";
30
+ import { Scene } from "@babylonjs/core/scene";
31
+ /**
32
+ * Interface used to specify creation options for the node editor
33
+ */
34
+ export interface INodeEditorOptions {
35
+ nodeRenderGraph: NodeRenderGraph;
36
+ hostScene?: Scene;
37
+ hostElement?: HTMLElement;
38
+ customSave?: {
39
+ label: string;
40
+ action: (data: string) => Promise<void>;
41
+ };
42
+ customLoadObservable?: Observable<any>;
43
+ }
44
+ /**
45
+ * Class used to create a node editor
46
+ */
47
+ export class NodeRenderGraphEditor {
48
+ private static _CurrentState;
49
+ /**
50
+ * Show the node editor
51
+ * @param options defines the options to use to configure the node editor
52
+ */
53
+ static Show(options: INodeEditorOptions): void;
54
+ }
55
+
56
+ }
57
+ declare module "@babylonjs/node-render-graph-editor/index" {
58
+ export * from "@babylonjs/node-render-graph-editor/nodeRenderGraphEditor";
59
+
60
+ }
61
+ declare module "@babylonjs/node-render-graph-editor/graphEditor" {
62
+ import * as React from "react";
63
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
64
+ import { Nullable } from "@babylonjs/core/types";
65
+ import { IInspectorOptions } from "@babylonjs/core/Debug/debugLayer";
66
+ import "@babylonjs/node-render-graph-editor/main.scss";
67
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
68
+ import { IEditorData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeLocationInfo";
69
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
70
+ import { NodeRenderGraphBlock } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraphBlock";
71
+ interface IGraphEditorProps {
72
+ globalState: GlobalState;
73
+ }
74
+ interface IGraphEditorState {
75
+ showPreviewPopUp: boolean;
76
+ message: string;
77
+ isError: boolean;
78
+ }
79
+ interface IInternalPreviewAreaOptions extends IInspectorOptions {
80
+ popup: boolean;
81
+ original: boolean;
82
+ explorerWidth?: string;
83
+ inspectorWidth?: string;
84
+ embedHostWidth?: string;
85
+ }
86
+ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
87
+ private _graphCanvasRef;
88
+ private _diagramContainerRef;
89
+ private _graphCanvas;
90
+ private _diagramContainer;
91
+ private _startX;
92
+ private _moveInProgress;
93
+ private _leftWidth;
94
+ private _rightWidth;
95
+ private _previewManager;
96
+ private _mouseLocationX;
97
+ private _mouseLocationY;
98
+ private _onWidgetKeyUpPointer;
99
+ private _previewHost;
100
+ private _popUpWindow;
101
+ private _externalTextures;
102
+ appendBlock(dataToAppend: NodeRenderGraphBlock | INodeData, recursion?: boolean): GraphNode;
103
+ addValueNode(type: string): GraphNode;
104
+ componentDidMount(): void;
105
+ componentWillUnmount(): void;
106
+ constructor(props: IGraphEditorProps);
107
+ zoomToFit(): void;
108
+ private _setExternalInputs;
109
+ buildRenderGraph(): void;
110
+ build(ignoreEditorData?: boolean): void;
111
+ loadGraph(): void;
112
+ showWaitScreen(): void;
113
+ hideWaitScreen(): void;
114
+ reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
115
+ onPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
116
+ onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
117
+ onWheel: (evt: WheelEvent) => void;
118
+ resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
119
+ buildColumnLayout(): string;
120
+ emitNewBlock(blockType: string, targetX: number, targetY: number): GraphNode | undefined;
121
+ dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
122
+ handlePopUp: () => void;
123
+ handleClosingPopUp: () => void;
124
+ initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
125
+ createPopUp: () => void;
126
+ createPopupWindow: (title: string, windowVariableName: string, width?: number, height?: number) => Window | null;
127
+ createPreviewMeshControlHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
128
+ createPreviewHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
129
+ fixPopUpStyles: (document: Document) => void;
130
+
131
+ }
132
+ export {};
133
+
134
+ }
135
+ declare module "@babylonjs/node-render-graph-editor/globalState" {
136
+ import { NodeRenderGraph } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraph";
137
+ import { Observable } from "@babylonjs/core/Misc/observable";
138
+ import { LogEntry } from "@babylonjs/node-render-graph-editor/components/log/logComponent";
139
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
140
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
141
+ import { Nullable } from "@babylonjs/core/types";
142
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
143
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
144
+ import { NodeRenderGraphBlock } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraphBlock";
145
+ import { FilesInput } from "@babylonjs/core/Misc/filesInput";
146
+ import { PreviewType } from "@babylonjs/node-render-graph-editor/components/preview/previewType";
147
+ import { Scene } from "@babylonjs/core/scene";
148
+ export class GlobalState {
149
+ hostElement: HTMLElement;
150
+ hostDocument: Document;
151
+ hostWindow: Window;
152
+ stateManager: StateManager;
153
+ onBuiltObservable: Observable<void>;
154
+ onResetRequiredObservable: Observable<boolean>;
155
+ onZoomToFitRequiredObservable: Observable<void>;
156
+ onReOrganizedRequiredObservable: Observable<void>;
157
+ onLogRequiredObservable: Observable<LogEntry>;
158
+ onIsLoadingChanged: Observable<boolean>;
159
+ onPreviewCommandActivated: Observable<boolean>;
160
+ onLightUpdated: Observable<void>;
161
+ onFrame: Observable<void>;
162
+ onAnimationCommandActivated: Observable<void>;
163
+ onImportFrameObservable: Observable<any>;
164
+ onPopupClosedObservable: Observable<void>;
165
+ onGetNodeFromBlock: (block: NodeRenderGraphBlock) => GraphNode;
166
+ onDropEventReceivedObservable: Observable<DragEvent>;
167
+ previewType: PreviewType;
168
+ previewFile: File;
169
+ envType: PreviewType;
170
+ envFile: File;
171
+ listOfCustomPreviewFiles: File[];
172
+ rotatePreview: boolean;
173
+ lockObject: LockObject;
174
+ hemisphericLight: boolean;
175
+ directionalLight0: boolean;
176
+ directionalLight1: boolean;
177
+ pointerOverCanvas: boolean;
178
+ onRefreshPreviewMeshControlComponentRequiredObservable: Observable<void>;
179
+ filesInput: FilesInput;
180
+ scene: Scene;
181
+ noAutoFillExternalInputs: boolean;
182
+ customSave?: {
183
+ label: string;
184
+ action: (data: string) => Promise<void>;
185
+ };
186
+ private _nodeRenderGraph;
187
+ /**
188
+ * Gets the current node render graph
189
+ */
190
+ get nodeRenderGraph(): NodeRenderGraph;
191
+ /**
192
+ * Sets the current node material
193
+ */
194
+ set nodeRenderGraph(nodeRenderGraph: NodeRenderGraph);
195
+ constructor(scene: Scene);
196
+ storeEditorData(serializationObject: any, frame?: Nullable<GraphFrame>): void;
197
+ }
198
+
199
+ }
200
+ declare module "@babylonjs/node-render-graph-editor/blockTools" {
201
+ import { Scene } from "@babylonjs/core/scene";
202
+ import { NodeRenderGraphBlockConnectionPointTypes } from "@babylonjs/core/FrameGraph/Node/Types/nodeRenderGraphTypes";
203
+ import { NodeRenderGraphOutputBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/outputBlock";
204
+ import { NodeRenderGraphInputBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/inputBlock";
205
+ import { NodeRenderGraphElbowBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/elbowBlock";
206
+ import { NodeRenderGraphTeleportInBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Teleport/teleportInBlock";
207
+ import { NodeRenderGraphTeleportOutBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Teleport/teleportOutBlock";
208
+ import { NodeRenderGraphBlackAndWhitePostProcessBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock";
209
+ import { NodeRenderGraphBloomPostProcessBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock";
210
+ import { NodeRenderGraphBlurPostProcessBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock";
211
+ import { NodeRenderGraphCircleOfConfusionPostProcessBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock";
212
+ import { NodeRenderGraphDepthOfFieldPostProcessBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock";
213
+ import { NodeRenderGraphExtractHighlightsPostProcessBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock";
214
+ import { NodeRenderGraphClearBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Textures/clearBlock";
215
+ import { NodeRenderGraphCopyTextureBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Textures/copyTextureBlock";
216
+ import { NodeRenderGraphGenerateMipmapsBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock";
217
+ import { NodeRenderGraphObjectRendererBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Rendering/objectRendererBlock";
218
+ import { NodeRenderGraphGeometryRendererBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock";
219
+ import { NodeRenderGraphCullObjectsBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock";
220
+ import { NodeRenderGraphGUIBlock } from "@babylonjs/gui/2D/FrameGraph/renderGraphGUIBlock";
221
+ import { FrameGraph } from "@babylonjs/core/FrameGraph/frameGraph";
222
+ /**
223
+ * Static class for BlockTools
224
+ */
225
+ export class BlockTools {
226
+ static GetBlockFromString(data: string, frameGraph: FrameGraph, scene: Scene): NodeRenderGraphTeleportInBlock | NodeRenderGraphTeleportOutBlock | NodeRenderGraphOutputBlock | NodeRenderGraphElbowBlock | NodeRenderGraphInputBlock | NodeRenderGraphClearBlock | NodeRenderGraphCopyTextureBlock | NodeRenderGraphGenerateMipmapsBlock | NodeRenderGraphBlackAndWhitePostProcessBlock | NodeRenderGraphBloomPostProcessBlock | NodeRenderGraphBlurPostProcessBlock | NodeRenderGraphGUIBlock | NodeRenderGraphObjectRendererBlock | NodeRenderGraphGeometryRendererBlock | NodeRenderGraphCullObjectsBlock | NodeRenderGraphCircleOfConfusionPostProcessBlock | NodeRenderGraphDepthOfFieldPostProcessBlock | NodeRenderGraphExtractHighlightsPostProcessBlock | null;
227
+ static GetColorFromConnectionNodeType(type: NodeRenderGraphBlockConnectionPointTypes): string;
228
+ static GetConnectionNodeTypeFromString(type: string): NodeRenderGraphBlockConnectionPointTypes.Texture | NodeRenderGraphBlockConnectionPointTypes.TextureBackBuffer | NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment | NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment | NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth | NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal | NodeRenderGraphBlockConnectionPointTypes.TextureAlbedo | NodeRenderGraphBlockConnectionPointTypes.TextureReflectivity | NodeRenderGraphBlockConnectionPointTypes.TextureWorldPosition | NodeRenderGraphBlockConnectionPointTypes.TextureVelocity | NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth | NodeRenderGraphBlockConnectionPointTypes.TextureWorldNormal | NodeRenderGraphBlockConnectionPointTypes.TextureLocalPosition | NodeRenderGraphBlockConnectionPointTypes.TextureLinearVelocity | NodeRenderGraphBlockConnectionPointTypes.Camera | NodeRenderGraphBlockConnectionPointTypes.ObjectList | NodeRenderGraphBlockConnectionPointTypes.AutoDetect;
229
+ static GetStringFromConnectionNodeType(type: NodeRenderGraphBlockConnectionPointTypes): "" | "Texture" | "Camera" | "TextureBackBuffer" | "TextureBackBufferDepthStencilAttachment" | "TextureDepthStencilAttachment" | "ObjectList" | "TextureNormal" | "TextureAlbedo" | "TextureReflectivity" | "TexturePosition" | "TextureVelocity" | "TextureScreenDepth" | "TextureLocalPosition" | "TextureWorldNormal" | "TextureLinearVelocity" | "TextureDepth";
230
+ }
231
+
232
+ }
233
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/textureLineComponent" {
234
+ import * as React from "react";
235
+ import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture";
236
+ interface ITextureLineComponentProps {
237
+ texture: BaseTexture;
238
+ width: number;
239
+ height: number;
240
+ globalState?: any;
241
+ hideChannelSelect?: boolean;
242
+ }
243
+ export interface ITextureLineComponentState {
244
+ displayRed: boolean;
245
+ displayGreen: boolean;
246
+ displayBlue: boolean;
247
+ displayAlpha: boolean;
248
+ face: number;
249
+ }
250
+ export class TextureLineComponent extends React.Component<ITextureLineComponentProps, ITextureLineComponentState> {
251
+ private _canvasRef;
252
+ constructor(props: ITextureLineComponentProps);
253
+ shouldComponentUpdate(): boolean;
254
+ componentDidMount(): void;
255
+ componentDidUpdate(): void;
256
+ updatePreview(): void;
257
+ static UpdatePreview(previewCanvas: HTMLCanvasElement, texture: BaseTexture, width: number, options: ITextureLineComponentState, onReady?: () => void, globalState?: any): Promise<void>;
258
+
259
+ }
260
+ export {};
261
+
262
+ }
263
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/popup" {
264
+ export class Popup {
265
+ static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
266
+ static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
267
+ }
268
+
269
+ }
270
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/lineWithFileButtonComponent" {
271
+ import * as React from "react";
272
+ interface ILineWithFileButtonComponentProps {
273
+ title: string;
274
+ closed?: boolean;
275
+ label: string;
276
+ iconImage: any;
277
+ onIconClick: (file: File) => void;
278
+ accept: string;
279
+ uploadName?: string;
280
+ }
281
+ export class LineWithFileButtonComponent extends React.Component<ILineWithFileButtonComponentProps, {
282
+ isExpanded: boolean;
283
+ }> {
284
+ private _uploadRef;
285
+ constructor(props: ILineWithFileButtonComponentProps);
286
+ onChange(evt: any): void;
287
+ switchExpandedState(): void;
288
+
289
+ }
290
+ export {};
291
+
292
+ }
293
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/lineContainerComponent" {
294
+ import * as React from "react";
295
+ interface ILineContainerComponentProps {
296
+ title: string;
297
+ children: any[] | any;
298
+ closed?: boolean;
299
+ }
300
+ export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
301
+ isExpanded: boolean;
302
+ }> {
303
+ constructor(props: ILineContainerComponentProps);
304
+ switchExpandedState(): void;
305
+
306
+
307
+ }
308
+ export {};
309
+
310
+ }
311
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/fileButtonLineComponent" {
312
+ import * as React from "react";
313
+ interface IFileButtonLineComponentProps {
314
+ label: string;
315
+ onClick: (file: File) => void;
316
+ accept: string;
317
+ uploadName?: string;
318
+ }
319
+ export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
320
+ private _uploadRef;
321
+ constructor(props: IFileButtonLineComponentProps);
322
+ onChange(evt: any): void;
323
+
324
+ }
325
+ export {};
326
+
327
+ }
328
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/draggableLineWithButtonComponent" {
329
+ import * as React from "react";
330
+ export interface IDraggableLineWithButtonComponent {
331
+ data: string;
332
+ tooltip: string;
333
+ iconImage: any;
334
+ onIconClick: (value: string) => void;
335
+ iconTitle: string;
336
+ lenSuffixToRemove?: number;
337
+ }
338
+ export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
339
+ constructor(props: IDraggableLineWithButtonComponent);
340
+
341
+ }
342
+
343
+ }
344
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/draggableLineComponent" {
345
+ import * as React from "react";
346
+ export interface IButtonLineComponentProps {
347
+ data: string;
348
+ tooltip: string;
349
+ }
350
+ export class DraggableLineComponent extends React.Component<IButtonLineComponentProps> {
351
+ constructor(props: IButtonLineComponentProps);
352
+
353
+ }
354
+
355
+ }
356
+ declare module "@babylonjs/node-render-graph-editor/sharedComponents/checkBoxLineComponent" {
357
+ import * as React from "react";
358
+ import { Observable } from "@babylonjs/core/Misc/observable";
359
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
360
+ export interface ICheckBoxLineComponentProps {
361
+ label: string;
362
+ target?: any;
363
+ propertyName?: string;
364
+ isSelected?: () => boolean;
365
+ onSelect?: (value: boolean) => void;
366
+ onValueChanged?: () => void;
367
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
368
+ disabled?: boolean;
369
+ extractValue?: (target: any) => boolean;
370
+ }
371
+ export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
372
+ isSelected: boolean;
373
+ isDisabled?: boolean;
374
+ }> {
375
+ private static _UniqueIdSeed;
376
+ private _uniqueId;
377
+ private _localChange;
378
+ constructor(props: ICheckBoxLineComponentProps);
379
+ shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
380
+ isSelected: boolean;
381
+ isDisabled: boolean;
382
+ }): boolean;
383
+ onChange(): void;
384
+
385
+ }
386
+
387
+ }
388
+ declare module "@babylonjs/node-render-graph-editor/legacy/legacy" {
389
+ export * from "@babylonjs/node-render-graph-editor/index";
390
+
391
+ }
392
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerToTypeLedger" {
393
+ export const RegisterTypeLedger: () => void;
394
+
395
+ }
396
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerToPropertyLedger" {
397
+ export const RegisterToPropertyTabManagers: () => void;
398
+
399
+ }
400
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerToDisplayLedger" {
401
+ export const RegisterToDisplayManagers: () => void;
402
+
403
+ }
404
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerNodePortDesign" {
405
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
406
+ export const RegisterNodePortDesign: (stateManager: StateManager) => void;
407
+
408
+ }
409
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerExportData" {
410
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
411
+ export const RegisterExportData: (stateManager: StateManager) => void;
412
+
413
+ }
414
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerElbowSupport" {
415
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
416
+ export const RegisterElbowSupport: (stateManager: StateManager) => void;
417
+
418
+ }
419
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerDefaultInput" {
420
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
421
+ export const RegisterDefaultInput: (stateManager: StateManager) => void;
422
+
423
+ }
424
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/registerDebugSupport" {
425
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
426
+ export const RegisterDebugSupport: (stateManager: StateManager) => void;
427
+
428
+ }
429
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/connectionPointPortData" {
430
+ import { NodeRenderGraphBlock } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraphBlock";
431
+ import { NodeRenderGraphConnectionPoint } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint";
432
+ import { NodeRenderGraphConnectionPointCompatibilityStates } from "@babylonjs/core/FrameGraph/Node/Types/nodeRenderGraphTypes";
433
+ import { Nullable } from "@babylonjs/core/types";
434
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
435
+ import { INodeContainer } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeContainer";
436
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
437
+ import { PortDataDirection } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
438
+ export class ConnectionPointPortData implements IPortData {
439
+ private _connectedPort;
440
+ private _nodeContainer;
441
+ data: NodeRenderGraphConnectionPoint;
442
+ get name(): string;
443
+ get internalName(): string;
444
+ get isExposedOnFrame(): boolean;
445
+ set isExposedOnFrame(value: boolean);
446
+ get exposedPortPosition(): number;
447
+ set exposedPortPosition(value: number);
448
+ get isConnected(): boolean;
449
+ get connectedPort(): Nullable<IPortData>;
450
+ set connectedPort(value: Nullable<IPortData>);
451
+ get direction(): PortDataDirection;
452
+ get ownerData(): NodeRenderGraphBlock;
453
+ get needDualDirectionValidation(): boolean;
454
+ get hasEndpoints(): boolean;
455
+ get endpoints(): IPortData[];
456
+ constructor(connectionPoint: NodeRenderGraphConnectionPoint, nodeContainer: INodeContainer);
457
+ updateDisplayName(newName: string): void;
458
+ connectTo(port: IPortData): void;
459
+ canConnectTo(port: IPortData): boolean;
460
+ disconnectFrom(port: IPortData): void;
461
+ checkCompatibilityState(port: IPortData): 0 | NodeRenderGraphConnectionPointCompatibilityStates.TypeIncompatible | NodeRenderGraphConnectionPointCompatibilityStates.HierarchyIssue;
462
+ getCompatibilityIssueMessage(issue: number, targetNode: GraphNode, targetPort: IPortData): "" | "Cannot connect two different connection types" | "Source block cannot be connected with one of its ancestors";
463
+ }
464
+
465
+ }
466
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/blockNodeData" {
467
+ import { INodeContainer } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeContainer";
468
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
469
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
470
+ import { NodeRenderGraphBlock } from "@babylonjs/core/FrameGraph/Node/nodeRenderGraphBlock";
471
+ import { NodeRenderGraphTeleportOutBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/Teleport/teleportOutBlock";
472
+ export class BlockNodeData implements INodeData {
473
+ data: NodeRenderGraphBlock;
474
+ private _inputs;
475
+ private _outputs;
476
+ private _onBuildObserver;
477
+ /**
478
+ * Gets or sets a callback used to call node visual refresh
479
+ */
480
+ refreshCallback?: () => void;
481
+ get uniqueId(): number;
482
+ get name(): string;
483
+ getClassName(): string;
484
+ get isInput(): boolean;
485
+ get inputs(): IPortData[];
486
+ get outputs(): IPortData[];
487
+ get comments(): string;
488
+ set comments(value: string);
489
+ get executionTime(): number;
490
+ getPortByName(name: string): IPortData | null;
491
+ isConnectedToOutput(): boolean;
492
+ dispose(): void;
493
+ prepareHeaderIcon(iconDiv: HTMLDivElement, img: HTMLImageElement): void;
494
+ get invisibleEndpoints(): NodeRenderGraphTeleportOutBlock[] | null;
495
+ constructor(data: NodeRenderGraphBlock, nodeContainer: INodeContainer);
496
+ }
497
+
498
+ }
499
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/properties/teleportOutNodePropertyComponent" {
500
+ import * as React from "react";
501
+ import { IPropertyComponentProps } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/propertyComponentProps";
502
+ export class TeleportOutPropertyTabComponent extends React.Component<IPropertyComponentProps> {
503
+ private _onUpdateRequiredObserver;
504
+ constructor(props: IPropertyComponentProps);
505
+ componentDidMount(): void;
506
+ componentWillUnmount(): void;
507
+
508
+ }
509
+
510
+ }
511
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/properties/nodePortPropertyComponent" {
512
+ import * as React from "react";
513
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
514
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
515
+ export interface IFrameNodePortPropertyTabComponentProps {
516
+ stateManager: StateManager;
517
+ nodePort: NodePort;
518
+ }
519
+ export class NodePortPropertyTabComponent extends React.Component<IFrameNodePortPropertyTabComponentProps> {
520
+ constructor(props: IFrameNodePortPropertyTabComponentProps);
521
+ toggleExposeOnFrame(value: boolean): void;
522
+
523
+ }
524
+
525
+ }
526
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/properties/inputNodePropertyComponent" {
527
+ import * as React from "react";
528
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
529
+ import { IPropertyComponentProps } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/propertyComponentProps";
530
+ export class InputPropertyTabComponent extends React.Component<IPropertyComponentProps> {
531
+ private _onValueChangedObserver;
532
+ constructor(props: IPropertyComponentProps);
533
+ componentDidMount(): void;
534
+ componentWillUnmount(): void;
535
+
536
+ setDefaultValue(): void;
537
+
538
+ }
539
+
540
+ }
541
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/properties/genericNodePropertyComponent" {
542
+ import * as React from "react";
543
+ import { IPropertyComponentProps } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/propertyComponentProps";
544
+ import { type IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
545
+ export const samplingModeList: {
546
+ label: string;
547
+ value: number;
548
+ }[];
549
+ export const textureFormatList: {
550
+ label: string;
551
+ value: number;
552
+ }[];
553
+ export const textureTypeList: {
554
+ label: string;
555
+ value: number;
556
+ }[];
557
+ export const textureDepthStencilFormatList: {
558
+ label: string;
559
+ value: number;
560
+ }[];
561
+ export class GenericPropertyComponent extends React.Component<IPropertyComponentProps> {
562
+ constructor(props: IPropertyComponentProps);
563
+
564
+ }
565
+ export class GeneralPropertyTabComponent extends React.Component<IPropertyComponentProps> {
566
+ constructor(props: IPropertyComponentProps);
567
+
568
+ }
569
+ export class GenericPropertyTabComponent extends React.Component<IPropertyComponentProps> {
570
+ constructor(props: IPropertyComponentProps);
571
+ forceRebuild(propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
572
+
573
+ }
574
+
575
+ }
576
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/properties/framePropertyComponent" {
577
+ import * as React from "react";
578
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
579
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
580
+ export interface IFramePropertyTabComponentProps {
581
+ globalState: GlobalState;
582
+ frame: GraphFrame;
583
+ }
584
+ export class FramePropertyTabComponent extends React.Component<IFramePropertyTabComponentProps> {
585
+ private _onFrameExpandStateChangedObserver;
586
+ constructor(props: IFramePropertyTabComponentProps);
587
+ componentDidMount(): void;
588
+ componentWillUnmount(): void;
589
+
590
+ }
591
+
592
+ }
593
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/properties/frameNodePortPropertyComponent" {
594
+ import * as React from "react";
595
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
596
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
597
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
598
+ import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
599
+ export interface IFrameNodePortPropertyTabComponentProps {
600
+ stateManager: StateManager;
601
+ globalState: GlobalState;
602
+ frameNodePort: FrameNodePort;
603
+ frame: GraphFrame;
604
+ }
605
+ export class FrameNodePortPropertyTabComponent extends React.Component<IFrameNodePortPropertyTabComponentProps, {
606
+ port: FrameNodePort;
607
+ }> {
608
+ private _onFramePortPositionChangedObserver;
609
+ private _onSelectionChangedObserver;
610
+ constructor(props: IFrameNodePortPropertyTabComponentProps);
611
+ componentWillUnmount(): void;
612
+
613
+ }
614
+
615
+ }
616
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/display/textureDisplayManager" {
617
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
618
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
619
+ export class TextureDisplayManager implements IDisplayManager {
620
+ getHeaderClass(): string;
621
+ shouldDisplayPortLabels(): boolean;
622
+ getHeaderText(nodeData: INodeData): string;
623
+ getBackgroundColor(): string;
624
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
625
+ }
626
+
627
+ }
628
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/display/teleportOutDisplayManager" {
629
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
630
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
631
+ import { Nullable } from "@babylonjs/core/types";
632
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
633
+ export class TeleportOutDisplayManager implements IDisplayManager {
634
+ private _hasHighlights;
635
+ getHeaderClass(): string;
636
+ shouldDisplayPortLabels(): boolean;
637
+ getHeaderText(nodeData: INodeData): string;
638
+ getBackgroundColor(nodeData: INodeData): string;
639
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
640
+ onSelectionChanged(nodeData: INodeData, selectedData: Nullable<INodeData>, manager: StateManager): void;
641
+ onDispose(nodeData: INodeData, manager: StateManager): void;
642
+ }
643
+
644
+ }
645
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/display/teleportInDisplayManager" {
646
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
647
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
648
+ import { Nullable } from "@babylonjs/core/types";
649
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
650
+ export class TeleportInDisplayManager implements IDisplayManager {
651
+ private _hasHighlights;
652
+ getHeaderClass(): string;
653
+ shouldDisplayPortLabels(): boolean;
654
+ getHeaderText(nodeData: INodeData): string;
655
+ getBackgroundColor(nodeData: INodeData): string;
656
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
657
+ onSelectionChanged(nodeData: INodeData, selectedData: Nullable<INodeData>, manager: StateManager): void;
658
+ onDispose(nodeData: INodeData, manager: StateManager): void;
659
+ }
660
+
661
+ }
662
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/display/postProcessDisplayManager" {
663
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
664
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
665
+ export class PostProcessDisplayManager implements IDisplayManager {
666
+ getHeaderClass(): string;
667
+ shouldDisplayPortLabels(): boolean;
668
+ getHeaderText(nodeData: INodeData): string;
669
+ getBackgroundColor(): string;
670
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
671
+ }
672
+
673
+ }
674
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/display/outputDisplayManager" {
675
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
676
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
677
+ export class OutputDisplayManager implements IDisplayManager {
678
+ getHeaderClass(): string;
679
+ shouldDisplayPortLabels(): boolean;
680
+ getHeaderText(nodeData: INodeData): string;
681
+ getBackgroundColor(): string;
682
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
683
+ }
684
+
685
+ }
686
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/display/inputDisplayManager" {
687
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
688
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
689
+ import { NodeRenderGraphBlockConnectionPointTypes } from "@babylonjs/core/FrameGraph/Node/Types/nodeRenderGraphTypes";
690
+ export class InputDisplayManager implements IDisplayManager {
691
+ getHeaderClass(_nodeData: INodeData): string;
692
+ getHeaderText(nodeData: INodeData): string;
693
+ shouldDisplayPortLabels(): boolean;
694
+ static GetBaseType(type: NodeRenderGraphBlockConnectionPointTypes): string;
695
+ getBackgroundColor(nodeData: INodeData): string;
696
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
697
+ }
698
+
699
+ }
700
+ declare module "@babylonjs/node-render-graph-editor/graphSystem/display/elbowDisplayManager" {
701
+ import { IDisplayManager, VisualContentDescription } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
702
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
703
+ export class ElbowDisplayManager implements IDisplayManager {
704
+ getHeaderClass(): string;
705
+ shouldDisplayPortLabels(): boolean;
706
+ getHeaderText(nodeData: INodeData): string;
707
+ getBackgroundColor(nodeData: INodeData): string;
708
+ updatePreviewContent(_nodeData: INodeData, _contentArea: HTMLDivElement): void;
709
+ updateFullVisualContent(data: INodeData, visualContent: VisualContentDescription): void;
710
+ }
711
+
712
+ }
713
+ declare module "@babylonjs/node-render-graph-editor/components/propertyTab/propertyTabComponent" {
714
+ import * as React from "react";
715
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
716
+ import { Nullable } from "@babylonjs/core/types";
717
+ import "@babylonjs/node-render-graph-editor/components/propertyTab/propertyTab.scss";
718
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
719
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
720
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
721
+ import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
722
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
723
+ interface IPropertyTabComponentProps {
724
+ globalState: GlobalState;
725
+ lockObject: LockObject;
726
+ }
727
+ interface IPropertyTabComponentState {
728
+ currentNode: Nullable<GraphNode>;
729
+ currentFrame: Nullable<GraphFrame>;
730
+ currentFrameNodePort: Nullable<FrameNodePort>;
731
+ currentNodePort: Nullable<NodePort>;
732
+ uploadInProgress: boolean;
733
+ }
734
+ export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
735
+ private _onBuiltObserver;
736
+ constructor(props: IPropertyTabComponentProps);
737
+ componentDidMount(): void;
738
+ componentWillUnmount(): void;
739
+ load(file: File): void;
740
+ loadFrame(file: File): void;
741
+ save(): void;
742
+ customSave(): void;
743
+ saveToSnippetServer(): void;
744
+ loadFromSnippet(): void;
745
+
746
+ }
747
+ export {};
748
+
749
+ }
750
+ declare module "@babylonjs/node-render-graph-editor/components/propertyTab/inputsPropertyTabComponent" {
751
+ import * as React from "react";
752
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
753
+ import "@babylonjs/node-render-graph-editor/components/propertyTab/propertyTab.scss";
754
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
755
+ import { NodeRenderGraphInputBlock } from "@babylonjs/core/FrameGraph/Node/Blocks/inputBlock";
756
+ interface IInputsPropertyTabComponentProps {
757
+ globalState: GlobalState;
758
+ inputs: NodeRenderGraphInputBlock[];
759
+ lockObject: LockObject;
760
+ }
761
+ export class InputsPropertyTabComponent extends React.Component<IInputsPropertyTabComponentProps> {
762
+ constructor(props: IInputsPropertyTabComponentProps);
763
+ processInputBlockUpdate(): void;
764
+
765
+
766
+ }
767
+ export {};
768
+
769
+ }
770
+ declare module "@babylonjs/node-render-graph-editor/components/preview/previewType" {
771
+ export enum PreviewType {
772
+ Sphere = 0,
773
+ Box = 1,
774
+ Cylinder = 2,
775
+ Plane = 3,
776
+ ShaderBall = 4,
777
+ Custom = 5,
778
+ Room = 6
779
+ }
780
+
781
+ }
782
+ declare module "@babylonjs/node-render-graph-editor/components/preview/previewMeshControlComponent" {
783
+ import * as React from "react";
784
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
785
+ import { PreviewType } from "@babylonjs/node-render-graph-editor/components/preview/previewType";
786
+ interface IPreviewMeshControlComponent {
787
+ globalState: GlobalState;
788
+ togglePreviewAreaComponent: () => void;
789
+ }
790
+ export class PreviewMeshControlComponent extends React.Component<IPreviewMeshControlComponent> {
791
+ private _filePickerRef;
792
+ private _envPickerRef;
793
+ private _onResetRequiredObserver;
794
+ private _onDropEventObserver;
795
+ private _onRefreshPreviewMeshControlComponentRequiredObserver;
796
+ constructor(props: IPreviewMeshControlComponent);
797
+ componentWillUnmount(): void;
798
+ changeMeshType(newOne: PreviewType): void;
799
+ useCustomMesh(evt: any): void;
800
+ useCustomEnv(evt: any): void;
801
+ onPopUp(): void;
802
+ frame(): void;
803
+
804
+ }
805
+ export {};
806
+
807
+ }
808
+ declare module "@babylonjs/node-render-graph-editor/components/preview/previewManager" {
809
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
810
+ import "@babylonjs/core/Rendering/depthRendererSceneComponent";
811
+ export class PreviewManager {
812
+ private _nodeRenderGraph;
813
+ private _onFrameObserver;
814
+ private _onPreviewCommandActivatedObserver;
815
+ private _onUpdateRequiredObserver;
816
+ private _onRebuildRequiredObserver;
817
+ private _onImportFrameObserver;
818
+ private _onResetRequiredObserver;
819
+ private _onLightUpdatedObserver;
820
+ private _engine;
821
+ private _scene;
822
+ private _globalState;
823
+ private _currentType;
824
+ private _lightParent;
825
+ private _hdrTexture;
826
+ constructor(targetCanvas: HTMLCanvasElement, globalState: GlobalState);
827
+ private _initAsync;
828
+ private _initScene;
829
+ private _reset;
830
+ private _prepareLights;
831
+ private _createNodeRenderGraph;
832
+ private _buildGraph;
833
+ private _frameCamera;
834
+ private _prepareBackgroundHDR;
835
+ private _prepareScene;
836
+ static DefaultEnvironmentURL: string;
837
+ private _refreshPreviewMesh;
838
+ dispose(): void;
839
+ }
840
+
841
+ }
842
+ declare module "@babylonjs/node-render-graph-editor/components/preview/previewAreaComponent" {
843
+ import * as React from "react";
844
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
845
+ interface IPreviewAreaComponentProps {
846
+ globalState: GlobalState;
847
+ width: number;
848
+ }
849
+ export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentProps, {
850
+ isLoading: boolean;
851
+ }> {
852
+ private _onIsLoadingChangedObserver;
853
+ private _onResetRequiredObserver;
854
+ constructor(props: IPreviewAreaComponentProps);
855
+ componentWillUnmount(): void;
856
+ _onPointerOverCanvas: () => void;
857
+ _onPointerOutCanvas: () => void;
858
+
859
+ }
860
+ export {};
861
+
862
+ }
863
+ declare module "@babylonjs/node-render-graph-editor/components/nodeList/nodeListComponent" {
864
+ import * as React from "react";
865
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
866
+ import "@babylonjs/node-render-graph-editor/components/nodeList/nodeList.scss";
867
+ interface INodeListComponentProps {
868
+ globalState: GlobalState;
869
+ }
870
+ export class NodeListComponent extends React.Component<INodeListComponentProps, {
871
+ filter: string;
872
+ }> {
873
+ private _onResetRequiredObserver;
874
+ private static _Tooltips;
875
+ private _customFrameList;
876
+ constructor(props: INodeListComponentProps);
877
+ componentWillUnmount(): void;
878
+ filterContent(filter: string): void;
879
+ loadCustomFrame(file: File): void;
880
+ removeItem(value: string): void;
881
+
882
+ }
883
+ export {};
884
+
885
+ }
886
+ declare module "@babylonjs/node-render-graph-editor/components/log/logComponent" {
887
+ import * as React from "react";
888
+ import { GlobalState } from "@babylonjs/node-render-graph-editor/globalState";
889
+ import "@babylonjs/node-render-graph-editor/components/log/log.scss";
890
+ interface ILogComponentProps {
891
+ globalState: GlobalState;
892
+ }
893
+ export class LogEntry {
894
+ message: string;
895
+ isError: boolean;
896
+ time: Date;
897
+ constructor(message: string, isError: boolean);
898
+ }
899
+ export class LogComponent extends React.Component<ILogComponentProps, {
900
+ logs: LogEntry[];
901
+ }> {
902
+ private _logConsoleRef;
903
+ constructor(props: ILogComponentProps);
904
+ componentDidMount(): void;
905
+ componentDidUpdate(): void;
906
+
907
+ }
908
+ export {};
909
+
910
+ }
911
+ declare module "@babylonjs/node-render-graph-editor/stringTools" {
912
+ export class StringTools {
913
+ private static _SaveAs;
914
+ private static _Click;
915
+ /**
916
+ * Download a string into a file that will be saved locally by the browser
917
+ * @param document
918
+ * @param content defines the string to download locally as a file
919
+ * @param filename
920
+ */
921
+ static DownloadAsFile(document: HTMLDocument, content: string, filename: string): void;
922
+ }
923
+
924
+ }
925
+ declare module "@babylonjs/node-render-graph-editor/propertyChangedEvent" {
926
+ export class PropertyChangedEvent {
927
+ object: any;
928
+ property: string;
929
+ value: any;
930
+ initialValue: any;
931
+ allowNullValue?: boolean;
932
+ }
933
+
934
+ }
935
+ declare module "@babylonjs/node-render-graph-editor/historyStack" {
936
+ import { IDisposable } from "@babylonjs/core/scene";
937
+ /**
938
+ * Class handling undo / redo operations
939
+ */
940
+ export class HistoryStack implements IDisposable {
941
+ private _historyStack;
942
+ private _redoStack;
943
+ private _activeData;
944
+ private readonly _maxHistoryLength;
945
+ private _locked;
946
+ private _dataProvider;
947
+ private _applyUpdate;
948
+ /**
949
+ * Constructor
950
+ * @param dataProvider defines the data provider function
951
+ * @param applyUpdate defines the code to execute when undo/redo operation is required
952
+ */
953
+ constructor(dataProvider: () => any, applyUpdate: (data: any) => void);
954
+ /**
955
+ * Process key event to handle undo / redo
956
+ * @param evt defines the keyboard event to process
957
+ * @returns true if the event was processed
958
+ */
959
+ processKeyEvent(evt: KeyboardEvent): boolean;
960
+ /**
961
+ * Resets the stack
962
+ */
963
+ reset(): void;
964
+ /**
965
+ * Remove the n-1 element of the stack
966
+ */
967
+ collapseLastTwo(): void;
968
+ private _generateJSONDiff;
969
+ private _applyJSONDiff;
970
+ private _copy;
971
+ /**
972
+ * Stores the current state
973
+ */
974
+ store(): void;
975
+ /**
976
+ * Undo the latest operation
977
+ */
978
+ undo(): void;
979
+ /**
980
+ * Redo the latest undo operation
981
+ */
982
+ redo(): void;
983
+ /**
984
+ * Disposes the stack
985
+ */
986
+ dispose(): void;
987
+ }
988
+
989
+ }
990
+ declare module "@babylonjs/node-render-graph-editor/copyCommandToClipboard" {
991
+ export function copyCommandToClipboard(strCommand: string): void;
992
+ export function getClassNameWithNamespace(obj: any): {
993
+ className: string;
994
+ babylonNamespace: string;
995
+ };
996
+
997
+ }
998
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject" {
999
+ /**
1000
+ * Class used to provide lock mechanism
1001
+ */
1002
+ export class LockObject {
1003
+ /**
1004
+ * Gets or set if the lock is engaged
1005
+ */
1006
+ lock: boolean;
1007
+ }
1008
+
1009
+ }
1010
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/textBlockPropertyGridComponent" {
1011
+ import * as React from "react";
1012
+ import { Observable } from "@babylonjs/core/Misc/observable";
1013
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1014
+ import { TextBlock } from "@babylonjs/gui/2D/controls/textBlock";
1015
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1016
+ interface ITextBlockPropertyGridComponentProps {
1017
+ textBlock: TextBlock;
1018
+ lockObject: LockObject;
1019
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1020
+ }
1021
+ export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
1022
+ constructor(props: ITextBlockPropertyGridComponentProps);
1023
+
1024
+ }
1025
+ export {};
1026
+
1027
+ }
1028
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/stackPanelPropertyGridComponent" {
1029
+ import * as React from "react";
1030
+ import { Observable } from "@babylonjs/core/Misc/observable";
1031
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1032
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1033
+ import { StackPanel } from "@babylonjs/gui/2D/controls/stackPanel";
1034
+ interface IStackPanelPropertyGridComponentProps {
1035
+ stackPanel: StackPanel;
1036
+ lockObject: LockObject;
1037
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1038
+ }
1039
+ export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
1040
+ constructor(props: IStackPanelPropertyGridComponentProps);
1041
+
1042
+ }
1043
+ export {};
1044
+
1045
+ }
1046
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/sliderPropertyGridComponent" {
1047
+ import * as React from "react";
1048
+ import { Observable } from "@babylonjs/core/Misc/observable";
1049
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1050
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1051
+ import { Slider } from "@babylonjs/gui/2D/controls/sliders/slider";
1052
+ interface ISliderPropertyGridComponentProps {
1053
+ slider: Slider;
1054
+ lockObject: LockObject;
1055
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1056
+ }
1057
+ export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
1058
+ constructor(props: ISliderPropertyGridComponentProps);
1059
+
1060
+ }
1061
+ export {};
1062
+
1063
+ }
1064
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent" {
1065
+ import * as React from "react";
1066
+ import { Observable } from "@babylonjs/core/Misc/observable";
1067
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1068
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1069
+ import { ScrollViewer } from "@babylonjs/gui/2D/controls/scrollViewers/scrollViewer";
1070
+ interface IScrollViewerPropertyGridComponentProps {
1071
+ scrollViewer: ScrollViewer;
1072
+ lockObject: LockObject;
1073
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1074
+ }
1075
+ export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
1076
+ constructor(props: IScrollViewerPropertyGridComponentProps);
1077
+
1078
+ }
1079
+ export {};
1080
+
1081
+ }
1082
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/rectanglePropertyGridComponent" {
1083
+ import * as React from "react";
1084
+ import { Observable } from "@babylonjs/core/Misc/observable";
1085
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1086
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1087
+ import { Rectangle } from "@babylonjs/gui/2D/controls/rectangle";
1088
+ interface IRectanglePropertyGridComponentProps {
1089
+ rectangle: Rectangle;
1090
+ lockObject: LockObject;
1091
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1092
+ }
1093
+ export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
1094
+ constructor(props: IRectanglePropertyGridComponentProps);
1095
+
1096
+ }
1097
+ export {};
1098
+
1099
+ }
1100
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/radioButtonPropertyGridComponent" {
1101
+ import * as React from "react";
1102
+ import { Observable } from "@babylonjs/core/Misc/observable";
1103
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1104
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1105
+ import { RadioButton } from "@babylonjs/gui/2D/controls/radioButton";
1106
+ interface IRadioButtonPropertyGridComponentProps {
1107
+ radioButtons: RadioButton[];
1108
+ lockObject: LockObject;
1109
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1110
+ }
1111
+ export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
1112
+ constructor(props: IRadioButtonPropertyGridComponentProps);
1113
+
1114
+ }
1115
+ export {};
1116
+
1117
+ }
1118
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/linePropertyGridComponent" {
1119
+ import * as React from "react";
1120
+ import { Observable } from "@babylonjs/core/Misc/observable";
1121
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1122
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1123
+ import { Line } from "@babylonjs/gui/2D/controls/line";
1124
+ interface ILinePropertyGridComponentProps {
1125
+ line: Line;
1126
+ lockObject: LockObject;
1127
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1128
+ }
1129
+ export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
1130
+ constructor(props: ILinePropertyGridComponentProps);
1131
+ onDashChange(value: string): void;
1132
+
1133
+ }
1134
+ export {};
1135
+
1136
+ }
1137
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/inputTextPropertyGridComponent" {
1138
+ import * as React from "react";
1139
+ import { Observable } from "@babylonjs/core/Misc/observable";
1140
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1141
+ import { InputText } from "@babylonjs/gui/2D/controls/inputText";
1142
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1143
+ interface IInputTextPropertyGridComponentProps {
1144
+ inputText: InputText;
1145
+ lockObject: LockObject;
1146
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1147
+ }
1148
+ export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
1149
+ constructor(props: IInputTextPropertyGridComponentProps);
1150
+
1151
+ }
1152
+ export {};
1153
+
1154
+ }
1155
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/imagePropertyGridComponent" {
1156
+ import * as React from "react";
1157
+ import { Observable } from "@babylonjs/core/Misc/observable";
1158
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1159
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1160
+ import { Image } from "@babylonjs/gui/2D/controls/image";
1161
+ interface IImagePropertyGridComponentProps {
1162
+ image: Image;
1163
+ lockObject: LockObject;
1164
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1165
+ }
1166
+ export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
1167
+ constructor(props: IImagePropertyGridComponentProps);
1168
+
1169
+ }
1170
+ export {};
1171
+
1172
+ }
1173
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent" {
1174
+ import * as React from "react";
1175
+ import { Observable } from "@babylonjs/core/Misc/observable";
1176
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1177
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1178
+ import { ImageBasedSlider } from "@babylonjs/gui/2D/controls/sliders/imageBasedSlider";
1179
+ interface IImageBasedSliderPropertyGridComponentProps {
1180
+ imageBasedSlider: ImageBasedSlider;
1181
+ lockObject: LockObject;
1182
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1183
+ }
1184
+ export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
1185
+ constructor(props: IImageBasedSliderPropertyGridComponentProps);
1186
+
1187
+ }
1188
+ export {};
1189
+
1190
+ }
1191
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/gridPropertyGridComponent" {
1192
+ import * as React from "react";
1193
+ import { Observable } from "@babylonjs/core/Misc/observable";
1194
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1195
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1196
+ import { Grid } from "@babylonjs/gui/2D/controls/grid";
1197
+ interface IGridPropertyGridComponentProps {
1198
+ grid: Grid;
1199
+ lockObject: LockObject;
1200
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1201
+ }
1202
+ export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
1203
+ constructor(props: IGridPropertyGridComponentProps);
1204
+
1205
+
1206
+
1207
+ }
1208
+ export {};
1209
+
1210
+ }
1211
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/ellipsePropertyGridComponent" {
1212
+ import * as React from "react";
1213
+ import { Observable } from "@babylonjs/core/Misc/observable";
1214
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1215
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1216
+ import { Ellipse } from "@babylonjs/gui/2D/controls/ellipse";
1217
+ interface IEllipsePropertyGridComponentProps {
1218
+ ellipse: Ellipse;
1219
+ lockObject: LockObject;
1220
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1221
+ }
1222
+ export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
1223
+ constructor(props: IEllipsePropertyGridComponentProps);
1224
+
1225
+ }
1226
+ export {};
1227
+
1228
+ }
1229
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/controlPropertyGridComponent" {
1230
+ import * as React from "react";
1231
+ import { Observable } from "@babylonjs/core/Misc/observable";
1232
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1233
+ import { Control } from "@babylonjs/gui/2D/controls/control";
1234
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1235
+ interface IControlPropertyGridComponentProps {
1236
+ control: Control;
1237
+ lockObject: LockObject;
1238
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1239
+ }
1240
+ export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
1241
+ constructor(props: IControlPropertyGridComponentProps);
1242
+
1243
+ }
1244
+ export {};
1245
+
1246
+ }
1247
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/commonControlPropertyGridComponent" {
1248
+ import * as React from "react";
1249
+ import { Observable } from "@babylonjs/core/Misc/observable";
1250
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1251
+ import { Control } from "@babylonjs/gui/2D/controls/control";
1252
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1253
+ interface ICommonControlPropertyGridComponentProps {
1254
+ controls?: Control[];
1255
+ control?: Control;
1256
+ lockObject: LockObject;
1257
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1258
+ }
1259
+ export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
1260
+ constructor(props: ICommonControlPropertyGridComponentProps);
1261
+
1262
+
1263
+ }
1264
+ export {};
1265
+
1266
+ }
1267
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/colorPickerPropertyGridComponent" {
1268
+ import * as React from "react";
1269
+ import { Observable } from "@babylonjs/core/Misc/observable";
1270
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1271
+ import { ColorPicker } from "@babylonjs/gui/2D/controls/colorpicker";
1272
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1273
+ interface IColorPickerPropertyGridComponentProps {
1274
+ colorPicker: ColorPicker;
1275
+ lockObject: LockObject;
1276
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1277
+ }
1278
+ export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
1279
+ constructor(props: IColorPickerPropertyGridComponentProps);
1280
+
1281
+ }
1282
+ export {};
1283
+
1284
+ }
1285
+ declare module "@babylonjs/node-render-graph-editor/tabs/propertyGrids/gui/checkboxPropertyGridComponent" {
1286
+ import * as React from "react";
1287
+ import { Observable } from "@babylonjs/core/Misc/observable";
1288
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
1289
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
1290
+ import { Checkbox } from "@babylonjs/gui/2D/controls/checkbox";
1291
+ interface ICheckboxPropertyGridComponentProps {
1292
+ checkbox: Checkbox;
1293
+ lockObject: LockObject;
1294
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1295
+ }
1296
+ export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
1297
+ constructor(props: ICheckboxPropertyGridComponentProps);
1298
+
1299
+ }
1300
+ export {};
1301
+
1302
+ }
1303
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/typeLedger" {
1304
+ import { INodeContainer } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeContainer";
1305
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
1306
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1307
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
1308
+ export class TypeLedger {
1309
+ static PortDataBuilder: (port: NodePort, nodeContainer: INodeContainer) => IPortData;
1310
+ static NodeDataBuilder: (data: any, nodeContainer: INodeContainer) => INodeData;
1311
+ }
1312
+
1313
+ }
1314
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/tools" {
1315
+ import { GraphCanvasComponent } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphCanvas";
1316
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1317
+ import { NodeLink } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodeLink";
1318
+ import { FramePortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/types/framePortData";
1319
+ export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
1320
+ export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
1321
+
1322
+ }
1323
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager" {
1324
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector";
1325
+ import { Observable } from "@babylonjs/core/Misc/observable";
1326
+ import { Nullable } from "@babylonjs/core/types";
1327
+ import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
1328
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
1329
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1330
+ import { INodeContainer } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeContainer";
1331
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
1332
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1333
+ import { ISelectionChangedOptions } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/selectionChangedOptions";
1334
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
1335
+ import { HistoryStack } from "@babylonjs/node-render-graph-editor/historyStack";
1336
+ export class StateManager {
1337
+ data: any;
1338
+ hostDocument: Document;
1339
+ lockObject: any;
1340
+ modalIsDisplayed: boolean;
1341
+ historyStack: HistoryStack;
1342
+ onSearchBoxRequiredObservable: Observable<{
1343
+ x: number;
1344
+ y: number;
1345
+ }>;
1346
+ onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
1347
+ onFrameCreatedObservable: Observable<GraphFrame>;
1348
+ onUpdateRequiredObservable: Observable<any>;
1349
+ onGraphNodeRemovalObservable: Observable<GraphNode>;
1350
+ onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
1351
+ onCandidateLinkMoved: Observable<Nullable<Vector2>>;
1352
+ onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
1353
+ onNewNodeCreatedObservable: Observable<GraphNode>;
1354
+ onRebuildRequiredObservable: Observable<void>;
1355
+ onNodeMovedObservable: Observable<GraphNode>;
1356
+ onErrorMessageDialogRequiredObservable: Observable<string>;
1357
+ onExposePortOnFrameObservable: Observable<GraphNode>;
1358
+ onGridSizeChanged: Observable<void>;
1359
+ onNewBlockRequiredObservable: Observable<{
1360
+ type: string;
1361
+ targetX: number;
1362
+ targetY: number;
1363
+ needRepositioning?: boolean | undefined;
1364
+ smartAdd?: boolean | undefined;
1365
+ }>;
1366
+ onHighlightNodeObservable: Observable<{
1367
+ data: any;
1368
+ active: boolean;
1369
+ }>;
1370
+ exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
1371
+ isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
1372
+ isDebugConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
1373
+ applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement, pip: HTMLDivElement) => void;
1374
+ storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
1375
+ getEditorDataMap: () => {
1376
+ [key: number]: number;
1377
+ };
1378
+ createDefaultInputData: (rootData: any, portData: IPortData, nodeContainer: INodeContainer) => Nullable<{
1379
+ data: INodeData;
1380
+ name: string;
1381
+ }>;
1382
+ }
1383
+
1384
+ }
1385
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/searchBox" {
1386
+ import * as React from "react";
1387
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
1388
+ import "@babylonjs/node-render-graph-editor/nodeGraphSystem/searchBox.scss";
1389
+ export interface ISearchBoxComponentProps {
1390
+ stateManager: StateManager;
1391
+ }
1392
+ /**
1393
+ * The search box component.
1394
+ */
1395
+ export class SearchBoxComponent extends React.Component<ISearchBoxComponentProps, {
1396
+ isVisible: boolean;
1397
+ filter: string;
1398
+ selectedIndex: number;
1399
+ }> {
1400
+ private _handleEscKey;
1401
+ private _targetX;
1402
+ private _targetY;
1403
+ private _nodes;
1404
+ constructor(props: ISearchBoxComponentProps);
1405
+ hide(): void;
1406
+ onFilterChange(evt: React.ChangeEvent<HTMLInputElement>): void;
1407
+ onNewNodeRequested(name: string): void;
1408
+ onKeyDown(evt: React.KeyboardEvent): void;
1409
+
1410
+ }
1411
+
1412
+ }
1413
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/propertyLedger" {
1414
+ import { ComponentClass } from "react";
1415
+ import { IPropertyComponentProps } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/propertyComponentProps";
1416
+ export class PropertyLedger {
1417
+ static DefaultControl: ComponentClass<IPropertyComponentProps>;
1418
+ static RegisteredControls: {
1419
+ [key: string]: ComponentClass<IPropertyComponentProps>;
1420
+ };
1421
+ }
1422
+
1423
+ }
1424
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort" {
1425
+ import { Nullable } from "@babylonjs/core/types";
1426
+ import { Observer } from "@babylonjs/core/Misc/observable";
1427
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector";
1428
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1429
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
1430
+ import { ISelectionChangedOptions } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/selectionChangedOptions";
1431
+ import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
1432
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
1433
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1434
+ export class NodePort {
1435
+ portData: IPortData;
1436
+ node: GraphNode;
1437
+ protected _element: HTMLDivElement;
1438
+ protected _img: HTMLImageElement;
1439
+ protected _pip: HTMLDivElement;
1440
+ protected _stateManager: StateManager;
1441
+ protected _portLabelElement: Element;
1442
+ protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
1443
+ protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
1444
+ protected _exposedOnFrame: boolean;
1445
+ delegatedPort: Nullable<FrameNodePort>;
1446
+ get element(): HTMLDivElement;
1447
+ get portName(): string;
1448
+ set portName(newName: string);
1449
+ get disabled(): boolean;
1450
+ hasLabel(): boolean;
1451
+ get exposedOnFrame(): boolean;
1452
+ set exposedOnFrame(value: boolean);
1453
+ get exposedPortPosition(): number;
1454
+ set exposedPortPosition(value: number);
1455
+ private _isConnectedToNodeOutsideOfFrame;
1456
+ refresh(): void;
1457
+ constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager);
1458
+ dispose(): void;
1459
+ static CreatePortElement(portData: IPortData, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, stateManager: StateManager): NodePort;
1460
+ }
1461
+
1462
+ }
1463
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodeLink" {
1464
+ import { Observable } from "@babylonjs/core/Misc/observable";
1465
+ import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
1466
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
1467
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1468
+ import { GraphCanvasComponent } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphCanvas";
1469
+ export class NodeLink {
1470
+ private _graphCanvas;
1471
+ private _portA;
1472
+ private _portB?;
1473
+ private _nodeA;
1474
+ private _nodeB?;
1475
+ private _path;
1476
+ private _selectionPath;
1477
+ private _onSelectionChangedObserver;
1478
+ private _isVisible;
1479
+ private _isTargetCandidate;
1480
+ onDisposedObservable: Observable<NodeLink>;
1481
+ get isTargetCandidate(): boolean;
1482
+ set isTargetCandidate(value: boolean);
1483
+ get isVisible(): boolean;
1484
+ set isVisible(value: boolean);
1485
+ get portA(): FrameNodePort | NodePort;
1486
+ get portB(): FrameNodePort | NodePort | undefined;
1487
+ get nodeA(): GraphNode;
1488
+ get nodeB(): GraphNode | undefined;
1489
+ intersectsWith(rect: DOMRect): boolean;
1490
+ update(endX?: number, endY?: number, straight?: boolean): void;
1491
+ get path(): SVGPathElement;
1492
+ get selectionPath(): SVGPathElement;
1493
+ constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
1494
+ onClick(evt: MouseEvent): void;
1495
+ dispose(notify?: boolean): void;
1496
+ }
1497
+
1498
+ }
1499
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodeLedger" {
1500
+ export class NodeLedger {
1501
+ static RegisteredNodeNames: string[];
1502
+ static NameFormatter: (name: string) => string;
1503
+ }
1504
+
1505
+ }
1506
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode" {
1507
+ /// <reference types="react" />
1508
+ import { Nullable } from "@babylonjs/core/types";
1509
+ import { GraphCanvasComponent } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphCanvas";
1510
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
1511
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
1512
+ import { NodeLink } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodeLink";
1513
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
1514
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
1515
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1516
+ export class GraphNode {
1517
+ content: INodeData;
1518
+ private _visual;
1519
+ private _headerContainer;
1520
+ private _headerIcon;
1521
+ private _headerIconImg;
1522
+ private _header;
1523
+ private _connections;
1524
+ private _inputsContainer;
1525
+ private _outputsContainer;
1526
+ private _content;
1527
+ private _comments;
1528
+ private _executionTime;
1529
+ private _selectionBorder;
1530
+ private _inputPorts;
1531
+ private _outputPorts;
1532
+ private _links;
1533
+ private _x;
1534
+ private _y;
1535
+ private _gridAlignedX;
1536
+ private _gridAlignedY;
1537
+ private _mouseStartPointX;
1538
+ private _mouseStartPointY;
1539
+ private _stateManager;
1540
+ private _onSelectionChangedObserver;
1541
+ private _onSelectionBoxMovedObserver;
1542
+ private _onFrameCreatedObserver;
1543
+ private _onUpdateRequiredObserver;
1544
+ private _onHighlightNodeObserver;
1545
+ private _ownerCanvas;
1546
+ private _isSelected;
1547
+ private _displayManager;
1548
+ private _isVisible;
1549
+ private _enclosingFrameId;
1550
+ addClassToVisual(className: string): void;
1551
+ removeClassFromVisual(className: string): void;
1552
+ get isVisible(): boolean;
1553
+ set isVisible(value: boolean);
1554
+ private _upateNodePortNames;
1555
+ get outputPorts(): NodePort[];
1556
+ get inputPorts(): NodePort[];
1557
+ get links(): NodeLink[];
1558
+ get gridAlignedX(): number;
1559
+ get gridAlignedY(): number;
1560
+ get x(): number;
1561
+ set x(value: number);
1562
+ get y(): number;
1563
+ set y(value: number);
1564
+ get width(): number;
1565
+ get height(): number;
1566
+ get id(): number;
1567
+ get name(): string;
1568
+ get isSelected(): boolean;
1569
+ get enclosingFrameId(): number;
1570
+ set enclosingFrameId(value: number);
1571
+ set isSelected(value: boolean);
1572
+ setIsSelected(value: boolean, marqueeSelection: boolean): void;
1573
+ get rootElement(): HTMLDivElement;
1574
+ constructor(content: INodeData, stateManager: StateManager);
1575
+ isOverlappingFrame(frame: GraphFrame): boolean;
1576
+ getPortForPortData(portData: IPortData): NodePort | null;
1577
+ getPortDataForPortDataContent(data: any): IPortData | null;
1578
+ getLinksForPortDataContent(data: any): NodeLink[];
1579
+ getLinksForPortData(portData: IPortData): NodeLink[];
1580
+ private _refreshFrames;
1581
+ _refreshLinks(): void;
1582
+ refresh(): void;
1583
+ private _onDown;
1584
+ cleanAccumulation(useCeil?: boolean): void;
1585
+ private _onUp;
1586
+ private _onMove;
1587
+ renderProperties(): Nullable<JSX.Element>;
1588
+ appendVisual(root: HTMLDivElement, owner: GraphCanvasComponent): void;
1589
+ dispose(): void;
1590
+ }
1591
+
1592
+ }
1593
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame" {
1594
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1595
+ import { GraphCanvasComponent } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphCanvas";
1596
+ import { Nullable } from "@babylonjs/core/types";
1597
+ import { Observable } from "@babylonjs/core/Misc/observable";
1598
+ import { Color3 } from "@babylonjs/core/Maths/math.color";
1599
+ import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
1600
+ import { IFrameData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeLocationInfo";
1601
+ export enum FramePortPosition {
1602
+ Top = 0,
1603
+ Middle = 1,
1604
+ Bottom = 2
1605
+ }
1606
+ export class GraphFrame {
1607
+ private readonly _collapsedWidth;
1608
+ private static _FrameCounter;
1609
+ private static _FramePortCounter;
1610
+ private _name;
1611
+ private _color;
1612
+ private _x;
1613
+ private _y;
1614
+ private _gridAlignedX;
1615
+ private _gridAlignedY;
1616
+ private _width;
1617
+ private _height;
1618
+ element: HTMLDivElement;
1619
+ private _borderElement;
1620
+ private _headerElement;
1621
+ private _headerTextElement;
1622
+ private _headerCollapseElement;
1623
+ private _headerCloseElement;
1624
+ private _headerFocusElement;
1625
+ private _commentsElement;
1626
+ private _portContainer;
1627
+ private _outputPortContainer;
1628
+ private _inputPortContainer;
1629
+ private _nodes;
1630
+ private _ownerCanvas;
1631
+ private _mouseStartPointX;
1632
+ private _mouseStartPointY;
1633
+ private _onSelectionChangedObserver;
1634
+ private _onGraphNodeRemovalObserver;
1635
+ private _onExposePortOnFrameObserver;
1636
+ private _onNodeLinkDisposedObservers;
1637
+ private _isCollapsed;
1638
+ private _frameInPorts;
1639
+ private _frameOutPorts;
1640
+ private _controlledPorts;
1641
+ private _exposedInPorts;
1642
+ private _exposedOutPorts;
1643
+ private _id;
1644
+ private _comments;
1645
+ private _frameIsResizing;
1646
+ private _resizingDirection;
1647
+ private _minFrameHeight;
1648
+ private _minFrameWidth;
1649
+ private _mouseXLimit;
1650
+ onExpandStateChanged: Observable<GraphFrame>;
1651
+ private readonly _closeSVG;
1652
+ private readonly _expandSVG;
1653
+ private readonly _collapseSVG;
1654
+ private readonly _focusSVG;
1655
+ get id(): number;
1656
+ get isCollapsed(): boolean;
1657
+ private _createInputPort;
1658
+ private _markFramePortPositions;
1659
+ private _createFramePorts;
1660
+ private _removePortFromExposedWithNode;
1661
+ private _removePortFromExposedWithLink;
1662
+ private _createInputPorts;
1663
+ private _createOutputPorts;
1664
+ redrawFramePorts(): void;
1665
+ set isCollapsed(value: boolean);
1666
+ get nodes(): GraphNode[];
1667
+ get ports(): FrameNodePort[];
1668
+ get name(): string;
1669
+ set name(value: string);
1670
+ get color(): Color3;
1671
+ set color(value: Color3);
1672
+ get x(): number;
1673
+ set x(value: number);
1674
+ get y(): number;
1675
+ set y(value: number);
1676
+ get width(): number;
1677
+ set width(value: number);
1678
+ get height(): number;
1679
+ set height(value: number);
1680
+ get comments(): string;
1681
+ set comments(comments: string);
1682
+ constructor(candidate: Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
1683
+ private _isFocused;
1684
+ /**
1685
+ * Enter/leave focus mode
1686
+ */
1687
+ switchFocusMode(): void;
1688
+ refresh(): void;
1689
+ addNode(node: GraphNode): void;
1690
+ removeNode(node: GraphNode): void;
1691
+ syncNode(node: GraphNode): void;
1692
+ cleanAccumulation(): void;
1693
+ private _onDown;
1694
+ move(newX: number, newY: number, align?: boolean): void;
1695
+ private _onUp;
1696
+ _moveFrame(offsetX: number, offsetY: number): void;
1697
+ private _onMove;
1698
+ moveFramePortUp(nodePort: FrameNodePort): void;
1699
+ private _movePortUp;
1700
+ moveFramePortDown(nodePort: FrameNodePort): void;
1701
+ private _movePortDown;
1702
+ private _initResizing;
1703
+ private _cleanUpResizing;
1704
+ private _updateMinHeightWithComments;
1705
+ private _isResizingTop;
1706
+ private _isResizingRight;
1707
+ private _isResizingBottom;
1708
+ private _isResizingLeft;
1709
+ private _onRightHandlePointerDown;
1710
+ private _onRightHandlePointerMove;
1711
+ private _moveRightHandle;
1712
+ private _onRightHandlePointerUp;
1713
+ private _onBottomHandlePointerDown;
1714
+ private _onBottomHandlePointerMove;
1715
+ private _moveBottomHandle;
1716
+ private _onBottomHandlePointerUp;
1717
+ private _onLeftHandlePointerDown;
1718
+ private _onLeftHandlePointerMove;
1719
+ private _moveLeftHandle;
1720
+ private _onLeftHandlePointerUp;
1721
+ private _onTopHandlePointerDown;
1722
+ private _onTopHandlePointerMove;
1723
+ private _moveTopHandle;
1724
+ private _onTopHandlePointerUp;
1725
+ private _onTopRightHandlePointerDown;
1726
+ private _onTopRightHandlePointerMove;
1727
+ private _moveTopRightHandle;
1728
+ private _onTopRightHandlePointerUp;
1729
+ private _onBottomRightHandlePointerDown;
1730
+ private _onBottomRightHandlePointerMove;
1731
+ private _moveBottomRightHandle;
1732
+ private _onBottomRightHandlePointerUp;
1733
+ private _onBottomLeftHandlePointerDown;
1734
+ private _onBottomLeftHandlePointerMove;
1735
+ private _moveBottomLeftHandle;
1736
+ private _onBottomLeftHandlePointerUp;
1737
+ private _onTopLeftHandlePointerDown;
1738
+ private _onTopLeftHandlePointerMove;
1739
+ private _moveTopLeftHandle;
1740
+ private _onTopLeftHandlePointerUp;
1741
+ private _expandLeft;
1742
+ private _expandTop;
1743
+ private _expandRight;
1744
+ private _expandBottom;
1745
+ dispose(): void;
1746
+ private _serializePortData;
1747
+ serialize(saveCollapsedState: boolean): IFrameData;
1748
+ export(): void;
1749
+ adjustPorts(): void;
1750
+ static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
1751
+ [key: number]: number;
1752
+ }): GraphFrame;
1753
+ }
1754
+
1755
+ }
1756
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphCanvas" {
1757
+ import * as React from "react";
1758
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1759
+ import { Nullable } from "@babylonjs/core/types";
1760
+ import { NodeLink } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodeLink";
1761
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
1762
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
1763
+ import { IEditorData, IFrameData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeLocationInfo";
1764
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
1765
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
1766
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1767
+ import { INodeContainer } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeContainer";
1768
+ export interface IGraphCanvasComponentProps {
1769
+ stateManager: StateManager;
1770
+ onEmitNewNode: (nodeData: INodeData) => GraphNode;
1771
+ }
1772
+ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentProps> implements INodeContainer {
1773
+ static readonly NodeWidth: number;
1774
+ private readonly _minZoom;
1775
+ private readonly _maxZoom;
1776
+ private _hostCanvasRef;
1777
+ private _hostCanvas;
1778
+ private _graphCanvasRef;
1779
+ private _graphCanvas;
1780
+ private _selectionContainerRef;
1781
+ private _selectionContainer;
1782
+ private _frameContainerRef;
1783
+ private _frameContainer;
1784
+ private _svgCanvasRef;
1785
+ private _svgCanvas;
1786
+ private _rootContainerRef;
1787
+ private _rootContainer;
1788
+ private _nodes;
1789
+ private _links;
1790
+ private _mouseStartPointX;
1791
+ private _mouseStartPointY;
1792
+ private _dropPointX;
1793
+ private _dropPointY;
1794
+ private _selectionStartX;
1795
+ private _selectionStartY;
1796
+ private _candidateLinkedHasMoved;
1797
+ private _x;
1798
+ private _y;
1799
+ private _zoom;
1800
+ private _selectedNodes;
1801
+ private _selectedLink;
1802
+ private _selectedPort;
1803
+ private _candidateLink;
1804
+ private _candidatePort;
1805
+ private _gridSize;
1806
+ private _selectionBox;
1807
+ private _selectedFrames;
1808
+ private _frameCandidate;
1809
+ private _frames;
1810
+ private _nodeDataContentList;
1811
+ private _altKeyIsPressed;
1812
+ private _multiKeyIsPressed;
1813
+ private _oldY;
1814
+ _frameIsMoving: boolean;
1815
+ _isLoading: boolean;
1816
+ _targetLinkCandidate: Nullable<NodeLink>;
1817
+ private _copiedNodes;
1818
+ private _copiedFrames;
1819
+ get gridSize(): number;
1820
+ set gridSize(value: number);
1821
+ get stateManager(): StateManager;
1822
+ get nodes(): GraphNode[];
1823
+ get links(): NodeLink[];
1824
+ get frames(): GraphFrame[];
1825
+ get zoom(): number;
1826
+ set zoom(value: number);
1827
+ get x(): number;
1828
+ set x(value: number);
1829
+ get y(): number;
1830
+ set y(value: number);
1831
+ get selectedNodes(): GraphNode[];
1832
+ get selectedLink(): Nullable<NodeLink>;
1833
+ get selectedFrames(): GraphFrame[];
1834
+ get selectedPort(): Nullable<NodePort>;
1835
+ get canvasContainer(): HTMLDivElement;
1836
+ get hostCanvas(): HTMLDivElement;
1837
+ get svgCanvas(): HTMLElement;
1838
+ get selectionContainer(): HTMLDivElement;
1839
+ get frameContainer(): HTMLDivElement;
1840
+ private _selectedFrameAndNodesConflict;
1841
+ constructor(props: IGraphCanvasComponentProps);
1842
+ populateConnectedEntriesBeforeRemoval(item: GraphNode, items: GraphNode[], inputs: Nullable<IPortData>[], outputs: Nullable<IPortData>[]): void;
1843
+ automaticRewire(inputs: Nullable<IPortData>[], outputs: Nullable<IPortData>[], firstOnly?: boolean): void;
1844
+ smartAddOverLink(node: GraphNode, link: NodeLink): void;
1845
+ smartAddOverNode(node: GraphNode, source: GraphNode): void;
1846
+ deleteSelection(onRemove: (nodeData: INodeData) => void, autoReconnect?: boolean): void;
1847
+ handleKeyDown(evt: KeyboardEvent, onRemove: (nodeData: INodeData) => void, mouseLocationX: number, mouseLocationY: number, dataGenerator: (nodeData: INodeData) => any, rootElement: HTMLDivElement): void;
1848
+ pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, dataGenerator: (nodeData: INodeData) => any, selectNew?: boolean): GraphNode[];
1849
+ reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
1850
+ getCachedData(): any[];
1851
+ removeDataFromCache(data: any): void;
1852
+ createNodeFromObject(nodeData: INodeData, onNodeCreated: (data: any) => void, recursion?: boolean): GraphNode;
1853
+ getGridPosition(position: number, useCeil?: boolean): number;
1854
+ getGridPositionCeil(position: number): number;
1855
+ updateTransform(): void;
1856
+ onKeyUp(): void;
1857
+ findNodeFromData(data: any): GraphNode;
1858
+ reset(): void;
1859
+ connectPorts(pointA: IPortData, pointB: IPortData): void;
1860
+ removeLink(link: NodeLink): void;
1861
+ appendNode(nodeData: INodeData): GraphNode;
1862
+ distributeGraph(): void;
1863
+ componentDidMount(): void;
1864
+ onMove(evt: React.PointerEvent): void;
1865
+ onDown(evt: React.PointerEvent<HTMLElement>): void;
1866
+ onUp(evt: React.PointerEvent): void;
1867
+ onWheel(evt: React.WheelEvent): void;
1868
+ zoomToFit(): void;
1869
+ processCandidatePort(): void;
1870
+ connectNodes(nodeA: GraphNode, pointA: IPortData, nodeB: GraphNode, pointB: IPortData): void;
1871
+ drop(newNode: GraphNode, targetX: number, targetY: number, offsetX: number, offsetY: number): void;
1872
+ processEditorData(editorData: IEditorData): void;
1873
+ reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
1874
+ addFrame(frameData: IFrameData): void;
1875
+
1876
+ }
1877
+
1878
+ }
1879
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort" {
1880
+ import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
1881
+ import { Observable } from "@babylonjs/core/Misc/observable";
1882
+ import { Nullable } from "@babylonjs/core/types";
1883
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1884
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
1885
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1886
+ import { FramePortPosition } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
1887
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
1888
+ export class FrameNodePort extends NodePort {
1889
+ portData: IPortData;
1890
+ node: GraphNode;
1891
+ private _parentFrameId;
1892
+ private _isInput;
1893
+ private _framePortPosition;
1894
+ private _framePortId;
1895
+ private _onFramePortPositionChangedObservable;
1896
+ get parentFrameId(): number;
1897
+ get onFramePortPositionChangedObservable(): Observable<FrameNodePort>;
1898
+ get isInput(): boolean;
1899
+ get framePortId(): number;
1900
+ get framePortPosition(): FramePortPosition;
1901
+ set framePortPosition(position: FramePortPosition);
1902
+ constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager, isInput: boolean, framePortId: number, parentFrameId: number);
1903
+ static CreateFrameNodePortElement(portData: IPortData, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, stateManager: StateManager, isInput: boolean, framePortId: number, parentFrameId: number): FrameNodePort;
1904
+ }
1905
+
1906
+ }
1907
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/displayLedger" {
1908
+ export class DisplayLedger {
1909
+ static RegisteredControls: {
1910
+ [key: string]: any;
1911
+ };
1912
+ }
1913
+
1914
+ }
1915
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/types/framePortData" {
1916
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
1917
+ import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
1918
+ export type FramePortData = {
1919
+ frame: GraphFrame;
1920
+ port: FrameNodePort;
1921
+ };
1922
+
1923
+ }
1924
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/selectionChangedOptions" {
1925
+ import { Nullable } from "@babylonjs/core/types";
1926
+ import { GraphFrame } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphFrame";
1927
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1928
+ import { NodeLink } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodeLink";
1929
+ import { NodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/nodePort";
1930
+ import { FramePortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/types/framePortData";
1931
+ export interface ISelectionChangedOptions {
1932
+ selection: Nullable<GraphNode | NodeLink | GraphFrame | NodePort | FramePortData>;
1933
+ forceKeepSelection?: boolean;
1934
+ marqueeSelection?: boolean;
1935
+ }
1936
+
1937
+ }
1938
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/propertyComponentProps" {
1939
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
1940
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
1941
+ export interface IPropertyComponentProps {
1942
+ stateManager: StateManager;
1943
+ nodeData: INodeData;
1944
+ }
1945
+
1946
+ }
1947
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData" {
1948
+ import { Nullable } from "@babylonjs/core/types";
1949
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
1950
+ export enum PortDataDirection {
1951
+ /** Input */
1952
+ Input = 0,
1953
+ /** Output */
1954
+ Output = 1
1955
+ }
1956
+ export interface IPortData {
1957
+ data: any;
1958
+ name: string;
1959
+ internalName: string;
1960
+ isExposedOnFrame: boolean;
1961
+ exposedPortPosition: number;
1962
+ isConnected: boolean;
1963
+ direction: PortDataDirection;
1964
+ ownerData: any;
1965
+ connectedPort: Nullable<IPortData>;
1966
+ needDualDirectionValidation: boolean;
1967
+ hasEndpoints: boolean;
1968
+ endpoints: Nullable<IPortData[]>;
1969
+ updateDisplayName: (newName: string) => void;
1970
+ canConnectTo: (port: IPortData) => boolean;
1971
+ connectTo: (port: IPortData) => void;
1972
+ disconnectFrom: (port: IPortData) => void;
1973
+ checkCompatibilityState(port: IPortData): number;
1974
+ getCompatibilityIssueMessage(issue: number, targetNode: GraphNode, targetPort: IPortData): string;
1975
+ }
1976
+
1977
+ }
1978
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeLocationInfo" {
1979
+ export interface INodeLocationInfo {
1980
+ blockId: number;
1981
+ x: number;
1982
+ y: number;
1983
+ }
1984
+ export interface IFrameData {
1985
+ x: number;
1986
+ y: number;
1987
+ width: number;
1988
+ height: number;
1989
+ color: number[];
1990
+ name: string;
1991
+ isCollapsed: boolean;
1992
+ blocks: number[];
1993
+ comments: string;
1994
+ }
1995
+ export interface IEditorData {
1996
+ locations: INodeLocationInfo[];
1997
+ x: number;
1998
+ y: number;
1999
+ zoom: number;
2000
+ frames?: IFrameData[];
2001
+ map?: {
2002
+ [key: number]: number;
2003
+ };
2004
+ }
2005
+
2006
+ }
2007
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData" {
2008
+ import { Nullable } from "@babylonjs/core/types";
2009
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
2010
+ export interface INodeData {
2011
+ data: any;
2012
+ name: string;
2013
+ uniqueId: number;
2014
+ isInput: boolean;
2015
+ comments: string;
2016
+ executionTime?: number;
2017
+ refreshCallback?: () => void;
2018
+ prepareHeaderIcon: (iconDiv: HTMLDivElement, img: HTMLImageElement) => void;
2019
+ getClassName: () => string;
2020
+ dispose: () => void;
2021
+ getPortByName: (name: string) => Nullable<IPortData>;
2022
+ inputs: IPortData[];
2023
+ outputs: IPortData[];
2024
+ invisibleEndpoints?: Nullable<any[]>;
2025
+ isConnectedToOutput?: () => boolean;
2026
+ }
2027
+
2028
+ }
2029
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeContainer" {
2030
+ import { GraphNode } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/graphNode";
2031
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
2032
+ export interface INodeContainer {
2033
+ nodes: GraphNode[];
2034
+ appendNode(data: INodeData): GraphNode;
2035
+ }
2036
+
2037
+ }
2038
+ declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager" {
2039
+ import { Nullable } from "@babylonjs/core/types";
2040
+ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
2041
+ import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
2042
+ import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
2043
+ export interface VisualContentDescription {
2044
+ [key: string]: HTMLElement;
2045
+ }
2046
+ export interface IDisplayManager {
2047
+ getHeaderClass(data: INodeData): string;
2048
+ shouldDisplayPortLabels(data: IPortData): boolean;
2049
+ updatePreviewContent(data: INodeData, contentArea: HTMLDivElement): void;
2050
+ updateFullVisualContent?(data: INodeData, visualContent: VisualContentDescription): void;
2051
+ getBackgroundColor(data: INodeData): string;
2052
+ getHeaderText(data: INodeData): string;
2053
+ onSelectionChanged?(data: INodeData, selectedData: Nullable<INodeData>, manager: StateManager): void;
2054
+ onDispose?(nodeData: INodeData, manager: StateManager): void;
2055
+ }
2056
+
2057
+ }
2058
+ declare module "@babylonjs/node-render-graph-editor/lines/vector4LineComponent" {
2059
+ import * as React from "react";
2060
+ import { Vector4 } from "@babylonjs/core/Maths/math.vector";
2061
+ import { Observable } from "@babylonjs/core/Misc/observable";
2062
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2063
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2064
+ interface IVector4LineComponentProps {
2065
+ label: string;
2066
+ target?: any;
2067
+ propertyName?: string;
2068
+ step?: number;
2069
+ onChange?: (newvalue: Vector4) => void;
2070
+ useEuler?: boolean;
2071
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2072
+ icon?: string;
2073
+ iconLabel?: string;
2074
+ value?: Vector4;
2075
+ lockObject: LockObject;
2076
+ }
2077
+ export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
2078
+ isExpanded: boolean;
2079
+ value: Vector4;
2080
+ }> {
2081
+ static defaultProps: {
2082
+ step: number;
2083
+ };
2084
+ private _localChange;
2085
+ constructor(props: IVector4LineComponentProps);
2086
+ getCurrentValue(): any;
2087
+ shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
2088
+ isExpanded: boolean;
2089
+ value: Vector4;
2090
+ }): boolean;
2091
+ switchExpandState(): void;
2092
+ raiseOnPropertyChanged(previousValue: Vector4): void;
2093
+ updateVector4(): void;
2094
+ updateStateX(value: number): void;
2095
+ updateStateY(value: number): void;
2096
+ updateStateZ(value: number): void;
2097
+ updateStateW(value: number): void;
2098
+
2099
+ }
2100
+ export {};
2101
+
2102
+ }
2103
+ declare module "@babylonjs/node-render-graph-editor/lines/vector3LineComponent" {
2104
+ import * as React from "react";
2105
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector";
2106
+ import { Observable } from "@babylonjs/core/Misc/observable";
2107
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2108
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2109
+ interface IVector3LineComponentProps {
2110
+ label: string;
2111
+ target: any;
2112
+ propertyName: string;
2113
+ step?: number;
2114
+ onChange?: (newvalue: Vector3) => void;
2115
+ useEuler?: boolean;
2116
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2117
+ noSlider?: boolean;
2118
+ icon?: string;
2119
+ iconLabel?: string;
2120
+ lockObject: LockObject;
2121
+ }
2122
+ export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
2123
+ isExpanded: boolean;
2124
+ value: Vector3;
2125
+ }> {
2126
+ static defaultProps: {
2127
+ step: number;
2128
+ };
2129
+ private _localChange;
2130
+ constructor(props: IVector3LineComponentProps);
2131
+ getCurrentValue(): any;
2132
+ shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
2133
+ isExpanded: boolean;
2134
+ value: Vector3;
2135
+ }): boolean;
2136
+ switchExpandState(): void;
2137
+ raiseOnPropertyChanged(previousValue: Vector3): void;
2138
+ updateVector3(): void;
2139
+ updateStateX(value: number): void;
2140
+ updateStateY(value: number): void;
2141
+ updateStateZ(value: number): void;
2142
+ onCopyClick(): void;
2143
+
2144
+ }
2145
+ export {};
2146
+
2147
+ }
2148
+ declare module "@babylonjs/node-render-graph-editor/lines/vector2LineComponent" {
2149
+ import * as React from "react";
2150
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector";
2151
+ import { Observable } from "@babylonjs/core/Misc/observable";
2152
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2153
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2154
+ interface IVector2LineComponentProps {
2155
+ label: string;
2156
+ target: any;
2157
+ propertyName: string;
2158
+ step?: number;
2159
+ onChange?: (newvalue: Vector2) => void;
2160
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2161
+ icon?: string;
2162
+ iconLabel?: string;
2163
+ lockObject: LockObject;
2164
+ }
2165
+ export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
2166
+ isExpanded: boolean;
2167
+ value: Vector2;
2168
+ }> {
2169
+ static defaultProps: {
2170
+ step: number;
2171
+ };
2172
+ private _localChange;
2173
+ constructor(props: IVector2LineComponentProps);
2174
+ shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
2175
+ isExpanded: boolean;
2176
+ value: Vector2;
2177
+ }): boolean;
2178
+ switchExpandState(): void;
2179
+ raiseOnPropertyChanged(previousValue: Vector2): void;
2180
+ updateStateX(value: number): void;
2181
+ updateStateY(value: number): void;
2182
+
2183
+ }
2184
+ export {};
2185
+
2186
+ }
2187
+ declare module "@babylonjs/node-render-graph-editor/lines/valueLineComponent" {
2188
+ import * as React from "react";
2189
+ interface IValueLineComponentProps {
2190
+ label: string;
2191
+ value: number;
2192
+ color?: string;
2193
+ fractionDigits?: number;
2194
+ units?: string;
2195
+ icon?: string;
2196
+ iconLabel?: string;
2197
+ }
2198
+ export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
2199
+ constructor(props: IValueLineComponentProps);
2200
+
2201
+ }
2202
+ export {};
2203
+
2204
+ }
2205
+ declare module "@babylonjs/node-render-graph-editor/lines/unitButton" {
2206
+ interface IUnitButtonProps {
2207
+ unit: string;
2208
+ locked?: boolean;
2209
+ onClick?: (unit: string) => void;
2210
+ }
2211
+
2212
+ export {};
2213
+
2214
+ }
2215
+ declare module "@babylonjs/node-render-graph-editor/lines/textLineComponent" {
2216
+ import * as React from "react";
2217
+ interface ITextLineComponentProps {
2218
+ label?: string;
2219
+ value?: string;
2220
+ color?: string;
2221
+ underline?: boolean;
2222
+ onLink?: () => void;
2223
+ url?: string;
2224
+ ignoreValue?: boolean;
2225
+ additionalClass?: string;
2226
+ icon?: string;
2227
+ iconLabel?: string;
2228
+ tooltip?: string;
2229
+ }
2230
+ export class TextLineComponent extends React.Component<ITextLineComponentProps> {
2231
+ constructor(props: ITextLineComponentProps);
2232
+ onLink(): void;
2233
+
2234
+
2235
+ }
2236
+ export {};
2237
+
2238
+ }
2239
+ declare module "@babylonjs/node-render-graph-editor/lines/textInputLineComponent" {
2240
+ import * as React from "react";
2241
+ import { Observable } from "@babylonjs/core/Misc/observable";
2242
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2243
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2244
+ export interface ITextInputLineComponentProps {
2245
+ label?: string;
2246
+ lockObject?: LockObject;
2247
+ target?: any;
2248
+ propertyName?: string;
2249
+ value?: string;
2250
+ onChange?: (value: string) => void;
2251
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2252
+ icon?: string;
2253
+ iconLabel?: string;
2254
+ noUnderline?: boolean;
2255
+ numbersOnly?: boolean;
2256
+ delayInput?: boolean;
2257
+ arrows?: boolean;
2258
+ arrowsIncrement?: (amount: number) => void;
2259
+ step?: number;
2260
+ numeric?: boolean;
2261
+ roundValues?: boolean;
2262
+ min?: number;
2263
+ max?: number;
2264
+ placeholder?: string;
2265
+ unit?: React.ReactNode;
2266
+ validator?: (value: string) => boolean;
2267
+ multilines?: boolean;
2268
+ throttlePropertyChangedNotification?: boolean;
2269
+ throttlePropertyChangedNotificationDelay?: number;
2270
+ disabled?: boolean;
2271
+ }
2272
+ export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2273
+ value: string;
2274
+ dragging: boolean;
2275
+ }> {
2276
+ private _localChange;
2277
+ constructor(props: ITextInputLineComponentProps);
2278
+ componentWillUnmount(): void;
2279
+ shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
2280
+ value: string;
2281
+ dragging: boolean;
2282
+ }): boolean;
2283
+ raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2284
+ getCurrentNumericValue(value: string): number;
2285
+ updateValue(value: string, valueToValidate?: string): void;
2286
+ incrementValue(amount: number): void;
2287
+ onKeyDown(event: React.KeyboardEvent): void;
2288
+
2289
+ }
2290
+
2291
+ }
2292
+ declare module "@babylonjs/node-render-graph-editor/lines/targetsProxy" {
2293
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2294
+ import { Observable } from "@babylonjs/core/Misc/observable";
2295
+ export const conflictingValuesPlaceholder = "\u2014";
2296
+ /**
2297
+ *
2298
+ * @param targets a list of selected targets
2299
+ * @param onPropertyChangedObservable
2300
+ * @param getProperty
2301
+ * @returns a proxy object that can be passed as a target into the input
2302
+ */
2303
+ export function makeTargetsProxy<Type>(targets: Type[], onPropertyChangedObservable?: Observable<PropertyChangedEvent>, getProperty?: (target: Type, property: keyof Type) => any): any;
2304
+
2305
+ }
2306
+ declare module "@babylonjs/node-render-graph-editor/lines/sliderLineComponent" {
2307
+ import * as React from "react";
2308
+ import { Observable } from "@babylonjs/core/Misc/observable";
2309
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2310
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2311
+ interface ISliderLineComponentProps {
2312
+ label: string;
2313
+ target?: any;
2314
+ propertyName?: string;
2315
+ minimum: number;
2316
+ maximum: number;
2317
+ step: number;
2318
+ directValue?: number;
2319
+ useEuler?: boolean;
2320
+ onChange?: (value: number) => void;
2321
+ onInput?: (value: number) => void;
2322
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2323
+ decimalCount?: number;
2324
+ margin?: boolean;
2325
+ icon?: string;
2326
+ iconLabel?: string;
2327
+ lockObject: LockObject;
2328
+ unit?: React.ReactNode;
2329
+ allowOverflow?: boolean;
2330
+ }
2331
+ export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
2332
+ value: number;
2333
+ }> {
2334
+ private _localChange;
2335
+ constructor(props: ISliderLineComponentProps);
2336
+ shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
2337
+ value: number;
2338
+ }): boolean;
2339
+ onChange(newValueString: any): void;
2340
+ onInput(newValueString: any): void;
2341
+ prepareDataToRead(value: number): number;
2342
+ onCopyClick(): void;
2343
+
2344
+ }
2345
+ export {};
2346
+
2347
+ }
2348
+ declare module "@babylonjs/node-render-graph-editor/lines/radioLineComponent" {
2349
+ import * as React from "react";
2350
+ import { Observable } from "@babylonjs/core/Misc/observable";
2351
+ interface IRadioButtonLineComponentProps {
2352
+ onSelectionChangedObservable: Observable<RadioButtonLineComponent>;
2353
+ label: string;
2354
+ isSelected: () => boolean;
2355
+ onSelect: () => void;
2356
+ icon?: string;
2357
+ iconLabel?: string;
2358
+ }
2359
+ export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
2360
+ isSelected: boolean;
2361
+ }> {
2362
+ private _onSelectionChangedObserver;
2363
+ constructor(props: IRadioButtonLineComponentProps);
2364
+ componentDidMount(): void;
2365
+ componentWillUnmount(): void;
2366
+ onChange(): void;
2367
+
2368
+ }
2369
+ export {};
2370
+
2371
+ }
2372
+ declare module "@babylonjs/node-render-graph-editor/lines/popup" {
2373
+ export class Popup {
2374
+ static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
2375
+ private static _CopyStyles;
2376
+ }
2377
+
2378
+ }
2379
+ declare module "@babylonjs/node-render-graph-editor/lines/optionsLineComponent" {
2380
+ import * as React from "react";
2381
+ import { Observable } from "@babylonjs/core/Misc/observable";
2382
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2383
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
2384
+ export const Null_Value: number;
2385
+ export interface IOptionsLineProps {
2386
+ label: string;
2387
+ target: any;
2388
+ propertyName: string;
2389
+ options: IInspectableOptions[];
2390
+ noDirectUpdate?: boolean;
2391
+ onSelect?: (value: number | string) => void;
2392
+ extractValue?: (target: any) => number | string;
2393
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2394
+ allowNullValue?: boolean;
2395
+ icon?: string;
2396
+ iconLabel?: string;
2397
+ className?: string;
2398
+ valuesAreStrings?: boolean;
2399
+ defaultIfNull?: number;
2400
+ }
2401
+ export class OptionsLine extends React.Component<IOptionsLineProps, {
2402
+ value: number | string;
2403
+ }> {
2404
+ private _localChange;
2405
+ private _remapValueIn;
2406
+ private _remapValueOut;
2407
+ private _getValue;
2408
+ constructor(props: IOptionsLineProps);
2409
+ shouldComponentUpdate(nextProps: IOptionsLineProps, nextState: {
2410
+ value: number;
2411
+ }): boolean;
2412
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2413
+ setValue(value: string | number): void;
2414
+ updateValue(valueString: string): void;
2415
+ onCopyClick(): void;
2416
+
2417
+ }
2418
+
2419
+ }
2420
+ declare module "@babylonjs/node-render-graph-editor/lines/numericInputComponent" {
2421
+ import * as React from "react";
2422
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2423
+ interface INumericInputProps {
2424
+ label: string;
2425
+ labelTooltip?: string;
2426
+ value: number;
2427
+ step?: number;
2428
+ onChange: (value: number) => void;
2429
+ precision?: number;
2430
+ icon?: string;
2431
+ iconLabel?: string;
2432
+ lockObject: LockObject;
2433
+ }
2434
+ export class NumericInput extends React.Component<INumericInputProps, {
2435
+ value: string;
2436
+ }> {
2437
+ static defaultProps: {
2438
+ step: number;
2439
+ };
2440
+ private _localChange;
2441
+ constructor(props: INumericInputProps);
2442
+ componentWillUnmount(): void;
2443
+ shouldComponentUpdate(nextProps: INumericInputProps, nextState: {
2444
+ value: string;
2445
+ }): boolean;
2446
+ updateValue(valueString: string): void;
2447
+ onBlur(): void;
2448
+ incrementValue(amount: number): void;
2449
+ onKeyDown(evt: React.KeyboardEvent<HTMLInputElement>): void;
2450
+
2451
+ }
2452
+ export {};
2453
+
2454
+ }
2455
+ declare module "@babylonjs/node-render-graph-editor/lines/messageLineComponent" {
2456
+ import * as React from "react";
2457
+
2458
+ interface IMessageLineComponentProps {
2459
+ text: string;
2460
+ color?: string;
2461
+ icon?: any;
2462
+ }
2463
+ export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
2464
+ constructor(props: IMessageLineComponentProps);
2465
+
2466
+ }
2467
+ export {};
2468
+
2469
+ }
2470
+ declare module "@babylonjs/node-render-graph-editor/lines/matrixLineComponent" {
2471
+ import * as React from "react";
2472
+ import { Vector3, Vector4 } from "@babylonjs/core/Maths/math.vector";
2473
+ import { Matrix } from "@babylonjs/core/Maths/math.vector";
2474
+ import { Observable } from "@babylonjs/core/Misc/observable";
2475
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2476
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2477
+ interface IMatrixLineComponentProps {
2478
+ label: string;
2479
+ target: any;
2480
+ propertyName: string;
2481
+ step?: number;
2482
+ onChange?: (newValue: Matrix) => void;
2483
+ onModeChange?: (mode: number) => void;
2484
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2485
+ mode?: number;
2486
+ lockObject: LockObject;
2487
+ }
2488
+ export class MatrixLineComponent extends React.Component<IMatrixLineComponentProps, {
2489
+ value: Matrix;
2490
+ mode: number;
2491
+ angle: number;
2492
+ }> {
2493
+ private _localChange;
2494
+ constructor(props: IMatrixLineComponentProps);
2495
+ shouldComponentUpdate(nextProps: IMatrixLineComponentProps, nextState: {
2496
+ value: Matrix;
2497
+ mode: number;
2498
+ angle: number;
2499
+ }): boolean;
2500
+ raiseOnPropertyChanged(previousValue: Vector3): void;
2501
+ updateMatrix(): void;
2502
+ updateRow(value: Vector4, row: number): void;
2503
+ updateBasedOnMode(value: number): void;
2504
+
2505
+ }
2506
+ export {};
2507
+
2508
+ }
2509
+ declare module "@babylonjs/node-render-graph-editor/lines/linkButtonComponent" {
2510
+ import * as React from "react";
2511
+
2512
+ interface ILinkButtonComponentProps {
2513
+ label: string;
2514
+ buttonLabel: string;
2515
+ url?: string;
2516
+ onClick: () => void;
2517
+ icon?: any;
2518
+ onIconClick?: () => void;
2519
+ }
2520
+ export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
2521
+ constructor(props: ILinkButtonComponentProps);
2522
+ onLink(): void;
2523
+
2524
+ }
2525
+ export {};
2526
+
2527
+ }
2528
+ declare module "@babylonjs/node-render-graph-editor/lines/lineWithFileButtonComponent" {
2529
+ import * as React from "react";
2530
+ interface ILineWithFileButtonComponentProps {
2531
+ title: string;
2532
+ closed?: boolean;
2533
+ multiple?: boolean;
2534
+ label: string;
2535
+ iconImage: any;
2536
+ onIconClick: (file: File) => void;
2537
+ accept: string;
2538
+ uploadName?: string;
2539
+ }
2540
+ export class LineWithFileButtonComponent extends React.Component<ILineWithFileButtonComponentProps, {
2541
+ isExpanded: boolean;
2542
+ }> {
2543
+ private _uploadRef;
2544
+ constructor(props: ILineWithFileButtonComponentProps);
2545
+ onChange(evt: any): void;
2546
+ switchExpandedState(): void;
2547
+
2548
+ }
2549
+ export {};
2550
+
2551
+ }
2552
+ declare module "@babylonjs/node-render-graph-editor/lines/lineContainerComponent" {
2553
+ import * as React from "react";
2554
+ import { ISelectedLineContainer } from "@babylonjs/node-render-graph-editor/lines/iSelectedLineContainer";
2555
+ interface ILineContainerComponentProps {
2556
+ selection?: ISelectedLineContainer;
2557
+ title: string;
2558
+ children: any[] | any;
2559
+ closed?: boolean;
2560
+ }
2561
+ export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
2562
+ isExpanded: boolean;
2563
+ isHighlighted: boolean;
2564
+ }> {
2565
+ constructor(props: ILineContainerComponentProps);
2566
+ switchExpandedState(): void;
2567
+
2568
+ componentDidMount(): void;
2569
+
2570
+ }
2571
+ export {};
2572
+
2573
+ }
2574
+ declare module "@babylonjs/node-render-graph-editor/lines/inputArrowsComponent" {
2575
+ import * as React from "react";
2576
+ interface IInputArrowsComponentProps {
2577
+ incrementValue: (amount: number) => void;
2578
+ setDragging: (dragging: boolean) => void;
2579
+ }
2580
+ export class InputArrowsComponent extends React.Component<IInputArrowsComponentProps> {
2581
+ private _arrowsRef;
2582
+ private _drag;
2583
+ private _releaseListener;
2584
+ private _lockChangeListener;
2585
+
2586
+ }
2587
+ export {};
2588
+
2589
+ }
2590
+ declare module "@babylonjs/node-render-graph-editor/lines/indentedTextLineComponent" {
2591
+ import * as React from "react";
2592
+ interface IIndentedTextLineComponentProps {
2593
+ value?: string;
2594
+ color?: string;
2595
+ underline?: boolean;
2596
+ onLink?: () => void;
2597
+ url?: string;
2598
+ additionalClass?: string;
2599
+ }
2600
+ export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
2601
+ constructor(props: IIndentedTextLineComponentProps);
2602
+ onLink(): void;
2603
+
2604
+
2605
+ }
2606
+ export {};
2607
+
2608
+ }
2609
+ declare module "@babylonjs/node-render-graph-editor/lines/iconComponent" {
2610
+ import * as React from "react";
2611
+ interface IIconComponentProps {
2612
+ icon: string;
2613
+ label?: string;
2614
+ }
2615
+ export class IconComponent extends React.Component<IIconComponentProps> {
2616
+
2617
+ }
2618
+ export {};
2619
+
2620
+ }
2621
+ declare module "@babylonjs/node-render-graph-editor/lines/iconButtonLineComponent" {
2622
+ import * as React from "react";
2623
+ export interface IIconButtonLineComponentProps {
2624
+ icon: string;
2625
+ onClick: () => void;
2626
+ tooltip: string;
2627
+ active?: boolean;
2628
+ }
2629
+ export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
2630
+ constructor(props: IIconButtonLineComponentProps);
2631
+
2632
+ }
2633
+
2634
+ }
2635
+ declare module "@babylonjs/node-render-graph-editor/lines/iSelectedLineContainer" {
2636
+ export interface ISelectedLineContainer {
2637
+ selectedLineContainerTitles: Array<string>;
2638
+ selectedLineContainerTitlesNoFocus: Array<string>;
2639
+ }
2640
+
2641
+ }
2642
+ declare module "@babylonjs/node-render-graph-editor/lines/hexLineComponent" {
2643
+ import * as React from "react";
2644
+ import { Observable } from "@babylonjs/core/Misc/observable";
2645
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2646
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2647
+ interface IHexLineComponentProps {
2648
+ label: string;
2649
+ target: any;
2650
+ propertyName: string;
2651
+ lockObject?: LockObject;
2652
+ onChange?: (newValue: number) => void;
2653
+ isInteger?: boolean;
2654
+ replaySourceReplacement?: string;
2655
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2656
+ additionalClass?: string;
2657
+ step?: string;
2658
+ digits?: number;
2659
+ useEuler?: boolean;
2660
+ min?: number;
2661
+ icon?: string;
2662
+ iconLabel?: string;
2663
+ }
2664
+ export class HexLineComponent extends React.Component<IHexLineComponentProps, {
2665
+ value: string;
2666
+ }> {
2667
+ private _localChange;
2668
+ private _store;
2669
+ private _propertyChange;
2670
+ constructor(props: IHexLineComponentProps);
2671
+ componentWillUnmount(): void;
2672
+ shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
2673
+ value: string;
2674
+ }): boolean;
2675
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2676
+ convertToHexString(valueString: string): string;
2677
+ updateValue(valueString: string, raisePropertyChanged: boolean): void;
2678
+ lock(): void;
2679
+ unlock(): void;
2680
+
2681
+ }
2682
+ export {};
2683
+
2684
+ }
2685
+ declare module "@babylonjs/node-render-graph-editor/lines/floatLineComponent" {
2686
+ import * as React from "react";
2687
+ import { Observable } from "@babylonjs/core/Misc/observable";
2688
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2689
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2690
+ interface IFloatLineComponentProps {
2691
+ label: string;
2692
+ target: any;
2693
+ propertyName: string;
2694
+ lockObject: LockObject;
2695
+ onChange?: (newValue: number) => void;
2696
+ isInteger?: boolean;
2697
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2698
+ additionalClass?: string;
2699
+ step?: string;
2700
+ digits?: number;
2701
+ useEuler?: boolean;
2702
+ min?: number;
2703
+ max?: number;
2704
+ smallUI?: boolean;
2705
+ onEnter?: (newValue: number) => void;
2706
+ icon?: string;
2707
+ iconLabel?: string;
2708
+ defaultValue?: number;
2709
+ arrows?: boolean;
2710
+ unit?: React.ReactNode;
2711
+ onDragStart?: (newValue: number) => void;
2712
+ onDragStop?: (newValue: number) => void;
2713
+ disabled?: boolean;
2714
+ }
2715
+ export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
2716
+ value: string;
2717
+ dragging: boolean;
2718
+ }> {
2719
+ private _localChange;
2720
+ private _store;
2721
+ constructor(props: IFloatLineComponentProps);
2722
+ componentWillUnmount(): void;
2723
+ getValueString(value: any, props: IFloatLineComponentProps): string;
2724
+ shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
2725
+ value: string;
2726
+ dragging: boolean;
2727
+ }): boolean;
2728
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2729
+ updateValue(valueString: string): void;
2730
+ lock(): void;
2731
+ unlock(): void;
2732
+ incrementValue(amount: number, processStep?: boolean): void;
2733
+ onKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void;
2734
+ onCopyClick(): void;
2735
+
2736
+ }
2737
+ export {};
2738
+
2739
+ }
2740
+ declare module "@babylonjs/node-render-graph-editor/lines/fileMultipleButtonLineComponent" {
2741
+ import * as React from "react";
2742
+ interface IFileMultipleButtonLineComponentProps {
2743
+ label: string;
2744
+ onClick: (event: any) => void;
2745
+ accept: string;
2746
+ icon?: string;
2747
+ iconLabel?: string;
2748
+ }
2749
+ export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
2750
+ private static _IDGenerator;
2751
+ private _id;
2752
+ private _uploadInputRef;
2753
+ constructor(props: IFileMultipleButtonLineComponentProps);
2754
+ onChange(evt: any): void;
2755
+
2756
+ }
2757
+ export {};
2758
+
2759
+ }
2760
+ declare module "@babylonjs/node-render-graph-editor/lines/fileButtonLineComponent" {
2761
+ import * as React from "react";
2762
+ interface IFileButtonLineProps {
2763
+ label: string;
2764
+ onClick: (file: File) => void;
2765
+ accept: string;
2766
+ icon?: string;
2767
+ iconLabel?: string;
2768
+ }
2769
+ export class FileButtonLine extends React.Component<IFileButtonLineProps> {
2770
+ private static _IDGenerator;
2771
+ private _id;
2772
+ private _uploadInputRef;
2773
+ constructor(props: IFileButtonLineProps);
2774
+ onChange(evt: any): void;
2775
+
2776
+ }
2777
+ export {};
2778
+
2779
+ }
2780
+ declare module "@babylonjs/node-render-graph-editor/lines/draggableLineWithButtonComponent" {
2781
+ import * as React from "react";
2782
+ export interface IDraggableLineWithButtonComponent {
2783
+ format: string;
2784
+ data: string;
2785
+ tooltip: string;
2786
+ iconImage: any;
2787
+ onIconClick: (value: string) => void;
2788
+ iconTitle: string;
2789
+ lenSuffixToRemove?: number;
2790
+ }
2791
+ export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
2792
+ constructor(props: IDraggableLineWithButtonComponent);
2793
+
2794
+ }
2795
+
2796
+ }
2797
+ declare module "@babylonjs/node-render-graph-editor/lines/draggableLineComponent" {
2798
+ import * as React from "react";
2799
+ export interface IButtonLineComponentProps {
2800
+ format: string;
2801
+ data: string;
2802
+ tooltip: string;
2803
+ }
2804
+ export class DraggableLineComponent extends React.Component<IButtonLineComponentProps> {
2805
+ constructor(props: IButtonLineComponentProps);
2806
+
2807
+ }
2808
+
2809
+ }
2810
+ declare module "@babylonjs/node-render-graph-editor/lines/colorPickerComponent" {
2811
+ import * as React from "react";
2812
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
2813
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2814
+ export interface IColorPickerLineProps {
2815
+ value: Color4 | Color3;
2816
+ linearHint?: boolean;
2817
+ onColorChanged: (newOne: string) => void;
2818
+ icon?: string;
2819
+ iconLabel?: string;
2820
+ shouldPopRight?: boolean;
2821
+ lockObject?: LockObject;
2822
+ }
2823
+ interface IColorPickerComponentState {
2824
+ pickerEnabled: boolean;
2825
+ color: Color3 | Color4;
2826
+ hex: string;
2827
+ }
2828
+ export class ColorPickerLine extends React.Component<IColorPickerLineProps, IColorPickerComponentState> {
2829
+ private _floatRef;
2830
+ private _floatHostRef;
2831
+ constructor(props: IColorPickerLineProps);
2832
+ syncPositions(): void;
2833
+ shouldComponentUpdate(nextProps: IColorPickerLineProps, nextState: IColorPickerComponentState): boolean;
2834
+ getHexString(props?: Readonly<IColorPickerLineProps> & Readonly<{
2835
+ children?: React.ReactNode;
2836
+ }>): string;
2837
+ componentDidUpdate(): void;
2838
+ componentDidMount(): void;
2839
+
2840
+ }
2841
+ export {};
2842
+
2843
+ }
2844
+ declare module "@babylonjs/node-render-graph-editor/lines/colorLineComponent" {
2845
+ import * as React from "react";
2846
+ import { Observable } from "@babylonjs/core/Misc/observable";
2847
+ import { Color4 } from "@babylonjs/core/Maths/math.color";
2848
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2849
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2850
+ export interface IColorLineProps {
2851
+ label: string;
2852
+ target?: any;
2853
+ propertyName: string;
2854
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2855
+ onChange?: () => void;
2856
+ isLinear?: boolean;
2857
+ icon?: string;
2858
+ iconLabel?: string;
2859
+ disableAlpha?: boolean;
2860
+ lockObject: LockObject;
2861
+ }
2862
+ interface IColorLineComponentState {
2863
+ isExpanded: boolean;
2864
+ color: Color4;
2865
+ }
2866
+ export class ColorLine extends React.Component<IColorLineProps, IColorLineComponentState> {
2867
+ constructor(props: IColorLineProps);
2868
+ shouldComponentUpdate(nextProps: IColorLineProps, nextState: IColorLineComponentState): boolean;
2869
+ getValue(props?: Readonly<IColorLineProps> & Readonly<{
2870
+ children?: React.ReactNode;
2871
+ }>): Color4;
2872
+ setColorFromString(colorString: string): void;
2873
+ setColor(newColor: Color4): void;
2874
+ switchExpandState(): void;
2875
+ updateStateR(value: number): void;
2876
+ updateStateG(value: number): void;
2877
+ updateStateB(value: number): void;
2878
+ updateStateA(value: number): void;
2879
+ private _convertToColor;
2880
+ private _toColor3;
2881
+ onCopyClick(): void;
2882
+
2883
+ }
2884
+ export {};
2885
+
2886
+ }
2887
+ declare module "@babylonjs/node-render-graph-editor/lines/color4LineComponent" {
2888
+ import * as React from "react";
2889
+ import { Observable } from "@babylonjs/core/Misc/observable";
2890
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2891
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2892
+ export interface IColor4LineComponentProps {
2893
+ label: string;
2894
+ target?: any;
2895
+ propertyName: string;
2896
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2897
+ onChange?: () => void;
2898
+ isLinear?: boolean;
2899
+ icon?: string;
2900
+ iconLabel?: string;
2901
+ lockObject: LockObject;
2902
+ }
2903
+ export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
2904
+
2905
+ }
2906
+
2907
+ }
2908
+ declare module "@babylonjs/node-render-graph-editor/lines/color3LineComponent" {
2909
+ import * as React from "react";
2910
+ import { Observable } from "@babylonjs/core/Misc/observable";
2911
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2912
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
2913
+ export interface IColor3LineComponentProps {
2914
+ label: string;
2915
+ target: any;
2916
+ propertyName: string;
2917
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2918
+ isLinear?: boolean;
2919
+ icon?: string;
2920
+ lockObject: LockObject;
2921
+ iconLabel?: string;
2922
+ onChange?: () => void;
2923
+ }
2924
+ export class Color3LineComponent extends React.Component<IColor3LineComponentProps> {
2925
+
2926
+ }
2927
+
2928
+ }
2929
+ declare module "@babylonjs/node-render-graph-editor/lines/checkBoxLineComponent" {
2930
+ import * as React from "react";
2931
+ import { Observable } from "@babylonjs/core/Misc/observable";
2932
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
2933
+
2934
+ export interface ICheckBoxLineComponentProps {
2935
+ label?: string;
2936
+ target?: any;
2937
+ propertyName?: string;
2938
+ isSelected?: () => boolean;
2939
+ onSelect?: (value: boolean) => void;
2940
+ onValueChanged?: () => void;
2941
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2942
+ disabled?: boolean;
2943
+ icon?: string;
2944
+ iconLabel?: string;
2945
+ faIcons?: {
2946
+ enabled: any;
2947
+ disabled: any;
2948
+ };
2949
+ large?: boolean;
2950
+ }
2951
+ export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
2952
+ isSelected: boolean;
2953
+ isDisabled?: boolean;
2954
+ isConflict: boolean;
2955
+ }> {
2956
+ private _localChange;
2957
+ constructor(props: ICheckBoxLineComponentProps);
2958
+ shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
2959
+ isSelected: boolean;
2960
+ isDisabled: boolean;
2961
+ isConflict: boolean;
2962
+ }): boolean;
2963
+ onChange(): void;
2964
+ onCopyClick(): void;
2965
+
2966
+ }
2967
+
2968
+ }
2969
+ declare module "@babylonjs/node-render-graph-editor/lines/buttonLineComponent" {
2970
+ import * as React from "react";
2971
+ export interface IButtonLineComponentProps {
2972
+ label: string;
2973
+ onClick: () => void;
2974
+ icon?: string;
2975
+ iconLabel?: string;
2976
+ isDisabled?: boolean;
2977
+ }
2978
+ export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
2979
+ constructor(props: IButtonLineComponentProps);
2980
+
2981
+ }
2982
+
2983
+ }
2984
+ declare module "@babylonjs/node-render-graph-editor/lines/booleanLineComponent" {
2985
+ import * as React from "react";
2986
+ export interface IBooleanLineComponentProps {
2987
+ label: string;
2988
+ value: boolean;
2989
+ icon?: string;
2990
+ iconLabel?: string;
2991
+ }
2992
+ export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
2993
+ constructor(props: IBooleanLineComponentProps);
2994
+
2995
+ }
2996
+
2997
+ }
2998
+ declare module "@babylonjs/node-render-graph-editor/components/classNames" {
2999
+ export function ClassNames(names: any, styleObject: any): string;
3000
+ export function JoinClassNames(styleObject: any, ...names: string[]): string;
3001
+
3002
+ }
3003
+ declare module "@babylonjs/node-render-graph-editor/components/Toggle" {
3004
+ /// <reference types="react" />
3005
+ export type ToggleProps = {
3006
+ toggled: "on" | "mixed" | "off";
3007
+ onToggle?: () => void;
3008
+ padded?: boolean;
3009
+ color?: "dark" | "light";
3010
+ };
3011
+ export const Toggle: React.FC<ToggleProps>;
3012
+
3013
+ }
3014
+ declare module "@babylonjs/node-render-graph-editor/components/TextInputWithSubmit" {
3015
+ export interface ITextInputProps {
3016
+ label?: string;
3017
+ placeholder?: string;
3018
+ submitValue: (newValue: string) => void;
3019
+ validateValue?: (value: string) => boolean;
3020
+ cancelSubmit?: () => void;
3021
+ }
3022
+ /**
3023
+ * This component represents a text input that can be submitted or cancelled on buttons
3024
+ * @param props properties
3025
+ * @returns TextInputWithSubmit element
3026
+ */
3027
+
3028
+
3029
+ }
3030
+ declare module "@babylonjs/node-render-graph-editor/components/MessageDialog" {
3031
+ import * as React from "react";
3032
+ export interface MessageDialogProps {
3033
+ message: string;
3034
+ isError: boolean;
3035
+ onClose?: () => void;
3036
+ }
3037
+ export const MessageDialog: React.FC<MessageDialogProps>;
3038
+
3039
+ }
3040
+ declare module "@babylonjs/node-render-graph-editor/components/Label" {
3041
+ import { ReactChild } from "react";
3042
+ export type LabelProps = {
3043
+ text: string;
3044
+ children?: ReactChild;
3045
+ color?: "dark" | "light";
3046
+ };
3047
+ export const Label: React.FC<LabelProps>;
3048
+
3049
+ }
3050
+ declare module "@babylonjs/node-render-graph-editor/components/Icon" {
3051
+ /// <reference types="react" />
3052
+ export type IconProps = {
3053
+ color?: "dark" | "light";
3054
+ icon: string;
3055
+ };
3056
+ export const Icon: React.FC<IconProps>;
3057
+
3058
+ }
3059
+ declare module "@babylonjs/node-render-graph-editor/components/Button" {
3060
+ /// <reference types="react" />
3061
+ export type ButtonProps = {
3062
+ disabled?: boolean;
3063
+ active?: boolean;
3064
+ onClick?: () => void;
3065
+ color: "light" | "dark";
3066
+ size: "default" | "small" | "wide" | "smaller";
3067
+ title?: string;
3068
+ backgroundColor?: string;
3069
+ };
3070
+ export const Button: React.FC<ButtonProps>;
3071
+
3072
+ }
3073
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/useGraphContext" {
3074
+ /**
3075
+ * utility hook to assist using the graph context
3076
+ * @returns
3077
+ */
3078
+ export const useGraphContext: () => import("@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphContextManager").IGraphContext;
3079
+
3080
+ }
3081
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/NodeRenderer" {
3082
+ import { ComponentType } from "react";
3083
+ import { Nullable } from "@babylonjs/core/types";
3084
+ export type IVisualRecordsType = Record<string, {
3085
+ x: number;
3086
+ y: number;
3087
+ }>;
3088
+ export type IConnectionType = {
3089
+ id: string;
3090
+ sourceId: string;
3091
+ targetId: string;
3092
+ };
3093
+ export type ICustomDataType = {
3094
+ type: string;
3095
+ value: any;
3096
+ };
3097
+ export type INodeType = {
3098
+ id: string;
3099
+ label: string;
3100
+ customData?: ICustomDataType;
3101
+ };
3102
+ /**
3103
+ * props for the node renderer
3104
+ */
3105
+ export interface INodeRendererProps {
3106
+ /**
3107
+ * array of connections between nodes
3108
+ */
3109
+ connections: IConnectionType[];
3110
+ /**
3111
+ * function called when a new connection is created
3112
+ */
3113
+ updateConnections: (sourceId: string, targetId: string) => void;
3114
+ /**
3115
+ * function called when a connection is deleted
3116
+ */
3117
+ deleteLine: (lineId: string) => void;
3118
+ /**
3119
+ * function called when a node is deleted
3120
+ */
3121
+ deleteNode: (nodeId: string) => void;
3122
+ /**
3123
+ * array of all nodes
3124
+ */
3125
+ nodes: INodeType[];
3126
+ /**
3127
+ * id of the node to highlight
3128
+ */
3129
+ highlightedNode?: Nullable<string>;
3130
+ /**
3131
+ * function to be called if a node is selected
3132
+ */
3133
+ selectNode?: (nodeId: Nullable<string>) => void;
3134
+ /**
3135
+ * id of this renderer
3136
+ */
3137
+ id: string;
3138
+ /**
3139
+ * optional list of custom components to be rendered inside nodes of
3140
+ * a certain type
3141
+ */
3142
+ customComponents?: Record<string, ComponentType<any>>;
3143
+ }
3144
+ /**
3145
+ * This component is a bridge between the app logic related to the graph, and the actual rendering
3146
+ * of it. It manages the nodes' positions and selection states.
3147
+ * @param props
3148
+ * @returns
3149
+ */
3150
+
3151
+
3152
+ }
3153
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphNodesContainer" {
3154
+ import { FC } from "react";
3155
+ export interface IGraphContainerProps {
3156
+ onNodeMoved: (id: string, x: number, y: number) => void;
3157
+ id: string;
3158
+ }
3159
+ /**
3160
+ * This component contains all the nodes and handles their dragging
3161
+ * @param props properties
3162
+ * @returns graph node container element
3163
+ */
3164
+ export const GraphNodesContainer: FC<IGraphContainerProps>;
3165
+
3166
+ }
3167
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphNode" {
3168
+ import { FC } from "react";
3169
+ export interface IGraphNodeProps {
3170
+ id: string;
3171
+ name: string;
3172
+ x: number;
3173
+ y: number;
3174
+ selected?: boolean;
3175
+ width?: number;
3176
+ height?: number;
3177
+ highlighted?: boolean;
3178
+ parentContainerId: string;
3179
+ }
3180
+ export const SingleGraphNode: FC<IGraphNodeProps>;
3181
+
3182
+ }
3183
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphLinesContainer" {
3184
+ import { FC } from "react";
3185
+ /**
3186
+ * props for the GraphLineContainer
3187
+ */
3188
+ export interface IGraphLinesContainerProps {
3189
+ /**
3190
+ * id of the container
3191
+ */
3192
+ id: string;
3193
+ }
3194
+ /**
3195
+ * this component handles the dragging of new connections
3196
+ * @param props
3197
+ * @returns
3198
+ */
3199
+ export const GraphLinesContainer: FC<IGraphLinesContainerProps>;
3200
+
3201
+ }
3202
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphLine" {
3203
+ import { FC } from "react";
3204
+ /**
3205
+ * props for the GraphLine component
3206
+ */
3207
+ export interface IGraphLineProps {
3208
+ /**
3209
+ * id of the line. temporary lines can have no id
3210
+ */
3211
+ id?: string;
3212
+ /**
3213
+ * starting x pos of the line
3214
+ */
3215
+ x1: number;
3216
+ /**
3217
+ * ending x pos of the line
3218
+ */
3219
+ x2: number;
3220
+ /**
3221
+ * starting y pos of the line
3222
+ */
3223
+ y1: number;
3224
+ /**
3225
+ * ending y pos of the line
3226
+ */
3227
+ y2: number;
3228
+ /**
3229
+ * is the line selected
3230
+ */
3231
+ selected?: boolean;
3232
+ /**
3233
+ * does the line have a direction
3234
+ */
3235
+ directional?: boolean;
3236
+ }
3237
+ export const MarkerArrowId = "arrow";
3238
+ /**
3239
+ * This component draws a SVG line between two points, with an optional marker
3240
+ * indicating direction
3241
+ * @param props properties
3242
+ * @returns graph line element
3243
+ */
3244
+ export const GraphLine: FC<IGraphLineProps>;
3245
+
3246
+ }
3247
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphContextManager" {
3248
+ /// <reference types="react" />
3249
+ /**
3250
+ * this context is used to pass callbacks to the graph nodes and connections
3251
+ */
3252
+ export interface IGraphContext {
3253
+ onNodesConnected?: (sourceId: string, targetId: string) => void;
3254
+ onLineSelected?: (lineId: string) => void;
3255
+ onNodeSelected?: (nodeId: string) => void;
3256
+ }
3257
+ export const GraphContextManager: import("react").Context<IGraphContext>;
3258
+
3259
+ }
3260
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphContainer" {
3261
+ import { FC } from "react";
3262
+ export interface IGraphContainerProps {
3263
+ }
3264
+ /**
3265
+ * This component is just a simple container to keep the nodes and lines containers
3266
+ * together
3267
+ * @param props
3268
+ * @returns
3269
+ */
3270
+ export const GraphContainer: FC<IGraphContainerProps>;
3271
+
3272
+ }
3273
+ declare module "@babylonjs/node-render-graph-editor/components/reactGraphSystem/GraphConnectorHandle" {
3274
+ import { FC } from "react";
3275
+ /**
3276
+ * Props for the connector
3277
+ */
3278
+ export interface IGraphConnectorHandlerProps {
3279
+ /**
3280
+ * id of the parent node
3281
+ */
3282
+ parentId: string;
3283
+ /**
3284
+ * x position of the parent node
3285
+ */
3286
+ parentX: number;
3287
+ /**
3288
+ * y position of the parent node
3289
+ */
3290
+ parentY: number;
3291
+ /**
3292
+ * x position of the connector relative to the parent node
3293
+ */
3294
+ offsetX?: number;
3295
+ /**
3296
+ * y position of the connector relative to the parent node
3297
+ */
3298
+ offsetY?: number;
3299
+ /**
3300
+ * width of the parent node
3301
+ */
3302
+ parentWidth: number;
3303
+ /**
3304
+ * height of the parent node
3305
+ */
3306
+ parentHeight: number;
3307
+ /**
3308
+ * id of the container where its parent node is
3309
+ */
3310
+ parentContainerId: string;
3311
+ }
3312
+ /**
3313
+ * This component is used to initiate a connection between two nodes. Simply
3314
+ * drag the handle in a node and drop it in another node to create a connection.
3315
+ * @returns connector element
3316
+ */
3317
+ export const GraphConnectorHandler: FC<IGraphConnectorHandlerProps>;
3318
+
3319
+ }
3320
+ declare module "@babylonjs/node-render-graph-editor/components/lines/OptionsLineComponent" {
3321
+ /**
3322
+ * This components represents an options menu with optional
3323
+ * customizable properties. Option IDs should be unique.
3324
+ */
3325
+ export interface IOption {
3326
+ label: string;
3327
+ value: string;
3328
+ id: string;
3329
+ }
3330
+ export interface IOptionsLineComponentProps {
3331
+ options: IOption[];
3332
+ addOptionPlaceholder?: string;
3333
+ onOptionAdded?: (newOption: IOption) => void;
3334
+ onOptionSelected: (selectedOptionValue: string) => void;
3335
+ selectedOptionValue: string;
3336
+ validateNewOptionValue?: (newOptionValue: string) => boolean;
3337
+ addOptionText?: string;
3338
+ }
3339
+
3340
+
3341
+ }
3342
+ declare module "@babylonjs/node-render-graph-editor/components/lines/NumericInputComponent" {
3343
+ import * as React from "react";
3344
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
3345
+ interface INumericInputComponentProps {
3346
+ label: string;
3347
+ labelTooltip?: string;
3348
+ value: number;
3349
+ step?: number;
3350
+ onChange: (value: number) => void;
3351
+ precision?: number;
3352
+ icon?: string;
3353
+ iconLabel?: string;
3354
+ lockObject: LockObject;
3355
+ }
3356
+ export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
3357
+ value: string;
3358
+ }> {
3359
+ static defaultProps: {
3360
+ step: number;
3361
+ };
3362
+ private _localChange;
3363
+ constructor(props: INumericInputComponentProps);
3364
+ componentWillUnmount(): void;
3365
+ shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
3366
+ value: string;
3367
+ }): boolean;
3368
+ updateValue(valueString: string): void;
3369
+ onBlur(): void;
3370
+ incrementValue(amount: number): void;
3371
+ onKeyDown(evt: React.KeyboardEvent<HTMLInputElement>): void;
3372
+
3373
+ }
3374
+ export {};
3375
+
3376
+ }
3377
+ declare module "@babylonjs/node-render-graph-editor/components/lines/FileButtonLineComponent" {
3378
+ import * as React from "react";
3379
+ export interface IFileButtonLineComponentProps {
3380
+ label: string;
3381
+ onClick: (file: File) => void;
3382
+ accept: string;
3383
+ icon?: string;
3384
+ iconLabel?: string;
3385
+ }
3386
+ export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
3387
+ private static _IDGenerator;
3388
+ private _id;
3389
+ private _uploadInputRef;
3390
+ constructor(props: IFileButtonLineComponentProps);
3391
+ onChange(evt: any): void;
3392
+
3393
+ }
3394
+
3395
+ }
3396
+ declare module "@babylonjs/node-render-graph-editor/components/lines/ColorPickerLineComponent" {
3397
+ import * as React from "react";
3398
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
3399
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
3400
+ export interface IColorPickerLineComponentProps {
3401
+ value: Color4 | Color3;
3402
+ linearHint?: boolean;
3403
+ onColorChanged: (newOne: string) => void;
3404
+ icon?: string;
3405
+ iconLabel?: string;
3406
+ shouldPopRight?: boolean;
3407
+ lockObject?: LockObject;
3408
+ backgroundColor?: string;
3409
+ }
3410
+ interface IColorPickerComponentState {
3411
+ pickerEnabled: boolean;
3412
+ color: Color3 | Color4;
3413
+ hex: string;
3414
+ }
3415
+ export class ColorPickerLineComponent extends React.Component<IColorPickerLineComponentProps, IColorPickerComponentState> {
3416
+ private _floatRef;
3417
+ private _floatHostRef;
3418
+ private _coverRef;
3419
+ constructor(props: IColorPickerLineComponentProps);
3420
+ syncPositions(): void;
3421
+ shouldComponentUpdate(nextProps: IColorPickerLineComponentProps, nextState: IColorPickerComponentState): boolean;
3422
+ getHexString(props?: Readonly<IColorPickerLineComponentProps> & Readonly<{
3423
+ children?: React.ReactNode;
3424
+ }>): string;
3425
+ componentDidUpdate(): void;
3426
+ componentDidMount(): void;
3427
+
3428
+ }
3429
+ export {};
3430
+
3431
+ }
3432
+ declare module "@babylonjs/node-render-graph-editor/components/lines/ColorLineComponent" {
3433
+ import * as React from "react";
3434
+ import { Observable } from "@babylonjs/core/Misc/observable";
3435
+ import { Color4 } from "@babylonjs/core/Maths/math.color";
3436
+ import { PropertyChangedEvent } from "@babylonjs/node-render-graph-editor/propertyChangedEvent";
3437
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
3438
+ export interface IColorLineComponentProps {
3439
+ label: string;
3440
+ target: any;
3441
+ propertyName: string;
3442
+ onPropertyChangedObservable: Observable<PropertyChangedEvent>;
3443
+ onChange?: () => void;
3444
+ isLinear?: boolean;
3445
+ icon?: string;
3446
+ iconLabel?: string;
3447
+ disableAlpha?: boolean;
3448
+ lockObject: LockObject;
3449
+ }
3450
+ interface IColorLineComponentState {
3451
+ isExpanded: boolean;
3452
+ color: Color4;
3453
+ }
3454
+ export class ColorLineComponent extends React.Component<IColorLineComponentProps, IColorLineComponentState> {
3455
+ constructor(props: IColorLineComponentProps);
3456
+ shouldComponentUpdate(nextProps: IColorLineComponentProps, nextState: IColorLineComponentState): boolean;
3457
+ getValue(props?: Readonly<IColorLineComponentProps> & Readonly<{
3458
+ children?: React.ReactNode;
3459
+ }>): Color4;
3460
+ setColorFromString(colorString: string): void;
3461
+ setColor(newColor: Color4): void;
3462
+ switchExpandState(): void;
3463
+ updateStateR(value: number): void;
3464
+ updateStateG(value: number): void;
3465
+ updateStateB(value: number): void;
3466
+ updateStateA(value: number): void;
3467
+ copyToClipboard(): void;
3468
+ private _convertToColor;
3469
+ private _toColor3;
3470
+
3471
+ }
3472
+ export {};
3473
+
3474
+ }
3475
+ declare module "@babylonjs/node-render-graph-editor/components/layout/utils" {
3476
+ import { Layout, LayoutColumn, LayoutTabsRow } from "@babylonjs/node-render-graph-editor/components/layout/types";
3477
+ /**
3478
+ * Given a column and row number in the layout, return the corresponding column/row
3479
+ * @param layout
3480
+ * @param column
3481
+ * @param row
3482
+ * @returns
3483
+ */
3484
+ export const getPosInLayout: (layout: Layout, column: number, row?: number) => LayoutColumn | LayoutTabsRow;
3485
+ /**
3486
+ * Remove a row in position row, column from the layout, and redistribute heights of remaining rows
3487
+ * @param layout
3488
+ * @param column
3489
+ * @param row
3490
+ */
3491
+ export const removeLayoutRowAndRedistributePercentages: (layout: Layout, column: number, row: number) => void;
3492
+ /**
3493
+ * Add a percentage string to a number
3494
+ * @param p1 the percentage string
3495
+ * @param p2 the number
3496
+ * @returns the sum of the percentage string and the number
3497
+ */
3498
+ export const addPercentageStringToNumber: (p1: string, p2: number) => number;
3499
+ /**
3500
+ * Parses a percentage string into a number
3501
+ * @param p the percentage string
3502
+ * @returns the parsed number
3503
+ */
3504
+ export const parsePercentage: (p: string) => number;
3505
+
3506
+ }
3507
+ declare module "@babylonjs/node-render-graph-editor/components/layout/types" {
3508
+ import { ReactElement } from "react";
3509
+ export type LayoutTab = {
3510
+ /**
3511
+ * Tab id
3512
+ */
3513
+ id: string;
3514
+ /**
3515
+ * React component rendered by tab
3516
+ */
3517
+ component: ReactElement;
3518
+ /**
3519
+ * Tab title
3520
+ */
3521
+ title: string;
3522
+ };
3523
+ export type LayoutTabsRow = {
3524
+ /**
3525
+ * row id
3526
+ */
3527
+ id: string;
3528
+ /**
3529
+ * row height in its containing column
3530
+ */
3531
+ height: string;
3532
+ /**
3533
+ * selected tab in row
3534
+ */
3535
+ selectedTab: string;
3536
+ /**
3537
+ * list of tabs contained in row
3538
+ */
3539
+ tabs: LayoutTab[];
3540
+ };
3541
+ export type LayoutColumn = {
3542
+ /**
3543
+ * column id
3544
+ */
3545
+ id: string;
3546
+ /**
3547
+ * column width in the grid
3548
+ */
3549
+ width: string;
3550
+ /**
3551
+ * column rows
3552
+ */
3553
+ rows: LayoutTabsRow[];
3554
+ };
3555
+ export type Layout = {
3556
+ /**
3557
+ * layout columns
3558
+ */
3559
+ columns?: LayoutColumn[];
3560
+ };
3561
+ export type TabDrag = {
3562
+ /**
3563
+ * row number of the tab being dragged
3564
+ */
3565
+ rowNumber: number;
3566
+ /**
3567
+ * column number of the tab being dragged
3568
+ */
3569
+ columnNumber: number;
3570
+ /**
3571
+ * the tabs being dragged
3572
+ */
3573
+ tabs: {
3574
+ /**
3575
+ * id of tab being dragged
3576
+ */
3577
+ id: string;
3578
+ }[];
3579
+ };
3580
+ export enum ElementTypes {
3581
+ RESIZE_BAR = "0",
3582
+ TAB = "1",
3583
+ TAB_GROUP = "2",
3584
+ NONE = "2"
3585
+ }
3586
+ export enum ResizeDirections {
3587
+ ROW = "row",
3588
+ COLUMN = "column"
3589
+ }
3590
+
3591
+ }
3592
+ declare module "@babylonjs/node-render-graph-editor/components/layout/LayoutContext" {
3593
+ /// <reference types="react" />
3594
+ import { Layout } from "@babylonjs/node-render-graph-editor/components/layout/types";
3595
+ export const LayoutContext: import("react").Context<{
3596
+ /**
3597
+ * The layout object
3598
+ */
3599
+ layout: Layout;
3600
+ /**
3601
+ * Function to set the layout object in the context
3602
+ */
3603
+ setLayout: (layout: Layout) => void;
3604
+ }>;
3605
+
3606
+ }
3607
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleTabsContainer" {
3608
+ import { FC } from "react";
3609
+ import { LayoutTab } from "@babylonjs/node-render-graph-editor/components/layout/types";
3610
+ /**
3611
+ * Arguments for the TabsContainer component.
3612
+ */
3613
+ export interface IFlexibleTabsContainerProps {
3614
+ /**
3615
+ * The tabs to display
3616
+ */
3617
+ tabs: LayoutTab[];
3618
+ /**
3619
+ * Row index of component in layout
3620
+ */
3621
+ rowIndex: number;
3622
+ /**
3623
+ * Column index of component in layout
3624
+ */
3625
+ columnIndex: number;
3626
+ /**
3627
+ * Which tab is selected in the layout
3628
+ */
3629
+ selectedTab?: string;
3630
+ }
3631
+ /**
3632
+ * This component contains a set of tabs of which only one is visible at a time.
3633
+ * The tabs can also be dragged from and to different containers.
3634
+ * @param props properties
3635
+ * @returns tabs container element
3636
+ */
3637
+ export const FlexibleTabsContainer: FC<IFlexibleTabsContainerProps>;
3638
+
3639
+ }
3640
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleTab" {
3641
+ import { FC } from "react";
3642
+ import { TabDrag } from "@babylonjs/node-render-graph-editor/components/layout/types";
3643
+ /**
3644
+ * Arguments for the FlexibleTab component.
3645
+ */
3646
+ export interface IFlexibleTabProps {
3647
+ /**
3648
+ * The tab's title.
3649
+ */
3650
+ title: string;
3651
+ /**
3652
+ * If the tab is currently selected or not
3653
+ */
3654
+ selected: boolean;
3655
+ /**
3656
+ * What happens when the user clicks on the tab
3657
+ */
3658
+ onClick: () => void;
3659
+ /**
3660
+ * The object that will be sent to the drag event
3661
+ */
3662
+ item: TabDrag;
3663
+ /**
3664
+ * What happens when the user drops another tab after this one
3665
+ */
3666
+ onTabDroppedAction: (item: TabDrag) => void;
3667
+ }
3668
+ /**
3669
+ * A component that renders a tab that the user can click
3670
+ * to activate or drag to reorder. It also listens for
3671
+ * drop events if the user wants to drop another tab
3672
+ * after it.
3673
+ * @param props properties
3674
+ * @returns FlexibleTab element
3675
+ */
3676
+ export const FlexibleTab: FC<IFlexibleTabProps>;
3677
+
3678
+ }
3679
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleResizeBar" {
3680
+ import { FC } from "react";
3681
+ import { ResizeDirections } from "@babylonjs/node-render-graph-editor/components/layout/types";
3682
+ /**
3683
+ * Arguments for the ResizeBar component.
3684
+ */
3685
+ export interface IFlexibleRowResizerProps {
3686
+ /**
3687
+ * Row number of the component that is being resized
3688
+ */
3689
+ rowNumber: number;
3690
+ /**
3691
+ * Column number of the component being resized
3692
+ */
3693
+ columnNumber: number;
3694
+ /**
3695
+ * If the resizing happens in row or column direction
3696
+ */
3697
+ direction: ResizeDirections;
3698
+ }
3699
+ /**
3700
+ * The item that will be sent to the drag event
3701
+ */
3702
+ export type ResizeItem = {
3703
+ /**
3704
+ * If the resizing happens in row or column direction
3705
+ */
3706
+ direction: ResizeDirections;
3707
+ /**
3708
+ * The row number of the component that is being resized
3709
+ */
3710
+ rowNumber: number;
3711
+ /**
3712
+ * the column number of the component being resized
3713
+ */
3714
+ columnNumber: number;
3715
+ };
3716
+ /**
3717
+ * A component that renders a bar that the user can drag to resize.
3718
+ * @param props properties
3719
+ * @returns resize bar element
3720
+ */
3721
+ export const FlexibleResizeBar: FC<IFlexibleRowResizerProps>;
3722
+
3723
+ }
3724
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleGridLayout" {
3725
+ import { FC } from "react";
3726
+ import { Layout } from "@babylonjs/node-render-graph-editor/components/layout/types";
3727
+ /**
3728
+ * Arguments for the Layout component.
3729
+ */
3730
+ export interface IFlexibleGridLayoutProps {
3731
+ /**
3732
+ * A definition of the layout which can be changed by the user
3733
+ */
3734
+ layoutDefinition: Layout;
3735
+ }
3736
+ /**
3737
+ * This component represents a grid layout that can be resized and rearranged
3738
+ * by the user.
3739
+ * @param props properties
3740
+ * @returns layout element
3741
+ */
3742
+ export const FlexibleGridLayout: FC<IFlexibleGridLayoutProps>;
3743
+
3744
+ }
3745
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleGridContainer" {
3746
+ import { FC } from "react";
3747
+ /**
3748
+ * Arguments for the GridContainer component.
3749
+ */
3750
+ export interface IFlexibleGridContainerProps {
3751
+ }
3752
+ /**
3753
+ * Component responsible for mapping the layout to the actual components
3754
+ * @returns GridContainer element
3755
+ */
3756
+ export const FlexibleGridContainer: FC<IFlexibleGridContainerProps>;
3757
+
3758
+ }
3759
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleDropZone" {
3760
+ import { FC } from "react";
3761
+ /**
3762
+ * Arguments for the FlexibleDropZone component.
3763
+ */
3764
+ export interface IFlexibleDropZoneProps {
3765
+ /**
3766
+ * The row number of the component in the layout
3767
+ */
3768
+ rowNumber: number;
3769
+ /**
3770
+ * The column number of the component in the layout
3771
+ */
3772
+ columnNumber: number;
3773
+ }
3774
+ /**
3775
+ * This component contains the drag and drop zone for the resize bars that
3776
+ * allow redefining width and height of layout elements
3777
+ * @param props properties
3778
+ * @returns drop zone element
3779
+ */
3780
+ export const FlexibleDropZone: FC<IFlexibleDropZoneProps>;
3781
+
3782
+ }
3783
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleDragHandler" {
3784
+ import { FC } from "react";
3785
+ /**
3786
+ * Arguments for the DragHandler component.
3787
+ */
3788
+ export interface IFlexibleDragHandlerProps {
3789
+ /**
3790
+ * The size of the containing element. Used to calculate the percentage of
3791
+ * space occupied by the component
3792
+ */
3793
+ containerSize: {
3794
+ width: number;
3795
+ height: number;
3796
+ };
3797
+ }
3798
+ /**
3799
+ * This component receives the drop events and updates the layout accordingly
3800
+ * @param props properties
3801
+ * @returns DragHandler element
3802
+ */
3803
+ export const FlexibleDragHandler: FC<IFlexibleDragHandlerProps>;
3804
+
3805
+ }
3806
+ declare module "@babylonjs/node-render-graph-editor/components/layout/FlexibleColumn" {
3807
+ import { FC } from "react";
3808
+ /**
3809
+ * Arguments for the Column component.
3810
+ */
3811
+ export interface IFlexibleColumnProps {
3812
+ /**
3813
+ * Width of column
3814
+ */
3815
+ width: string;
3816
+ }
3817
+ /**
3818
+ * This component represents a single column in the layout. It receives a width
3819
+ * that it occupies and the content to display
3820
+ * @param props
3821
+ * @returns
3822
+ */
3823
+ export const FlexibleColumn: FC<IFlexibleColumnProps>;
3824
+
3825
+ }
3826
+ declare module "@babylonjs/node-render-graph-editor/components/layout/DraggableIcon" {
3827
+ import { FC } from "react";
3828
+ import { ElementTypes, TabDrag } from "@babylonjs/node-render-graph-editor/components/layout/types";
3829
+ /**
3830
+ * Arguments for the DraggableIcon component.
3831
+ */
3832
+ export interface IDraggableIconProps {
3833
+ /**
3834
+ * Icon source
3835
+ */
3836
+ src: string;
3837
+ /**
3838
+ * Object that will be passed to the drag event
3839
+ */
3840
+ item: TabDrag;
3841
+ /**
3842
+ * Type of drag event
3843
+ */
3844
+ type: ElementTypes;
3845
+ }
3846
+ /**
3847
+ * An icon that can be dragged by the user
3848
+ * @param props properties
3849
+ * @returns draggable icon element
3850
+ */
3851
+ export const DraggableIcon: FC<IDraggableIconProps>;
3852
+
3853
+ }
3854
+ declare module "@babylonjs/node-render-graph-editor/components/colorPicker/HexColor" {
3855
+ import * as React from "react";
3856
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
3857
+ export interface IHexColorProps {
3858
+ value: string;
3859
+ expectedLength: number;
3860
+ onChange: (value: string) => void;
3861
+ lockObject: LockObject;
3862
+ }
3863
+ export class HexColorComponent extends React.Component<IHexColorProps, {
3864
+ hex: string;
3865
+ }> {
3866
+ constructor(props: IHexColorProps);
3867
+ shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
3868
+ hex: string;
3869
+ }): boolean;
3870
+ lock(): void;
3871
+ unlock(): void;
3872
+ updateHexValue(valueString: string): void;
3873
+
3874
+ }
3875
+
3876
+ }
3877
+ declare module "@babylonjs/node-render-graph-editor/components/colorPicker/ColorPicker" {
3878
+ import * as React from "react";
3879
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
3880
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
3881
+ /**
3882
+ * Interface used to specify creation options for color picker
3883
+ */
3884
+ export interface IColorPickerComponentProps {
3885
+ color: Color3 | Color4;
3886
+ linearhint?: boolean;
3887
+ debugMode?: boolean;
3888
+ onColorChanged?: (color: Color3 | Color4) => void;
3889
+ lockObject: LockObject;
3890
+ backgroundColor?: string;
3891
+ }
3892
+ /**
3893
+ * Interface used to specify creation options for color picker
3894
+ */
3895
+ export interface IColorPickerState {
3896
+ color: Color3;
3897
+ alpha: number;
3898
+ }
3899
+ /**
3900
+ * Class used to create a color picker
3901
+ */
3902
+ export class ColorPickerComponent extends React.Component<IColorPickerComponentProps, IColorPickerState> {
3903
+ private _saturationRef;
3904
+ private _hueRef;
3905
+ private _isSaturationPointerDown;
3906
+ private _isHuePointerDown;
3907
+ constructor(props: IColorPickerComponentProps);
3908
+ shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerState): boolean;
3909
+ onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
3910
+ onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
3911
+ onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
3912
+ onHuePointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
3913
+ onHuePointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
3914
+ onHuePointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
3915
+ private _evaluateSaturation;
3916
+ private _evaluateHue;
3917
+ componentDidUpdate(): void;
3918
+ raiseOnColorChanged(): void;
3919
+
3920
+ }
3921
+
3922
+ }
3923
+ declare module "@babylonjs/node-render-graph-editor/components/colorPicker/ColorComponentEntry" {
3924
+ import * as React from "react";
3925
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
3926
+ export interface IColorComponentEntryProps {
3927
+ value: number;
3928
+ label: string;
3929
+ max?: number;
3930
+ min?: number;
3931
+ onChange: (value: number) => void;
3932
+ disabled?: boolean;
3933
+ lockObject: LockObject;
3934
+ }
3935
+ export class ColorComponentComponentEntry extends React.Component<IColorComponentEntryProps> {
3936
+ constructor(props: IColorComponentEntryProps);
3937
+ updateValue(valueString: string): void;
3938
+ lock(): void;
3939
+ unlock(): void;
3940
+
3941
+ }
3942
+
3943
+ }
3944
+ declare module "@babylonjs/node-render-graph-editor/components/bars/CommandDropdownComponent" {
3945
+ import * as React from "react";
3946
+ interface ICommandDropdownComponentProps {
3947
+ icon?: string;
3948
+ tooltip: string;
3949
+ defaultValue?: string;
3950
+ items: {
3951
+ label: string;
3952
+ icon?: string;
3953
+ fileButton?: boolean;
3954
+ onClick?: () => void;
3955
+ onCheck?: (value: boolean) => void;
3956
+ storeKey?: string;
3957
+ isActive?: boolean;
3958
+ defaultValue?: boolean | string;
3959
+ subItems?: string[];
3960
+ }[];
3961
+ toRight?: boolean;
3962
+ }
3963
+ export class CommandDropdownComponent extends React.Component<ICommandDropdownComponentProps, {
3964
+ isExpanded: boolean;
3965
+ activeState: string;
3966
+ }> {
3967
+ constructor(props: ICommandDropdownComponentProps);
3968
+
3969
+ }
3970
+ export {};
3971
+
3972
+ }
3973
+ declare module "@babylonjs/node-render-graph-editor/components/bars/CommandButtonComponent" {
3974
+ import * as React from "react";
3975
+ export interface ICommandButtonComponentProps {
3976
+ tooltip: string;
3977
+ shortcut?: string;
3978
+ icon: string;
3979
+ iconLabel?: string;
3980
+ isActive: boolean;
3981
+ onClick: () => void;
3982
+ disabled?: boolean;
3983
+ }
3984
+ export const CommandButtonComponent: React.FC<ICommandButtonComponentProps>;
3985
+
3986
+ }
3987
+ declare module "@babylonjs/node-render-graph-editor/components/bars/CommandBarComponent" {
3988
+ import { FC } from "react";
3989
+ export interface ICommandBarComponentProps {
3990
+ onSaveButtonClicked?: () => void;
3991
+ onSaveToSnippetButtonClicked?: () => void;
3992
+ onLoadFromSnippetButtonClicked?: () => void;
3993
+ onHelpButtonClicked?: () => void;
3994
+ onGiveFeedbackButtonClicked?: () => void;
3995
+ onSelectButtonClicked?: () => void;
3996
+ onPanButtonClicked?: () => void;
3997
+ onZoomButtonClicked?: () => void;
3998
+ onFitButtonClicked?: () => void;
3999
+ onArtboardColorChanged?: (newColor: string) => void;
4000
+ artboardColor?: string;
4001
+ artboardColorPickerColor?: string;
4002
+ }
4003
+ export const CommandBarComponent: FC<ICommandBarComponentProps>;
4004
+
4005
+ }
4006
+ declare module "@babylonjs/node-render-graph-editor/colorPicker/hexColor" {
4007
+ import * as React from "react";
4008
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
4009
+ export interface IHexColorProps {
4010
+ value: string;
4011
+ expectedLength: number;
4012
+ onChange: (value: string) => void;
4013
+ lockObject: LockObject;
4014
+ }
4015
+ export class HexColor extends React.Component<IHexColorProps, {
4016
+ hex: string;
4017
+ }> {
4018
+ constructor(props: IHexColorProps);
4019
+ shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
4020
+ hex: string;
4021
+ }): boolean;
4022
+ lock(): void;
4023
+ unlock(): void;
4024
+ updateHexValue(valueString: string): void;
4025
+
4026
+ }
4027
+
4028
+ }
4029
+ declare module "@babylonjs/node-render-graph-editor/colorPicker/colorPicker" {
4030
+ import * as React from "react";
4031
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
4032
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
4033
+ import "@babylonjs/node-render-graph-editor/colorPicker/colorPicker.scss";
4034
+ /**
4035
+ * Interface used to specify creation options for color picker
4036
+ */
4037
+ export interface IColorPickerProps {
4038
+ color: Color3 | Color4;
4039
+ linearhint?: boolean;
4040
+ debugMode?: boolean;
4041
+ onColorChanged?: (color: Color3 | Color4) => void;
4042
+ lockObject: LockObject;
4043
+ }
4044
+ /**
4045
+ * Interface used to specify creation options for color picker
4046
+ */
4047
+ export interface IColorPickerState {
4048
+ color: Color3;
4049
+ alpha: number;
4050
+ }
4051
+ /**
4052
+ * Class used to create a color picker
4053
+ */
4054
+ export class ColorPicker extends React.Component<IColorPickerProps, IColorPickerState> {
4055
+ private _saturationRef;
4056
+ private _hueRef;
4057
+ private _isSaturationPointerDown;
4058
+ private _isHuePointerDown;
4059
+ constructor(props: IColorPickerProps);
4060
+ shouldComponentUpdate(nextProps: IColorPickerProps, nextState: IColorPickerState): boolean;
4061
+ onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
4062
+ onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
4063
+ onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
4064
+ onHuePointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
4065
+ onHuePointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
4066
+ onHuePointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
4067
+ private _evaluateSaturation;
4068
+ private _evaluateHue;
4069
+ componentDidUpdate(): void;
4070
+ raiseOnColorChanged(): void;
4071
+
4072
+ }
4073
+
4074
+ }
4075
+ declare module "@babylonjs/node-render-graph-editor/colorPicker/colorComponentEntry" {
4076
+ import * as React from "react";
4077
+ import { LockObject } from "@babylonjs/node-render-graph-editor/tabs/propertyGrids/lockObject";
4078
+ export interface IColorComponentEntryProps {
4079
+ value: number;
4080
+ label: string;
4081
+ max?: number;
4082
+ min?: number;
4083
+ onChange: (value: number) => void;
4084
+ disabled?: boolean;
4085
+ lockObject: LockObject;
4086
+ }
4087
+ export class ColorComponentEntry extends React.Component<IColorComponentEntryProps> {
4088
+ constructor(props: IColorComponentEntryProps);
4089
+ updateValue(valueString: string): void;
4090
+ lock(): void;
4091
+ unlock(): void;
4092
+
4093
+ }
4094
+
4095
+ }
4096
+
4097
+ declare module "@babylonjs/node-render-graph-editor" {
4098
+ export * from "@babylonjs/node-render-graph-editor/legacy/legacy";
4099
+ }
4100
+
4101
+
4102
+