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