@babylonjs/node-editor 6.15.0 → 6.16.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.
@@ -95,8 +95,10 @@ import { TriPlanarBlock } from "@babylonjs/core/Materials/Node/Blocks/triPlanarB
95
95
  import { MatrixDeterminantBlock } from "@babylonjs/core/Materials/Node/Blocks/matrixDeterminantBlock";
96
96
  import { MatrixTransposeBlock } from "@babylonjs/core/Materials/Node/Blocks/matrixTransposeBlock";
97
97
  import { CurveBlock } from "@babylonjs/core/Materials/Node/Blocks/curveBlock";
98
+ import { NodeMaterialTeleportInBlock } from "@babylonjs/core/Materials/Node/Blocks/Teleport/teleportInBlock";
99
+ import { NodeMaterialTeleportOutBlock } from "@babylonjs/core/Materials/Node/Blocks/Teleport/teleportOutBlock";
98
100
  export class BlockTools {
99
- static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): HeightToNormalBlock | ElbowBlock | 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 | TBNBlock | RandomNumberBlock | ReplaceColorBlock | PosterizeBlock | ArcTan2Block | GradientBlock | FrontFacingBlock | MeshAttributeExistsBlock | WaveBlock | InputBlock | PBRMetallicRoughnessBlock | SheenBlock | AnisotropyBlock | ReflectionBlock | ClearCoatBlock | RefractionBlock | SubSurfaceBlock | CurrentScreenBlock | ParticleTextureBlock | ParticleRampGradientBlock | ParticleBlendMultiplyBlock | FragCoordBlock | ScreenSizeBlock | SceneDepthBlock | ConditionalBlock | ImageSourceBlock | ClipPlanesBlock | FragDepthBlock | ShadowMapBlock | TriPlanarBlock | MatrixTransposeBlock | MatrixDeterminantBlock | CurveBlock | null;
101
+ static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): NodeMaterialTeleportInBlock | NodeMaterialTeleportOutBlock | HeightToNormalBlock | ElbowBlock | 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 | TBNBlock | RandomNumberBlock | ReplaceColorBlock | PosterizeBlock | ArcTan2Block | GradientBlock | FrontFacingBlock | MeshAttributeExistsBlock | WaveBlock | InputBlock | PBRMetallicRoughnessBlock | SheenBlock | AnisotropyBlock | ReflectionBlock | ClearCoatBlock | RefractionBlock | SubSurfaceBlock | CurrentScreenBlock | ParticleTextureBlock | ParticleRampGradientBlock | ParticleBlendMultiplyBlock | FragCoordBlock | ScreenSizeBlock | SceneDepthBlock | ConditionalBlock | ImageSourceBlock | ClipPlanesBlock | FragDepthBlock | ShadowMapBlock | TriPlanarBlock | MatrixTransposeBlock | MatrixDeterminantBlock | CurveBlock | null;
100
102
  static GetColorFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): string;
101
103
  static GetConnectionNodeTypeFromString(type: string): NodeMaterialBlockConnectionPointTypes.Float | NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4 | NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4 | NodeMaterialBlockConnectionPointTypes.Matrix | NodeMaterialBlockConnectionPointTypes.AutoDetect;
102
104
  static GetStringFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): "" | "Float" | "Vector2" | "Vector3" | "Vector4" | "Matrix" | "Color3" | "Color4";
@@ -119,6 +121,7 @@ export class LogEntry {
119
121
  export class LogComponent extends React.Component<ILogComponentProps, {
120
122
  logs: LogEntry[];
121
123
  }> {
124
+ private _logConsoleRef;
122
125
  constructor(props: ILogComponentProps);
123
126
  componentDidMount(): void;
124
127
  componentDidUpdate(): void;
@@ -545,7 +548,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
545
548
  componentWillUnmount(): void;
546
549
  constructor(props: IGraphEditorProps);
547
550
  zoomToFit(): void;
548
- buildMaterial(autoConfigure?: boolean): void;
551
+ buildMaterial(): void;
549
552
  build(ignoreEditorData?: boolean): void;
550
553
  loadGraph(): void;
551
554
  showWaitScreen(): void;
@@ -591,6 +594,7 @@ export class BlockNodeData implements INodeData {
591
594
  getPortByName(name: string): IPortData | null;
592
595
  dispose(): void;
593
596
  prepareHeaderIcon(iconDiv: HTMLDivElement, img: HTMLImageElement): void;
597
+ get invisibleEndpoints(): import("@babylonjs/core/Materials/Node/Blocks").NodeMaterialTeleportOutBlock[] | null;
594
598
  constructor(data: NodeMaterialBlock, nodeContainer: INodeContainer);
595
599
  }
596
600
 
@@ -784,6 +788,40 @@ export class RemapDisplayManager implements IDisplayManager {
784
788
  updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
785
789
  }
786
790
 
791
+ }
792
+ declare module "@babylonjs/node-editor/graphSystem/display/teleportInDisplayManager" {
793
+ import { IDisplayManager } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/displayManager";
794
+ import { INodeData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/nodeData";
795
+ import { StateManager } from "@babylonjs/node-editor/nodeGraphSystem/stateManager";
796
+ import { Nullable } from "@babylonjs/core/types";
797
+ export class TeleportInDisplayManager implements IDisplayManager {
798
+ private _hasHighlights;
799
+ getHeaderClass(): string;
800
+ shouldDisplayPortLabels(): boolean;
801
+ getHeaderText(nodeData: INodeData): string;
802
+ getBackgroundColor(nodeData: INodeData): string;
803
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
804
+ onSelectionChanged(nodeData: INodeData, selectedData: Nullable<INodeData>, manager: StateManager): void;
805
+ onDispose(nodeData: INodeData, manager: StateManager): void;
806
+ }
807
+
808
+ }
809
+ declare module "@babylonjs/node-editor/graphSystem/display/teleportOutDisplayManager" {
810
+ import { IDisplayManager } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/displayManager";
811
+ import { INodeData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/nodeData";
812
+ import { StateManager } from "@babylonjs/node-editor/nodeGraphSystem/stateManager";
813
+ import { Nullable } from "@babylonjs/core/types";
814
+ export class TeleportOutDisplayManager implements IDisplayManager {
815
+ private _hasHighlights;
816
+ getHeaderClass(): string;
817
+ shouldDisplayPortLabels(): boolean;
818
+ getHeaderText(nodeData: INodeData): string;
819
+ getBackgroundColor(nodeData: INodeData): string;
820
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
821
+ onSelectionChanged(nodeData: INodeData, selectedData: Nullable<INodeData>, manager: StateManager): void;
822
+ onDispose(nodeData: INodeData, manager: StateManager): void;
823
+ }
824
+
787
825
  }
788
826
  declare module "@babylonjs/node-editor/graphSystem/display/textureDisplayManager" {
789
827
  import { IDisplayManager } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/displayManager";
@@ -880,7 +918,7 @@ export class FramePropertyTabComponent extends React.Component<IFramePropertyTab
880
918
  }
881
919
  declare module "@babylonjs/node-editor/graphSystem/properties/genericNodePropertyComponent" {
882
920
  import * as React from "react";
883
- import { IEditablePropertyOption } from "@babylonjs/core/Materials/Node/nodeMaterialDecorator";
921
+ import { IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
884
922
  import { IPropertyComponentProps } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/propertyComponentProps";
885
923
  export class GenericPropertyComponent extends React.Component<IPropertyComponentProps> {
886
924
  constructor(props: IPropertyComponentProps);
@@ -1007,13 +1045,23 @@ export interface IFrameNodePortPropertyTabComponentProps {
1007
1045
  nodePort: NodePort;
1008
1046
  }
1009
1047
  export class NodePortPropertyTabComponent extends React.Component<IFrameNodePortPropertyTabComponentProps> {
1010
- private _onSelectionChangedObserver;
1011
1048
  constructor(props: IFrameNodePortPropertyTabComponentProps);
1012
- componentWillUnmount(): void;
1013
1049
  toggleExposeOnFrame(value: boolean): void;
1014
1050
  render(): JSX.Element;
1015
1051
  }
1016
1052
 
1053
+ }
1054
+ declare module "@babylonjs/node-editor/graphSystem/properties/teleportOutNodePropertyComponent" {
1055
+ import * as React from "react";
1056
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/propertyComponentProps";
1057
+ export class TeleportOutPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1058
+ private _onUpdateRequiredObserver;
1059
+ constructor(props: IPropertyComponentProps);
1060
+ componentDidMount(): void;
1061
+ componentWillUnmount(): void;
1062
+ render(): JSX.Element;
1063
+ }
1064
+
1017
1065
  }
1018
1066
  declare module "@babylonjs/node-editor/graphSystem/properties/texturePropertyTabComponent" {
1019
1067
  import * as React from "react";
@@ -2678,7 +2726,7 @@ export class FloatLineComponent extends React.Component<IFloatLineComponentProps
2678
2726
  private _store;
2679
2727
  constructor(props: IFloatLineComponentProps);
2680
2728
  componentWillUnmount(): void;
2681
- getValueString(value: any): string;
2729
+ getValueString(value: any, props: IFloatLineComponentProps): string;
2682
2730
  shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
2683
2731
  value: string;
2684
2732
  dragging: boolean;
@@ -3630,6 +3678,7 @@ export class GraphNode {
3630
3678
  private _outputsContainer;
3631
3679
  private _content;
3632
3680
  private _comments;
3681
+ private _executionTime;
3633
3682
  private _selectionBorder;
3634
3683
  private _inputPorts;
3635
3684
  private _outputPorts;
@@ -3645,6 +3694,7 @@ export class GraphNode {
3645
3694
  private _onSelectionBoxMovedObserver;
3646
3695
  private _onFrameCreatedObserver;
3647
3696
  private _onUpdateRequiredObserver;
3697
+ private _onHighlightNodeObserver;
3648
3698
  private _ownerCanvas;
3649
3699
  private _isSelected;
3650
3700
  private _displayManager;
@@ -3693,6 +3743,8 @@ export class GraphNode {
3693
3743
 
3694
3744
  }
3695
3745
  declare module "@babylonjs/node-editor/nodeGraphSystem/interfaces/displayManager" {
3746
+ import { Nullable } from "@babylonjs/core/types";
3747
+ import { StateManager } from "@babylonjs/node-editor/nodeGraphSystem/stateManager";
3696
3748
  import { INodeData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/nodeData";
3697
3749
  import { IPortData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/portData";
3698
3750
  export interface VisualContentDescription {
@@ -3705,6 +3757,8 @@ export interface IDisplayManager {
3705
3757
  updateFullVisualContent?(data: INodeData, visualContent: VisualContentDescription): void;
3706
3758
  getBackgroundColor(data: INodeData): string;
3707
3759
  getHeaderText(data: INodeData): string;
3760
+ onSelectionChanged?(data: INodeData, selectedData: Nullable<INodeData>, manager: StateManager): void;
3761
+ onDispose?(nodeData: INodeData, manager: StateManager): void;
3708
3762
  }
3709
3763
 
3710
3764
  }
@@ -3726,12 +3780,16 @@ export interface INodeData {
3726
3780
  uniqueId: number;
3727
3781
  isInput: boolean;
3728
3782
  comments: string;
3783
+ executionTime?: number;
3784
+ refreshCallback?: () => void;
3729
3785
  prepareHeaderIcon: (iconDiv: HTMLDivElement, img: HTMLImageElement) => void;
3730
3786
  getClassName: () => string;
3731
3787
  dispose: () => void;
3732
3788
  getPortByName: (name: string) => Nullable<IPortData>;
3733
3789
  inputs: IPortData[];
3734
3790
  outputs: IPortData[];
3791
+ invisibleEndpoints?: Nullable<any[]>;
3792
+ isConnectedToOutput?: () => boolean;
3735
3793
  }
3736
3794
 
3737
3795
  }
@@ -3961,11 +4019,11 @@ export class StateManager {
3961
4019
  onFrameCreatedObservable: Observable<GraphFrame>;
3962
4020
  onUpdateRequiredObservable: Observable<any>;
3963
4021
  onGraphNodeRemovalObservable: Observable<GraphNode>;
3964
- onSelectionBoxMoved: Observable<ClientRect | DOMRect>;
4022
+ onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
3965
4023
  onCandidateLinkMoved: Observable<Nullable<Vector2>>;
3966
4024
  onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
3967
4025
  onNewNodeCreatedObservable: Observable<GraphNode>;
3968
- onRebuildRequiredObservable: Observable<boolean>;
4026
+ onRebuildRequiredObservable: Observable<void>;
3969
4027
  onErrorMessageDialogRequiredObservable: Observable<string>;
3970
4028
  onExposePortOnFrameObservable: Observable<GraphNode>;
3971
4029
  onGridSizeChanged: Observable<void>;
@@ -3976,6 +4034,10 @@ export class StateManager {
3976
4034
  needRepositioning?: boolean | undefined;
3977
4035
  smartAdd?: boolean | undefined;
3978
4036
  }>;
4037
+ onHighlightNodeObservable: Observable<{
4038
+ data: any;
4039
+ active: boolean;
4040
+ }>;
3979
4041
  exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
3980
4042
  isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
3981
4043
  applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement) => void;
@@ -3991,11 +4053,12 @@ export class StateManager {
3991
4053
 
3992
4054
  }
3993
4055
  declare module "@babylonjs/node-editor/nodeGraphSystem/tools" {
4056
+ import { GraphCanvasComponent } from "@babylonjs/node-editor/nodeGraphSystem/graphCanvas";
3994
4057
  import { GraphNode } from "@babylonjs/node-editor/nodeGraphSystem/graphNode";
3995
4058
  import { NodeLink } from "@babylonjs/node-editor/nodeGraphSystem/nodeLink";
3996
4059
  import { FramePortData } from "@babylonjs/node-editor/nodeGraphSystem/types/framePortData";
3997
4060
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
3998
- export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>) => void;
4061
+ export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
3999
4062
 
4000
4063
  }
4001
4064
  declare module "@babylonjs/node-editor/nodeGraphSystem/typeLedger" {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-editor",
3
- "version": "6.15.0",
3
+ "version": "6.16.1",
4
4
  "main": "dist/babylon.nodeEditor.max.js",
5
5
  "module": "dist/babylon.nodeEditor.max.js",
6
6
  "esnext": "dist/babylon.nodeEditor.max.js",
@@ -23,7 +23,7 @@
23
23
  "@types/react-dom": ">=16.0.9"
24
24
  },
25
25
  "devDependencies": {
26
- "@babylonjs/core": "^6.15.0",
26
+ "@babylonjs/core": "^6.16.1",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },