@babylonjs/node-editor 5.0.0-alpha.9 → 5.0.0-beta.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.
@@ -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,9 +1689,9 @@ 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>;
1604
1697
  onPopupClosedObservable: Observable<void>;
@@ -1607,6 +1700,7 @@ declare module "@babylonjs/node-editor/globalState" {
1607
1700
  onExposePortOnFrameObservable: Observable<GraphNode>;
1608
1701
  previewType: PreviewType;
1609
1702
  previewFile: File;
1703
+ particleSystemBlendMode: number;
1610
1704
  listOfCustomPreviewFiles: File[];
1611
1705
  rotatePreview: boolean;
1612
1706
  backgroundColor: Color4;
@@ -1649,6 +1743,7 @@ declare module "@babylonjs/node-editor/sharedComponents/draggableLineWithButtonC
1649
1743
  iconImage: any;
1650
1744
  onIconClick: (value: string) => void;
1651
1745
  iconTitle: string;
1746
+ lenSuffixToRemove?: number;
1652
1747
  }
1653
1748
  export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
1654
1749
  constructor(props: IDraggableLineWithButtonComponent);
@@ -1688,18 +1783,21 @@ declare module "@babylonjs/node-editor/components/nodeList/nodeListComponent" {
1688
1783
  private _onResetRequiredObserver;
1689
1784
  private static _Tooltips;
1690
1785
  private _customFrameList;
1786
+ private _customBlockList;
1691
1787
  constructor(props: INodeListComponentProps);
1692
1788
  componentWillUnmount(): void;
1693
1789
  filterContent(filter: string): void;
1694
1790
  loadCustomFrame(file: File): void;
1695
1791
  removeItem(value: string): void;
1792
+ loadCustomBlock(file: File): void;
1793
+ removeCustomBlock(value: string): void;
1696
1794
  render(): JSX.Element;
1697
1795
  }
1698
1796
  }
1699
1797
  declare module "@babylonjs/node-editor/components/propertyTab/inputsPropertyTabComponent" {
1700
1798
  import * as React from "react";
1701
1799
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1702
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1800
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1703
1801
  interface IInputsPropertyTabComponentProps {
1704
1802
  globalState: GlobalState;
1705
1803
  inputs: InputBlock[];
@@ -1766,10 +1864,10 @@ declare module "@babylonjs/node-editor/diagram/properties/nodePortPropertyCompon
1766
1864
  declare module "@babylonjs/node-editor/components/propertyTab/propertyTabComponent" {
1767
1865
  import * as React from "react";
1768
1866
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1769
- import { Nullable } from '@babylonjs/core/types';
1867
+ import { Nullable } from "@babylonjs/core/types";
1770
1868
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1771
1869
  import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
1772
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1870
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1773
1871
  import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
1774
1872
  import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
1775
1873
  interface IPropertyTabComponentProps {
@@ -1780,6 +1878,7 @@ declare module "@babylonjs/node-editor/components/propertyTab/propertyTabCompone
1780
1878
  currentFrame: Nullable<GraphFrame>;
1781
1879
  currentFrameNodePort: Nullable<FrameNodePort>;
1782
1880
  currentNodePort: Nullable<NodePort>;
1881
+ uploadInProgress: boolean;
1783
1882
  }
1784
1883
  export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
1785
1884
  private _onBuiltObserver;
@@ -1897,6 +1996,7 @@ declare module "@babylonjs/node-editor/components/preview/previewAreaComponent"
1897
1996
  componentWillUnmount(): void;
1898
1997
  changeBackFaceCulling(value: boolean): void;
1899
1998
  changeDepthPrePass(value: boolean): void;
1999
+ changeParticleSystemBlendMode(newOne: number): void;
1900
2000
  render(): JSX.Element;
1901
2001
  }
1902
2002
  }
@@ -1909,8 +2009,8 @@ declare module "@babylonjs/node-editor/sharedComponents/popup" {
1909
2009
  declare module "@babylonjs/node-editor/graphEditor" {
1910
2010
  import * as React from "react";
1911
2011
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1912
- import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1913
- import { Nullable } from '@babylonjs/core/types';
2012
+ import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
2013
+ import { Nullable } from "@babylonjs/core/types";
1914
2014
  import { IEditorData } from "@babylonjs/node-editor/nodeLocationInfo";
1915
2015
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1916
2016
  import { IInspectorOptions } from "@babylonjs/core/Debug/debugLayer";
@@ -1955,7 +2055,7 @@ declare module "@babylonjs/node-editor/graphEditor" {
1955
2055
  reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
1956
2056
  pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, selectNew?: boolean): GraphNode[] | undefined;
1957
2057
  zoomToFit(): void;
1958
- buildMaterial(): void;
2058
+ buildMaterial(autoConfigure?: boolean): void;
1959
2059
  build(): void;
1960
2060
  loadGraph(): void;
1961
2061
  showWaitScreen(): void;
@@ -2024,6 +2124,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/booleanLineCompo
2024
2124
  export interface IBooleanLineComponentProps {
2025
2125
  label: string;
2026
2126
  value: boolean;
2127
+ icon?: string;
2128
+ iconLabel?: string;
2027
2129
  }
2028
2130
  export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
2029
2131
  constructor(props: IBooleanLineComponentProps);
@@ -2035,6 +2137,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/buttonLineCompon
2035
2137
  export interface IButtonLineComponentProps {
2036
2138
  label: string;
2037
2139
  onClick: () => void;
2140
+ icon?: string;
2141
+ iconLabel?: string;
2038
2142
  }
2039
2143
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
2040
2144
  constructor(props: IButtonLineComponentProps);
@@ -2046,7 +2150,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2046
2150
  import { Observable } from "@babylonjs/core/Misc/observable";
2047
2151
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2048
2152
  export interface ICheckBoxLineComponentProps {
2049
- label: string;
2153
+ label?: string;
2050
2154
  target?: any;
2051
2155
  propertyName?: string;
2052
2156
  isSelected?: () => boolean;
@@ -2054,6 +2158,10 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2054
2158
  onValueChanged?: () => void;
2055
2159
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2056
2160
  disabled?: boolean;
2161
+ icon?: string;
2162
+ iconLabel?: string;
2163
+ faIcons?: {
2164
+ };
2057
2165
  }
2058
2166
  export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
2059
2167
  isSelected: boolean;
@@ -2079,6 +2187,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2079
2187
  step?: number;
2080
2188
  onChange: (value: number) => void;
2081
2189
  precision?: number;
2190
+ icon?: string;
2191
+ iconLabel?: string;
2082
2192
  }
2083
2193
  export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
2084
2194
  value: string;
@@ -2098,10 +2208,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2098
2208
  }
2099
2209
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerComponent" {
2100
2210
  import * as React from "react";
2101
- import { Color4, Color3 } from '@babylonjs/core/Maths/math.color';
2211
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
2102
2212
  export interface IColorPickerComponentProps {
2103
2213
  value: Color4 | Color3;
2214
+ linearHint?: boolean;
2104
2215
  onColorChanged: (newOne: string) => void;
2216
+ icon?: string;
2217
+ iconLabel?: string;
2218
+ shouldPopRight?: boolean;
2105
2219
  }
2106
2220
  interface IColorPickerComponentState {
2107
2221
  pickerEnabled: boolean;
@@ -2119,35 +2233,91 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerCompo
2119
2233
  render(): JSX.Element;
2120
2234
  }
2121
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
+ }
2122
2280
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/color3LineComponent" {
2123
2281
  import * as React from "react";
2124
2282
  import { Observable } from "@babylonjs/core/Misc/observable";
2125
2283
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2126
- 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";
2127
2286
  export interface IColor3LineComponentProps {
2128
2287
  label: string;
2129
2288
  target: any;
2130
2289
  propertyName: string;
2131
2290
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2132
2291
  isLinear?: boolean;
2292
+ icon?: string;
2293
+ lockObject?: LockObject;
2294
+ iconLabel?: string;
2295
+ onValueChange?: (value: string) => void;
2133
2296
  }
2134
2297
  export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
2135
2298
  isExpanded: boolean;
2136
- color: Color3;
2299
+ color: Color3 | Color4;
2300
+ colorText: string;
2137
2301
  }> {
2138
2302
  private _localChange;
2139
2303
  constructor(props: IColor3LineComponentProps);
2304
+ private convertToColor3;
2140
2305
  shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
2141
- color: Color3;
2306
+ color: Color3 | Color4;
2307
+ colorText: string;
2142
2308
  }): boolean;
2143
- setPropertyValue(newColor: Color3): void;
2309
+ setPropertyValue(newColor: Color3 | Color4, newColorText: string): void;
2144
2310
  onChange(newValue: string): void;
2145
2311
  switchExpandState(): void;
2146
- raiseOnPropertyChanged(previousValue: Color3): void;
2312
+ raiseOnPropertyChanged(previousValue: Color3 | Color4): void;
2147
2313
  updateStateR(value: number): void;
2148
2314
  updateStateG(value: number): void;
2149
2315
  updateStateB(value: number): void;
2150
2316
  copyToClipboard(): void;
2317
+ convert(colorString: string): void;
2318
+ private _colorStringSaved;
2319
+ private _colorPickerOpen;
2320
+ private _colorString;
2151
2321
  render(): JSX.Element;
2152
2322
  }
2153
2323
  }
@@ -2163,6 +2333,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/color4LineCompon
2163
2333
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2164
2334
  onChange?: () => void;
2165
2335
  isLinear?: boolean;
2336
+ icon?: string;
2337
+ iconLabel?: string;
2166
2338
  }
2167
2339
  export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
2168
2340
  isExpanded: boolean;
@@ -2202,6 +2374,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileButtonLineCo
2202
2374
  label: string;
2203
2375
  onClick: (file: File) => void;
2204
2376
  accept: string;
2377
+ icon?: string;
2378
+ iconLabel?: string;
2205
2379
  }
2206
2380
  export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
2207
2381
  private static _IDGenerator;
@@ -2218,6 +2392,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButt
2218
2392
  label: string;
2219
2393
  onClick: (event: any) => void;
2220
2394
  accept: string;
2395
+ icon?: string;
2396
+ iconLabel?: string;
2221
2397
  }
2222
2398
  export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
2223
2399
  private static _IDGenerator;
@@ -2228,21 +2404,11 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButt
2228
2404
  render(): JSX.Element;
2229
2405
  }
2230
2406
  }
2231
- declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2232
- /**
2233
- * Class used to provide lock mechanism
2234
- */
2235
- export class LockObject {
2236
- /**
2237
- * Gets or set if the lock is engaged
2238
- */
2239
- lock: boolean;
2240
- }
2241
- }
2242
2407
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/sliderLineComponent" {
2243
2408
  import * as React from "react";
2244
2409
  import { Observable } from "@babylonjs/core/Misc/observable";
2245
2410
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2411
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2246
2412
  interface ISliderLineComponentProps {
2247
2413
  label: string;
2248
2414
  target?: any;
@@ -2257,6 +2423,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/sliderLineCompon
2257
2423
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2258
2424
  decimalCount?: number;
2259
2425
  margin?: boolean;
2426
+ icon?: string;
2427
+ iconLabel?: string;
2428
+ lockObject?: LockObject;
2260
2429
  }
2261
2430
  export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
2262
2431
  value: number;
@@ -2293,6 +2462,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/floatLineCompone
2293
2462
  max?: number;
2294
2463
  smallUI?: boolean;
2295
2464
  onEnter?: (newValue: number) => void;
2465
+ icon?: string;
2466
+ iconLabel?: string;
2467
+ defaultValue?: number;
2296
2468
  }
2297
2469
  export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
2298
2470
  value: string;
@@ -2330,6 +2502,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/hexLineComponent
2330
2502
  digits?: number;
2331
2503
  useEuler?: boolean;
2332
2504
  min?: number;
2505
+ icon?: string;
2506
+ iconLabel?: string;
2333
2507
  }
2334
2508
  export class HexLineComponent extends React.Component<IHexLineComponentProps, {
2335
2509
  value: string;
@@ -2350,8 +2524,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/hexLineComponent
2350
2524
  render(): JSX.Element;
2351
2525
  }
2352
2526
  }
2527
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer" {
2528
+ export interface ISelectedLineContainer {
2529
+ selectedLineContainerTitles: Array<string>;
2530
+ selectedLineContainerTitlesNoFocus: Array<string>;
2531
+ }
2532
+ }
2353
2533
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/iconButtonLineComponent" {
2354
- import * as React from 'react';
2534
+ import * as React from "react";
2355
2535
  export interface IIconButtonLineComponentProps {
2356
2536
  icon: string;
2357
2537
  onClick: () => void;
@@ -2382,17 +2562,21 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/indentedTextLine
2382
2562
  }
2383
2563
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/lineContainerComponent" {
2384
2564
  import * as React from "react";
2565
+ import { ISelectedLineContainer } from "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer";
2385
2566
  interface ILineContainerComponentProps {
2567
+ selection?: ISelectedLineContainer;
2386
2568
  title: string;
2387
2569
  children: any[] | any;
2388
2570
  closed?: boolean;
2389
2571
  }
2390
2572
  export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
2391
2573
  isExpanded: boolean;
2574
+ isHighlighted: boolean;
2392
2575
  }> {
2393
2576
  constructor(props: ILineContainerComponentProps);
2394
2577
  switchExpandedState(): void;
2395
2578
  renderHeader(): JSX.Element;
2579
+ componentDidMount(): void;
2396
2580
  render(): JSX.Element;
2397
2581
  }
2398
2582
  }
@@ -2426,22 +2610,20 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/optionsLineCompo
2426
2610
  import * as React from "react";
2427
2611
  import { Observable } from "@babylonjs/core/Misc/observable";
2428
2612
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2613
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
2429
2614
  export const Null_Value: number;
2430
- export class ListLineOption {
2431
- label: string;
2432
- value: number;
2433
- selected?: boolean;
2434
- }
2435
2615
  export interface IOptionsLineComponentProps {
2436
2616
  label: string;
2437
2617
  target: any;
2438
2618
  propertyName: string;
2439
- options: ListLineOption[];
2619
+ options: IInspectableOptions[];
2440
2620
  noDirectUpdate?: boolean;
2441
2621
  onSelect?: (value: number) => void;
2442
2622
  extractValue?: () => number;
2443
2623
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2444
2624
  allowNullValue?: boolean;
2625
+ icon?: string;
2626
+ iconLabel?: string;
2445
2627
  }
2446
2628
  export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
2447
2629
  value: number;
@@ -2472,6 +2654,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineCompone
2472
2654
  label: string;
2473
2655
  isSelected: () => boolean;
2474
2656
  onSelect: () => void;
2657
+ icon?: string;
2658
+ iconLabel?: string;
2475
2659
  }
2476
2660
  export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
2477
2661
  isSelected: boolean;
@@ -2484,34 +2668,6 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineCompone
2484
2668
  render(): JSX.Element;
2485
2669
  }
2486
2670
  }
2487
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineComponent" {
2488
- import * as React from "react";
2489
- import { Observable } from "@babylonjs/core/Misc/observable";
2490
- import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2491
- import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2492
- interface ITextInputLineComponentProps {
2493
- label: string;
2494
- lockObject: LockObject;
2495
- target?: any;
2496
- propertyName?: string;
2497
- value?: string;
2498
- onChange?: (value: string) => void;
2499
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2500
- }
2501
- export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2502
- value: string;
2503
- }> {
2504
- private _localChange;
2505
- constructor(props: ITextInputLineComponentProps);
2506
- componentWillUnmount(): void;
2507
- shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
2508
- value: string;
2509
- }): boolean;
2510
- raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2511
- updateValue(value: string): void;
2512
- render(): JSX.Element;
2513
- }
2514
- }
2515
2671
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponent" {
2516
2672
  import * as React from "react";
2517
2673
  interface ITextLineComponentProps {
@@ -2523,6 +2679,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponen
2523
2679
  url?: string;
2524
2680
  ignoreValue?: boolean;
2525
2681
  additionalClass?: string;
2682
+ icon?: string;
2683
+ iconLabel?: string;
2684
+ tooltip?: string;
2526
2685
  }
2527
2686
  export class TextLineComponent extends React.Component<ITextLineComponentProps> {
2528
2687
  constructor(props: ITextLineComponentProps);
@@ -2539,6 +2698,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/valueLineCompone
2539
2698
  color?: string;
2540
2699
  fractionDigits?: number;
2541
2700
  units?: string;
2701
+ icon?: string;
2702
+ iconLabel?: string;
2542
2703
  }
2543
2704
  export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
2544
2705
  constructor(props: IValueLineComponentProps);
@@ -2557,6 +2718,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector2LineCompo
2557
2718
  step?: number;
2558
2719
  onChange?: (newvalue: Vector2) => void;
2559
2720
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2721
+ icon?: string;
2722
+ iconLabel?: string;
2560
2723
  }
2561
2724
  export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
2562
2725
  isExpanded: boolean;
@@ -2592,6 +2755,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector3LineCompo
2592
2755
  useEuler?: boolean;
2593
2756
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2594
2757
  noSlider?: boolean;
2758
+ icon?: string;
2759
+ iconLabel?: string;
2595
2760
  }
2596
2761
  export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
2597
2762
  isExpanded: boolean;
@@ -2629,6 +2794,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector4LineCompo
2629
2794
  onChange?: (newvalue: Vector4) => void;
2630
2795
  useEuler?: boolean;
2631
2796
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2797
+ icon?: string;
2798
+ iconLabel?: string;
2632
2799
  }
2633
2800
  export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
2634
2801
  isExpanded: boolean;