@babylonjs/node-editor 5.0.0-alpha.7 → 5.0.0-beta.2

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.
@@ -21,6 +21,7 @@ declare module "@babylonjs/node-editor/blockTools" {
21
21
  import { ModBlock } from '@babylonjs/core/Materials/Node/Blocks/modBlock';
22
22
  import { ScaleBlock } from '@babylonjs/core/Materials/Node/Blocks/scaleBlock';
23
23
  import { TrigonometryBlock } from '@babylonjs/core/Materials/Node/Blocks/trigonometryBlock';
24
+ import { ConditionalBlock } from '@babylonjs/core/Materials/Node/Blocks/conditionalBlock';
24
25
  import { ClampBlock } from '@babylonjs/core/Materials/Node/Blocks/clampBlock';
25
26
  import { CrossBlock } from '@babylonjs/core/Materials/Node/Blocks/crossBlock';
26
27
  import { DotBlock } from '@babylonjs/core/Materials/Node/Blocks/dotBlock';
@@ -76,8 +77,15 @@ declare module "@babylonjs/node-editor/blockTools" {
76
77
  import { ParticleBlendMultiplyBlock } from '@babylonjs/core/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock';
77
78
  import { FragCoordBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/fragCoordBlock';
78
79
  import { ScreenSizeBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/screenSizeBlock';
80
+ import { MatrixBuilderBlock } from '@babylonjs/core/Materials/Node/Blocks/matrixBuilderBlock';
81
+ import { SceneDepthBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/sceneDepthBlock';
82
+ import { ImageSourceBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/imageSourceBlock';
83
+ import { CloudBlock } from '@babylonjs/core/Materials/Node/Blocks/cloudBlock';
84
+ import { VoronoiNoiseBlock } from '@babylonjs/core/Materials/Node/Blocks/voronoiNoiseBlock';
85
+ import { ScreenSpaceBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/screenSpaceBlock';
86
+ import { TwirlBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/twirlBlock';
79
87
  export class BlockTools {
80
- static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): DesaturateBlock | RefractBlock | ReflectBlock | DerivativeBlock | Rotate2dBlock | NormalBlendBlock | WorleyNoise3DBlock | SimplexPerlin3DBlock | BonesBlock | InstancesBlock | MorphTargetsBlock | DiscardBlock | ImageProcessingBlock | ColorMergerBlock | VectorMergerBlock | ColorSplitterBlock | VectorSplitterBlock | TextureBlock | ReflectionTextureBlock | LightBlock | FogBlock | VertexOutputBlock | FragmentOutputBlock | AddBlock | ClampBlock | ScaleBlock | CrossBlock | DotBlock | PowBlock | MultiplyBlock | TransformBlock | TrigonometryBlock | RemapBlock | NormalizeBlock | FresnelBlock | LerpBlock | NLerpBlock | DivideBlock | SubtractBlock | ModBlock | StepBlock | SmoothStepBlock | OneMinusBlock | ReciprocalBlock | ViewDirectionBlock | LightInformationBlock | MaxBlock | MinBlock | LengthBlock | DistanceBlock | NegateBlock | PerturbNormalBlock | RandomNumberBlock | ReplaceColorBlock | PosterizeBlock | ArcTan2Block | GradientBlock | FrontFacingBlock | WaveBlock | InputBlock | PBRMetallicRoughnessBlock | SheenBlock | AnisotropyBlock | ReflectionBlock | ClearCoatBlock | RefractionBlock | SubSurfaceBlock | CurrentScreenBlock | ParticleTextureBlock | ParticleRampGradientBlock | ParticleBlendMultiplyBlock | FragCoordBlock | ScreenSizeBlock | null;
88
+ static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): TwirlBlock | VoronoiNoiseBlock | ScreenSpaceBlock | CloudBlock | MatrixBuilderBlock | DesaturateBlock | RefractBlock | ReflectBlock | DerivativeBlock | Rotate2dBlock | NormalBlendBlock | WorleyNoise3DBlock | SimplexPerlin3DBlock | BonesBlock | InstancesBlock | MorphTargetsBlock | DiscardBlock | ImageProcessingBlock | ColorMergerBlock | VectorMergerBlock | ColorSplitterBlock | VectorSplitterBlock | TextureBlock | ReflectionTextureBlock | LightBlock | FogBlock | VertexOutputBlock | FragmentOutputBlock | AddBlock | ClampBlock | ScaleBlock | CrossBlock | DotBlock | PowBlock | MultiplyBlock | TransformBlock | TrigonometryBlock | RemapBlock | NormalizeBlock | FresnelBlock | LerpBlock | NLerpBlock | DivideBlock | SubtractBlock | ModBlock | StepBlock | SmoothStepBlock | OneMinusBlock | ReciprocalBlock | ViewDirectionBlock | LightInformationBlock | MaxBlock | MinBlock | LengthBlock | DistanceBlock | NegateBlock | PerturbNormalBlock | RandomNumberBlock | ReplaceColorBlock | PosterizeBlock | ArcTan2Block | GradientBlock | FrontFacingBlock | WaveBlock | InputBlock | PBRMetallicRoughnessBlock | SheenBlock | AnisotropyBlock | ReflectionBlock | ClearCoatBlock | RefractionBlock | SubSurfaceBlock | CurrentScreenBlock | ParticleTextureBlock | ParticleRampGradientBlock | ParticleBlendMultiplyBlock | FragCoordBlock | ScreenSizeBlock | SceneDepthBlock | ConditionalBlock | ImageSourceBlock | null;
81
89
  static GetColorFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): string;
82
90
  static GetConnectionNodeTypeFromString(type: string): NodeMaterialBlockConnectionPointTypes.Float | NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4 | NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4 | NodeMaterialBlockConnectionPointTypes.Matrix | NodeMaterialBlockConnectionPointTypes.AutoDetect;
83
91
  static GetStringFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): "Float" | "Vector2" | "Vector3" | "Vector4" | "Matrix" | "Color3" | "Color4" | "";
@@ -357,6 +365,7 @@ declare module "@babylonjs/node-editor/diagram/graphFrame" {
357
365
  private serializePortData;
358
366
  serialize(saveCollapsedState: boolean): IFrameData;
359
367
  export(): void;
368
+ adjustPorts(): void;
360
369
  static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
361
370
  [key: number]: number;
362
371
  }): GraphFrame;
@@ -420,8 +429,8 @@ declare module "@babylonjs/node-editor/diagram/nodeLink" {
420
429
  onDisposedObservable: Observable<NodeLink>;
421
430
  get isVisible(): boolean;
422
431
  set isVisible(value: boolean);
423
- get portA(): FrameNodePort | NodePort;
424
- get portB(): FrameNodePort | NodePort | undefined;
432
+ get portA(): NodePort | FrameNodePort;
433
+ get portB(): NodePort | FrameNodePort | undefined;
425
434
  get nodeA(): GraphNode;
426
435
  get nodeB(): GraphNode | undefined;
427
436
  update(endX?: number, endY?: number, straight?: boolean): void;
@@ -433,12 +442,12 @@ declare module "@babylonjs/node-editor/diagram/nodeLink" {
433
442
  declare module "@babylonjs/node-editor/diagram/graphCanvas" {
434
443
  import * as React from "react";
435
444
  import { GlobalState } from "@babylonjs/node-editor/globalState";
436
- import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
445
+ import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
437
446
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
438
- import { Nullable } from '@babylonjs/core/types';
447
+ import { Nullable } from "@babylonjs/core/types";
439
448
  import { NodeLink } from "@babylonjs/node-editor/diagram/nodeLink";
440
449
  import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
441
- import { NodeMaterialConnectionPoint } from '@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint';
450
+ import { NodeMaterialConnectionPoint } from "@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint";
442
451
  import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
443
452
  import { IEditorData, IFrameData } from "@babylonjs/node-editor/nodeLocationInfo";
444
453
  import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
@@ -509,6 +518,7 @@ declare module "@babylonjs/node-editor/diagram/graphCanvas" {
509
518
  get selectionContainer(): HTMLDivElement;
510
519
  get frameContainer(): HTMLDivElement;
511
520
  constructor(props: IGraphCanvasComponentProps);
521
+ static _RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
512
522
  getGridPosition(position: number, useCeil?: boolean): number;
513
523
  getGridPositionCeil(position: number): number;
514
524
  updateTransform(): void;
@@ -566,10 +576,12 @@ declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
566
576
  private _localChange;
567
577
  private _store;
568
578
  private _regExp;
579
+ private _onFocus;
569
580
  constructor(props: IFloatLineComponentProps);
570
581
  shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
571
582
  value: string;
572
583
  }): boolean;
584
+ componentWillUnmount(): void;
573
585
  raiseOnPropertyChanged(newValue: number, previousValue: number): void;
574
586
  updateValue(valueString: string): void;
575
587
  render(): JSX.Element;
@@ -578,7 +590,7 @@ declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
578
590
  declare module "@babylonjs/node-editor/components/propertyTab/properties/floatPropertyTabComponent" {
579
591
  import * as React from "react";
580
592
  import { GlobalState } from "@babylonjs/node-editor/globalState";
581
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
593
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
582
594
  interface IFloatPropertyTabComponentProps {
583
595
  globalState: GlobalState;
584
596
  inputBlock: InputBlock;
@@ -684,7 +696,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector2LineComponent" {
684
696
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector2PropertyTabComponent" {
685
697
  import * as React from "react";
686
698
  import { GlobalState } from "@babylonjs/node-editor/globalState";
687
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
699
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
688
700
  interface IVector2PropertyTabComponentProps {
689
701
  globalState: GlobalState;
690
702
  inputBlock: InputBlock;
@@ -734,6 +746,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
734
746
  */
735
747
  export interface IColorPickerProps {
736
748
  color: Color3 | Color4;
749
+ linearhint?: boolean;
737
750
  debugMode?: boolean;
738
751
  onColorChanged?: (color: Color3 | Color4) => void;
739
752
  }
@@ -753,6 +766,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
753
766
  private _isSaturationPointerDown;
754
767
  private _isHuePointerDown;
755
768
  constructor(props: IColorPickerProps);
769
+ shouldComponentUpdate(nextProps: IColorPickerProps, nextState: IColorPickerState): boolean;
756
770
  onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
757
771
  onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
758
772
  onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
@@ -768,7 +782,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
768
782
  }
769
783
  declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
770
784
  import * as React from "react";
771
- import { Color4, Color3 } from '@babylonjs/core/Maths/math.color';
785
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
772
786
  import { GlobalState } from "@babylonjs/node-editor/globalState";
773
787
  export interface IColorPickerComponentProps {
774
788
  value: Color4 | Color3;
@@ -795,7 +809,7 @@ declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
795
809
  declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
796
810
  import * as React from "react";
797
811
  import { Observable } from "@babylonjs/core/Misc/observable";
798
- import { Color3 } from "@babylonjs/core/Maths/math.color";
812
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
799
813
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
800
814
  import { GlobalState } from "@babylonjs/node-editor/globalState";
801
815
  export interface IColor3LineComponentProps {
@@ -808,16 +822,16 @@ declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
808
822
  }
809
823
  export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
810
824
  isExpanded: boolean;
811
- color: Color3;
825
+ color: Color3 | Color4;
812
826
  }> {
813
827
  private _localChange;
814
828
  constructor(props: IColor3LineComponentProps);
815
829
  shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
816
- color: Color3;
830
+ color: Color3 | Color4;
817
831
  }): boolean;
818
832
  onChange(newValue: string): void;
819
833
  switchExpandState(): void;
820
- raiseOnPropertyChanged(previousValue: Color3): void;
834
+ raiseOnPropertyChanged(previousValue: Color3 | Color4): void;
821
835
  updateStateR(value: number): void;
822
836
  updateStateG(value: number): void;
823
837
  updateStateB(value: number): void;
@@ -828,7 +842,7 @@ declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
828
842
  declare module "@babylonjs/node-editor/components/propertyTab/properties/color3PropertyTabComponent" {
829
843
  import * as React from "react";
830
844
  import { GlobalState } from "@babylonjs/node-editor/globalState";
831
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
845
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
832
846
  interface IColor3PropertyTabComponentProps {
833
847
  globalState: GlobalState;
834
848
  inputBlock: InputBlock;
@@ -877,7 +891,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector3LineComponent" {
877
891
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector3PropertyTabComponent" {
878
892
  import * as React from "react";
879
893
  import { GlobalState } from "@babylonjs/node-editor/globalState";
880
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
894
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
881
895
  interface IVector3PropertyTabComponentProps {
882
896
  globalState: GlobalState;
883
897
  inputBlock: InputBlock;
@@ -928,7 +942,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector4LineComponent" {
928
942
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector4PropertyTabComponent" {
929
943
  import * as React from "react";
930
944
  import { GlobalState } from "@babylonjs/node-editor/globalState";
931
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
945
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
932
946
  interface IVector4PropertyTabComponentProps {
933
947
  globalState: GlobalState;
934
948
  inputBlock: InputBlock;
@@ -941,16 +955,13 @@ declare module "@babylonjs/node-editor/sharedComponents/optionsLineComponent" {
941
955
  import * as React from "react";
942
956
  import { Observable } from "@babylonjs/core/Misc/observable";
943
957
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
944
- class ListLineOption {
945
- label: string;
946
- value: number | string;
947
- }
958
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
948
959
  interface IOptionsLineComponentProps {
949
960
  label: string;
950
961
  target: any;
951
962
  className?: string;
952
963
  propertyName?: string;
953
- options: ListLineOption[];
964
+ options: IInspectableOptions[];
954
965
  noDirectUpdate?: boolean;
955
966
  onSelect?: (value: number | string) => void;
956
967
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
@@ -1012,7 +1023,7 @@ declare module "@babylonjs/node-editor/sharedComponents/matrixLineComponent" {
1012
1023
  declare module "@babylonjs/node-editor/components/propertyTab/properties/matrixPropertyTabComponent" {
1013
1024
  import * as React from "react";
1014
1025
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1015
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1026
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1016
1027
  interface IMatrixPropertyTabComponentProps {
1017
1028
  globalState: GlobalState;
1018
1029
  inputBlock: InputBlock;
@@ -1065,10 +1076,12 @@ declare module "@babylonjs/node-editor/sharedComponents/textInputLineComponent"
1065
1076
  value: string;
1066
1077
  }> {
1067
1078
  private _localChange;
1079
+ private _onFocus;
1068
1080
  constructor(props: ITextInputLineComponentProps);
1069
1081
  shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
1070
1082
  value: string;
1071
1083
  }): boolean;
1084
+ componentWillUnmount(): void;
1072
1085
  raiseOnPropertyChanged(newValue: string, previousValue: string): void;
1073
1086
  updateValue(value: string, raisePropertyChanged: boolean): void;
1074
1087
  render(): JSX.Element;
@@ -1123,6 +1136,7 @@ declare module "@babylonjs/node-editor/sharedComponents/checkBoxLineComponent" {
1123
1136
  declare module "@babylonjs/node-editor/diagram/properties/genericNodePropertyComponent" {
1124
1137
  import * as React from "react";
1125
1138
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1139
+ import { Scene } from "@babylonjs/core/scene";
1126
1140
  export class GenericPropertyComponent extends React.Component<IPropertyComponentProps> {
1127
1141
  constructor(props: IPropertyComponentProps);
1128
1142
  render(): JSX.Element;
@@ -1134,8 +1148,10 @@ declare module "@babylonjs/node-editor/diagram/properties/genericNodePropertyCom
1134
1148
  export class GenericPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1135
1149
  constructor(props: IPropertyComponentProps);
1136
1150
  forceRebuild(notifiers?: {
1137
- "rebuild"?: boolean;
1138
- "update"?: boolean;
1151
+ rebuild?: boolean;
1152
+ update?: boolean;
1153
+ activatePreviewCommand?: boolean;
1154
+ callback?: (scene: Scene) => void;
1139
1155
  }): void;
1140
1156
  render(): JSX.Element;
1141
1157
  }
@@ -1177,7 +1193,7 @@ declare module "@babylonjs/node-editor/sharedComponents/color4LineComponent" {
1177
1193
  declare module "@babylonjs/node-editor/components/propertyTab/properties/color4PropertyTabComponent" {
1178
1194
  import * as React from "react";
1179
1195
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1180
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1196
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1181
1197
  interface IColor4PropertyTabComponentProps {
1182
1198
  globalState: GlobalState;
1183
1199
  inputBlock: InputBlock;
@@ -1209,9 +1225,9 @@ declare module "@babylonjs/node-editor/diagram/properties/transformNodePropertyC
1209
1225
  }
1210
1226
  }
1211
1227
  declare module "@babylonjs/node-editor/diagram/properties/gradientStepComponent" {
1212
- import * as React from 'react';
1228
+ import * as React from "react";
1213
1229
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1214
- import { GradientBlockColorStep } from '@babylonjs/core/Materials/Node/Blocks/gradientBlock';
1230
+ import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
1215
1231
  interface IGradientStepComponentProps {
1216
1232
  globalState: GlobalState;
1217
1233
  step: GradientBlockColorStep;
@@ -1236,6 +1252,7 @@ declare module "@babylonjs/node-editor/sharedComponents/buttonLineComponent" {
1236
1252
  export interface IButtonLineComponentProps {
1237
1253
  label: string;
1238
1254
  onClick: () => void;
1255
+ isDisabled?: boolean;
1239
1256
  }
1240
1257
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
1241
1258
  constructor(props: IButtonLineComponentProps);
@@ -1244,7 +1261,7 @@ declare module "@babylonjs/node-editor/sharedComponents/buttonLineComponent" {
1244
1261
  }
1245
1262
  declare module "@babylonjs/node-editor/diagram/properties/gradientNodePropertyComponent" {
1246
1263
  import * as React from "react";
1247
- import { GradientBlockColorStep } from '@babylonjs/core/Materials/Node/Blocks/gradientBlock';
1264
+ import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
1248
1265
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1249
1266
  export class GradientPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1250
1267
  private onValueChangedObserver;
@@ -1291,12 +1308,12 @@ declare module "@babylonjs/node-editor/sharedComponents/fileButtonLineComponent"
1291
1308
  declare module "@babylonjs/node-editor/diagram/properties/texturePropertyTabComponent" {
1292
1309
  import * as React from "react";
1293
1310
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1294
- import { ReflectionTextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock';
1295
- import { ReflectionBlock } from '@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock';
1296
- import { RefractionBlock } from '@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock';
1297
- import { TextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock';
1298
- import { CurrentScreenBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock';
1299
- import { ParticleTextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock';
1311
+ import { ReflectionTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock";
1312
+ import { ReflectionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock";
1313
+ import { RefractionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock";
1314
+ import { TextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock";
1315
+ import { CurrentScreenBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock";
1316
+ import { ParticleTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock";
1300
1317
  type ReflectionTexture = ReflectionTextureBlock | ReflectionBlock | RefractionBlock;
1301
1318
  type AnyTexture = TextureBlock | ReflectionTexture | CurrentScreenBlock | ParticleTextureBlock;
1302
1319
  export class TexturePropertyTabComponent extends React.Component<IPropertyComponentProps, {
@@ -1331,6 +1348,56 @@ declare module "@babylonjs/node-editor/diagram/properties/trigonometryNodeProper
1331
1348
  render(): JSX.Element;
1332
1349
  }
1333
1350
  }
1351
+ declare module "@babylonjs/node-editor/diagram/properties/conditionalNodePropertyComponent" {
1352
+ import * as React from "react";
1353
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1354
+ export class ConditionalPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1355
+ constructor(props: IPropertyComponentProps);
1356
+ render(): JSX.Element;
1357
+ }
1358
+ }
1359
+ declare module "@babylonjs/node-editor/diagram/properties/imageSourcePropertyTabComponent" {
1360
+ import * as React from "react";
1361
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1362
+ import { ImageSourceBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/imageSourceBlock";
1363
+ export class ImageSourcePropertyTabComponent extends React.Component<IPropertyComponentProps, {
1364
+ isEmbedded: boolean;
1365
+ }> {
1366
+ get imageSourceBlock(): ImageSourceBlock;
1367
+ constructor(props: IPropertyComponentProps);
1368
+ UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
1369
+ isEmbedded: boolean;
1370
+ loadAsCubeTexture: boolean;
1371
+ }): void;
1372
+ private _generateRandomForCache;
1373
+ updateAfterTextureLoad(): void;
1374
+ removeTexture(): void;
1375
+ _prepareTexture(): void;
1376
+ /**
1377
+ * Replaces the texture of the node
1378
+ * @param file the file of the texture to use
1379
+ */
1380
+ replaceTexture(file: File): void;
1381
+ replaceTextureWithUrl(url: string): void;
1382
+ render(): JSX.Element;
1383
+ }
1384
+ }
1385
+ declare module "@babylonjs/node-editor/diagram/properties/vectorMergerPropertyComponent" {
1386
+ import * as React from "react";
1387
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1388
+ export class VectorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1389
+ constructor(props: IPropertyComponentProps);
1390
+ render(): JSX.Element;
1391
+ }
1392
+ }
1393
+ declare module "@babylonjs/node-editor/diagram/properties/colorMergerPropertyComponent" {
1394
+ import * as React from "react";
1395
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1396
+ export class ColorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1397
+ constructor(props: IPropertyComponentProps);
1398
+ render(): JSX.Element;
1399
+ }
1400
+ }
1334
1401
  declare module "@babylonjs/node-editor/diagram/propertyLedger" {
1335
1402
  import { ComponentClass } from 'react';
1336
1403
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
@@ -1478,6 +1545,30 @@ declare module "@babylonjs/node-editor/diagram/display/pbrDisplayManager" {
1478
1545
  updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1479
1546
  }
1480
1547
  }
1548
+ declare module "@babylonjs/node-editor/diagram/display/conditionalDisplayManager" {
1549
+ import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1550
+ import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1551
+ export class ConditionalDisplayManager implements IDisplayManager {
1552
+ getHeaderClass(block: NodeMaterialBlock): string;
1553
+ shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1554
+ getHeaderText(block: NodeMaterialBlock): string;
1555
+ getBackgroundColor(block: NodeMaterialBlock): string;
1556
+ updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1557
+ }
1558
+ }
1559
+ declare module "@babylonjs/node-editor/diagram/display/imageSourceDisplayManager" {
1560
+ import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1561
+ import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1562
+ export class imageSourceDisplayManager implements IDisplayManager {
1563
+ private _previewCanvas;
1564
+ private _previewImage;
1565
+ getHeaderClass(block: NodeMaterialBlock): string;
1566
+ shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1567
+ getHeaderText(block: NodeMaterialBlock): string;
1568
+ getBackgroundColor(block: NodeMaterialBlock): string;
1569
+ updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1570
+ }
1571
+ }
1481
1572
  declare module "@babylonjs/node-editor/diagram/displayLedger" {
1482
1573
  export class DisplayLedger {
1483
1574
  static RegisteredControls: {
@@ -1497,6 +1588,8 @@ declare module "@babylonjs/node-editor/diagram/graphNode" {
1497
1588
  export class GraphNode {
1498
1589
  block: NodeMaterialBlock;
1499
1590
  private _visual;
1591
+ private _headerContainer;
1592
+ private _promotionWarning;
1500
1593
  private _header;
1501
1594
  private _connections;
1502
1595
  private _inputsContainer;
@@ -1544,7 +1637,7 @@ declare module "@babylonjs/node-editor/diagram/graphNode" {
1544
1637
  set isSelected(value: boolean);
1545
1638
  constructor(block: NodeMaterialBlock, globalState: GlobalState);
1546
1639
  isOverlappingFrame(frame: GraphFrame): boolean;
1547
- getPortForConnectionPoint(point: NodeMaterialConnectionPoint): Nullable<NodePort>;
1640
+ getPortForConnectionPoint(point: NodeMaterialConnectionPoint): NodePort | null;
1548
1641
  getLinksForConnectionPoint(point: NodeMaterialConnectionPoint): NodeLink[];
1549
1642
  private _refreshFrames;
1550
1643
  _refreshLinks(): void;
@@ -1580,10 +1673,10 @@ declare module "@babylonjs/node-editor/globalState" {
1580
1673
  hostDocument: HTMLDocument;
1581
1674
  hostWindow: Window;
1582
1675
  onSelectionChangedObservable: Observable<Nullable<GraphFrame | GraphNode | NodePort | NodeLink | FramePortData>>;
1583
- onRebuildRequiredObservable: Observable<void>;
1676
+ onRebuildRequiredObservable: Observable<boolean>;
1584
1677
  onBuiltObservable: Observable<void>;
1585
1678
  onResetRequiredObservable: Observable<void>;
1586
- onUpdateRequiredObservable: Observable<void>;
1679
+ onUpdateRequiredObservable: Observable<Nullable<NodeMaterialBlock>>;
1587
1680
  onZoomToFitRequiredObservable: Observable<void>;
1588
1681
  onReOrganizedRequiredObservable: Observable<void>;
1589
1682
  onLogRequiredObservable: Observable<LogEntry>;
@@ -1596,16 +1689,18 @@ declare module "@babylonjs/node-editor/globalState" {
1596
1689
  onDepthPrePassChanged: Observable<void>;
1597
1690
  onAnimationCommandActivated: Observable<void>;
1598
1691
  onCandidateLinkMoved: Observable<Nullable<Vector2>>;
1599
- onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
1692
+ onSelectionBoxMoved: Observable<ClientRect | DOMRect>;
1600
1693
  onFrameCreatedObservable: Observable<GraphFrame>;
1601
- onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
1694
+ onCandidatePortSelectedObservable: Observable<Nullable<NodePort | FrameNodePort>>;
1602
1695
  onImportFrameObservable: Observable<any>;
1603
1696
  onGraphNodeRemovalObservable: Observable<GraphNode>;
1697
+ onPopupClosedObservable: Observable<void>;
1604
1698
  onGetNodeFromBlock: (block: NodeMaterialBlock) => GraphNode;
1605
1699
  onGridSizeChanged: Observable<void>;
1606
1700
  onExposePortOnFrameObservable: Observable<GraphNode>;
1607
1701
  previewType: PreviewType;
1608
1702
  previewFile: File;
1703
+ particleSystemBlendMode: number;
1609
1704
  listOfCustomPreviewFiles: File[];
1610
1705
  rotatePreview: boolean;
1611
1706
  backgroundColor: Color4;
@@ -1648,6 +1743,7 @@ declare module "@babylonjs/node-editor/sharedComponents/draggableLineWithButtonC
1648
1743
  iconImage: any;
1649
1744
  onIconClick: (value: string) => void;
1650
1745
  iconTitle: string;
1746
+ lenSuffixToRemove?: number;
1651
1747
  }
1652
1748
  export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
1653
1749
  constructor(props: IDraggableLineWithButtonComponent);
@@ -1687,18 +1783,21 @@ declare module "@babylonjs/node-editor/components/nodeList/nodeListComponent" {
1687
1783
  private _onResetRequiredObserver;
1688
1784
  private static _Tooltips;
1689
1785
  private _customFrameList;
1786
+ private _customBlockList;
1690
1787
  constructor(props: INodeListComponentProps);
1691
1788
  componentWillUnmount(): void;
1692
1789
  filterContent(filter: string): void;
1693
1790
  loadCustomFrame(file: File): void;
1694
1791
  removeItem(value: string): void;
1792
+ loadCustomBlock(file: File): void;
1793
+ removeCustomBlock(value: string): void;
1695
1794
  render(): JSX.Element;
1696
1795
  }
1697
1796
  }
1698
1797
  declare module "@babylonjs/node-editor/components/propertyTab/inputsPropertyTabComponent" {
1699
1798
  import * as React from "react";
1700
1799
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1701
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1800
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1702
1801
  interface IInputsPropertyTabComponentProps {
1703
1802
  globalState: GlobalState;
1704
1803
  inputs: InputBlock[];
@@ -1765,10 +1864,10 @@ declare module "@babylonjs/node-editor/diagram/properties/nodePortPropertyCompon
1765
1864
  declare module "@babylonjs/node-editor/components/propertyTab/propertyTabComponent" {
1766
1865
  import * as React from "react";
1767
1866
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1768
- import { Nullable } from '@babylonjs/core/types';
1867
+ import { Nullable } from "@babylonjs/core/types";
1769
1868
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1770
1869
  import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
1771
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1870
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1772
1871
  import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
1773
1872
  import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
1774
1873
  interface IPropertyTabComponentProps {
@@ -1779,6 +1878,7 @@ declare module "@babylonjs/node-editor/components/propertyTab/propertyTabCompone
1779
1878
  currentFrame: Nullable<GraphFrame>;
1780
1879
  currentFrameNodePort: Nullable<FrameNodePort>;
1781
1880
  currentNodePort: Nullable<NodePort>;
1881
+ uploadInProgress: boolean;
1782
1882
  }
1783
1883
  export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
1784
1884
  private _onBuiltObserver;
@@ -1896,6 +1996,7 @@ declare module "@babylonjs/node-editor/components/preview/previewAreaComponent"
1896
1996
  componentWillUnmount(): void;
1897
1997
  changeBackFaceCulling(value: boolean): void;
1898
1998
  changeDepthPrePass(value: boolean): void;
1999
+ changeParticleSystemBlendMode(newOne: number): void;
1899
2000
  render(): JSX.Element;
1900
2001
  }
1901
2002
  }
@@ -1908,8 +2009,8 @@ declare module "@babylonjs/node-editor/sharedComponents/popup" {
1908
2009
  declare module "@babylonjs/node-editor/graphEditor" {
1909
2010
  import * as React from "react";
1910
2011
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1911
- import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1912
- import { Nullable } from '@babylonjs/core/types';
2012
+ import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
2013
+ import { Nullable } from "@babylonjs/core/types";
1913
2014
  import { IEditorData } from "@babylonjs/node-editor/nodeLocationInfo";
1914
2015
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1915
2016
  import { IInspectorOptions } from "@babylonjs/core/Debug/debugLayer";
@@ -1954,7 +2055,7 @@ declare module "@babylonjs/node-editor/graphEditor" {
1954
2055
  reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
1955
2056
  pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, selectNew?: boolean): GraphNode[] | undefined;
1956
2057
  zoomToFit(): void;
1957
- buildMaterial(): void;
2058
+ buildMaterial(autoConfigure?: boolean): void;
1958
2059
  build(): void;
1959
2060
  loadGraph(): void;
1960
2061
  showWaitScreen(): void;
@@ -2023,6 +2124,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/booleanLineCompo
2023
2124
  export interface IBooleanLineComponentProps {
2024
2125
  label: string;
2025
2126
  value: boolean;
2127
+ icon?: string;
2128
+ iconLabel?: string;
2026
2129
  }
2027
2130
  export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
2028
2131
  constructor(props: IBooleanLineComponentProps);
@@ -2034,6 +2137,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/buttonLineCompon
2034
2137
  export interface IButtonLineComponentProps {
2035
2138
  label: string;
2036
2139
  onClick: () => void;
2140
+ icon?: string;
2141
+ iconLabel?: string;
2037
2142
  }
2038
2143
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
2039
2144
  constructor(props: IButtonLineComponentProps);
@@ -2045,7 +2150,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2045
2150
  import { Observable } from "@babylonjs/core/Misc/observable";
2046
2151
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2047
2152
  export interface ICheckBoxLineComponentProps {
2048
- label: string;
2153
+ label?: string;
2049
2154
  target?: any;
2050
2155
  propertyName?: string;
2051
2156
  isSelected?: () => boolean;
@@ -2053,6 +2158,10 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2053
2158
  onValueChanged?: () => void;
2054
2159
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2055
2160
  disabled?: boolean;
2161
+ icon?: string;
2162
+ iconLabel?: string;
2163
+ faIcons?: {
2164
+ };
2056
2165
  }
2057
2166
  export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
2058
2167
  isSelected: boolean;
@@ -2078,6 +2187,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2078
2187
  step?: number;
2079
2188
  onChange: (value: number) => void;
2080
2189
  precision?: number;
2190
+ icon?: string;
2191
+ iconLabel?: string;
2081
2192
  }
2082
2193
  export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
2083
2194
  value: string;
@@ -2097,10 +2208,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2097
2208
  }
2098
2209
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerComponent" {
2099
2210
  import * as React from "react";
2100
- import { Color4, Color3 } from '@babylonjs/core/Maths/math.color';
2211
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
2101
2212
  export interface IColorPickerComponentProps {
2102
2213
  value: Color4 | Color3;
2214
+ linearHint?: boolean;
2103
2215
  onColorChanged: (newOne: string) => void;
2216
+ icon?: string;
2217
+ iconLabel?: string;
2218
+ shouldPopRight?: boolean;
2104
2219
  }
2105
2220
  interface IColorPickerComponentState {
2106
2221
  pickerEnabled: boolean;
@@ -2118,35 +2233,91 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerCompo
2118
2233
  render(): JSX.Element;
2119
2234
  }
2120
2235
  }
2236
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2237
+ /**
2238
+ * Class used to provide lock mechanism
2239
+ */
2240
+ export class LockObject {
2241
+ /**
2242
+ * Gets or set if the lock is engaged
2243
+ */
2244
+ lock: boolean;
2245
+ }
2246
+ }
2247
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineComponent" {
2248
+ import * as React from "react";
2249
+ import { Observable } from "@babylonjs/core/Misc/observable";
2250
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2251
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2252
+ interface ITextInputLineComponentProps {
2253
+ label: string;
2254
+ lockObject: LockObject;
2255
+ target?: any;
2256
+ propertyName?: string;
2257
+ value?: string;
2258
+ onChange?: (value: string) => void;
2259
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2260
+ icon?: string;
2261
+ iconLabel?: string;
2262
+ noUnderline?: boolean;
2263
+ numbersOnly?: boolean;
2264
+ delayInput?: boolean;
2265
+ }
2266
+ export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2267
+ value: string;
2268
+ }> {
2269
+ private _localChange;
2270
+ constructor(props: ITextInputLineComponentProps);
2271
+ componentWillUnmount(): void;
2272
+ shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
2273
+ value: string;
2274
+ }): boolean;
2275
+ raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2276
+ updateValue(value: string): void;
2277
+ render(): JSX.Element;
2278
+ }
2279
+ }
2121
2280
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/color3LineComponent" {
2122
2281
  import * as React from "react";
2123
2282
  import { Observable } from "@babylonjs/core/Misc/observable";
2124
2283
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2125
- import { Color3 } from '@babylonjs/core/Maths/math.color';
2284
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
2285
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2126
2286
  export interface IColor3LineComponentProps {
2127
2287
  label: string;
2128
2288
  target: any;
2129
2289
  propertyName: string;
2130
2290
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2131
2291
  isLinear?: boolean;
2292
+ icon?: string;
2293
+ lockObject?: LockObject;
2294
+ iconLabel?: string;
2295
+ onValueChange?: (value: string) => void;
2132
2296
  }
2133
2297
  export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
2134
2298
  isExpanded: boolean;
2135
- color: Color3;
2299
+ color: Color3 | Color4;
2300
+ colorText: string;
2136
2301
  }> {
2137
2302
  private _localChange;
2138
2303
  constructor(props: IColor3LineComponentProps);
2304
+ private convertToColor3;
2139
2305
  shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
2140
- color: Color3;
2306
+ color: Color3 | Color4;
2307
+ colorText: string;
2141
2308
  }): boolean;
2142
- setPropertyValue(newColor: Color3): void;
2309
+ setPropertyValue(newColor: Color3 | Color4, newColorText: string): void;
2143
2310
  onChange(newValue: string): void;
2144
2311
  switchExpandState(): void;
2145
- raiseOnPropertyChanged(previousValue: Color3): void;
2312
+ raiseOnPropertyChanged(previousValue: Color3 | Color4): void;
2146
2313
  updateStateR(value: number): void;
2147
2314
  updateStateG(value: number): void;
2148
2315
  updateStateB(value: number): void;
2149
2316
  copyToClipboard(): void;
2317
+ convert(colorString: string): void;
2318
+ private _colorStringSaved;
2319
+ private _colorPickerOpen;
2320
+ private _colorString;
2150
2321
  render(): JSX.Element;
2151
2322
  }
2152
2323
  }
@@ -2162,6 +2333,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/color4LineCompon
2162
2333
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2163
2334
  onChange?: () => void;
2164
2335
  isLinear?: boolean;
2336
+ icon?: string;
2337
+ iconLabel?: string;
2165
2338
  }
2166
2339
  export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
2167
2340
  isExpanded: boolean;
@@ -2201,6 +2374,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileButtonLineCo
2201
2374
  label: string;
2202
2375
  onClick: (file: File) => void;
2203
2376
  accept: string;
2377
+ icon?: string;
2378
+ iconLabel?: string;
2204
2379
  }
2205
2380
  export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
2206
2381
  private static _IDGenerator;
@@ -2217,6 +2392,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButt
2217
2392
  label: string;
2218
2393
  onClick: (event: any) => void;
2219
2394
  accept: string;
2395
+ icon?: string;
2396
+ iconLabel?: string;
2220
2397
  }
2221
2398
  export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
2222
2399
  private static _IDGenerator;
@@ -2227,21 +2404,11 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButt
2227
2404
  render(): JSX.Element;
2228
2405
  }
2229
2406
  }
2230
- declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2231
- /**
2232
- * Class used to provide lock mechanism
2233
- */
2234
- export class LockObject {
2235
- /**
2236
- * Gets or set if the lock is engaged
2237
- */
2238
- lock: boolean;
2239
- }
2240
- }
2241
2407
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/sliderLineComponent" {
2242
2408
  import * as React from "react";
2243
2409
  import { Observable } from "@babylonjs/core/Misc/observable";
2244
2410
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2411
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2245
2412
  interface ISliderLineComponentProps {
2246
2413
  label: string;
2247
2414
  target?: any;
@@ -2256,6 +2423,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/sliderLineCompon
2256
2423
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2257
2424
  decimalCount?: number;
2258
2425
  margin?: boolean;
2426
+ icon?: string;
2427
+ iconLabel?: string;
2428
+ lockObject?: LockObject;
2259
2429
  }
2260
2430
  export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
2261
2431
  value: number;
@@ -2292,6 +2462,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/floatLineCompone
2292
2462
  max?: number;
2293
2463
  smallUI?: boolean;
2294
2464
  onEnter?: (newValue: number) => void;
2465
+ icon?: string;
2466
+ iconLabel?: string;
2467
+ defaultValue?: number;
2295
2468
  }
2296
2469
  export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
2297
2470
  value: string;
@@ -2329,6 +2502,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/hexLineComponent
2329
2502
  digits?: number;
2330
2503
  useEuler?: boolean;
2331
2504
  min?: number;
2505
+ icon?: string;
2506
+ iconLabel?: string;
2332
2507
  }
2333
2508
  export class HexLineComponent extends React.Component<IHexLineComponentProps, {
2334
2509
  value: string;
@@ -2349,8 +2524,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/hexLineComponent
2349
2524
  render(): JSX.Element;
2350
2525
  }
2351
2526
  }
2527
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer" {
2528
+ export interface ISelectedLineContainer {
2529
+ selectedLineContainerTitles: Array<string>;
2530
+ selectedLineContainerTitlesNoFocus: Array<string>;
2531
+ }
2532
+ }
2352
2533
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/iconButtonLineComponent" {
2353
- import * as React from 'react';
2534
+ import * as React from "react";
2354
2535
  export interface IIconButtonLineComponentProps {
2355
2536
  icon: string;
2356
2537
  onClick: () => void;
@@ -2381,17 +2562,21 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/indentedTextLine
2381
2562
  }
2382
2563
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/lineContainerComponent" {
2383
2564
  import * as React from "react";
2565
+ import { ISelectedLineContainer } from "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer";
2384
2566
  interface ILineContainerComponentProps {
2567
+ selection?: ISelectedLineContainer;
2385
2568
  title: string;
2386
2569
  children: any[] | any;
2387
2570
  closed?: boolean;
2388
2571
  }
2389
2572
  export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
2390
2573
  isExpanded: boolean;
2574
+ isHighlighted: boolean;
2391
2575
  }> {
2392
2576
  constructor(props: ILineContainerComponentProps);
2393
2577
  switchExpandedState(): void;
2394
2578
  renderHeader(): JSX.Element;
2579
+ componentDidMount(): void;
2395
2580
  render(): JSX.Element;
2396
2581
  }
2397
2582
  }
@@ -2425,22 +2610,20 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/optionsLineCompo
2425
2610
  import * as React from "react";
2426
2611
  import { Observable } from "@babylonjs/core/Misc/observable";
2427
2612
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2613
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
2428
2614
  export const Null_Value: number;
2429
- export class ListLineOption {
2430
- label: string;
2431
- value: number;
2432
- selected?: boolean;
2433
- }
2434
2615
  export interface IOptionsLineComponentProps {
2435
2616
  label: string;
2436
2617
  target: any;
2437
2618
  propertyName: string;
2438
- options: ListLineOption[];
2619
+ options: IInspectableOptions[];
2439
2620
  noDirectUpdate?: boolean;
2440
2621
  onSelect?: (value: number) => void;
2441
2622
  extractValue?: () => number;
2442
2623
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2443
2624
  allowNullValue?: boolean;
2625
+ icon?: string;
2626
+ iconLabel?: string;
2444
2627
  }
2445
2628
  export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
2446
2629
  value: number;
@@ -2471,6 +2654,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineCompone
2471
2654
  label: string;
2472
2655
  isSelected: () => boolean;
2473
2656
  onSelect: () => void;
2657
+ icon?: string;
2658
+ iconLabel?: string;
2474
2659
  }
2475
2660
  export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
2476
2661
  isSelected: boolean;
@@ -2483,34 +2668,6 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineCompone
2483
2668
  render(): JSX.Element;
2484
2669
  }
2485
2670
  }
2486
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineComponent" {
2487
- import * as React from "react";
2488
- import { Observable } from "@babylonjs/core/Misc/observable";
2489
- import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2490
- import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2491
- interface ITextInputLineComponentProps {
2492
- label: string;
2493
- lockObject: LockObject;
2494
- target?: any;
2495
- propertyName?: string;
2496
- value?: string;
2497
- onChange?: (value: string) => void;
2498
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2499
- }
2500
- export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2501
- value: string;
2502
- }> {
2503
- private _localChange;
2504
- constructor(props: ITextInputLineComponentProps);
2505
- componentWillUnmount(): void;
2506
- shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
2507
- value: string;
2508
- }): boolean;
2509
- raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2510
- updateValue(value: string): void;
2511
- render(): JSX.Element;
2512
- }
2513
- }
2514
2671
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponent" {
2515
2672
  import * as React from "react";
2516
2673
  interface ITextLineComponentProps {
@@ -2522,6 +2679,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponen
2522
2679
  url?: string;
2523
2680
  ignoreValue?: boolean;
2524
2681
  additionalClass?: string;
2682
+ icon?: string;
2683
+ iconLabel?: string;
2684
+ tooltip?: string;
2525
2685
  }
2526
2686
  export class TextLineComponent extends React.Component<ITextLineComponentProps> {
2527
2687
  constructor(props: ITextLineComponentProps);
@@ -2538,6 +2698,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/valueLineCompone
2538
2698
  color?: string;
2539
2699
  fractionDigits?: number;
2540
2700
  units?: string;
2701
+ icon?: string;
2702
+ iconLabel?: string;
2541
2703
  }
2542
2704
  export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
2543
2705
  constructor(props: IValueLineComponentProps);
@@ -2556,6 +2718,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector2LineCompo
2556
2718
  step?: number;
2557
2719
  onChange?: (newvalue: Vector2) => void;
2558
2720
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2721
+ icon?: string;
2722
+ iconLabel?: string;
2559
2723
  }
2560
2724
  export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
2561
2725
  isExpanded: boolean;
@@ -2591,6 +2755,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector3LineCompo
2591
2755
  useEuler?: boolean;
2592
2756
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2593
2757
  noSlider?: boolean;
2758
+ icon?: string;
2759
+ iconLabel?: string;
2594
2760
  }
2595
2761
  export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
2596
2762
  isExpanded: boolean;
@@ -2628,6 +2794,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector4LineCompo
2628
2794
  onChange?: (newvalue: Vector4) => void;
2629
2795
  useEuler?: boolean;
2630
2796
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2797
+ icon?: string;
2798
+ iconLabel?: string;
2631
2799
  }
2632
2800
  export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
2633
2801
  isExpanded: boolean;