@babylonjs/node-editor 7.26.0 → 7.26.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.
@@ -317,8 +317,11 @@ import { PrePassTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Input
317
317
  import { NodeMaterialTeleportInBlock } from "@babylonjs/core/Materials/Node/Blocks/Teleport/teleportInBlock";
318
318
  import { NodeMaterialTeleportOutBlock } from "@babylonjs/core/Materials/Node/Blocks/Teleport/teleportOutBlock";
319
319
  import { ColorConverterBlock } from "@babylonjs/core/Materials/Node/Blocks/colorConverterBlock";
320
+ import { LoopBlock } from "@babylonjs/core/Materials/Node/Blocks/loopBlock";
321
+ import { StorageReadBlock } from "@babylonjs/core/Materials/Node/Blocks/storageReadBlock";
322
+ import { StorageWriteBlock } from "@babylonjs/core/Materials/Node/Blocks/storageWriteBlock";
320
323
  export class BlockTools {
321
- static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): ColorConverterBlock | NodeMaterialTeleportInBlock | NodeMaterialTeleportOutBlock | HeightToNormalBlock | ElbowBlock | TwirlBlock | VoronoiNoiseBlock | ScreenSpaceBlock | CloudBlock | MatrixBuilderBlock | DesaturateBlock | RefractBlock | ReflectBlock | DerivativeBlock | Rotate2dBlock | NormalBlendBlock | WorleyNoise3DBlock | SimplexPerlin3DBlock | BonesBlock | InstancesBlock | MorphTargetsBlock | DiscardBlock | PrePassTextureBlock | ImageProcessingBlock | ColorMergerBlock | VectorMergerBlock | ColorSplitterBlock | VectorSplitterBlock | TextureBlock | ReflectionTextureBlock | LightBlock | FogBlock | VertexOutputBlock | FragmentOutputBlock | PrePassOutputBlock | 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;
324
+ static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): StorageWriteBlock | StorageReadBlock | LoopBlock | ColorConverterBlock | NodeMaterialTeleportInBlock | NodeMaterialTeleportOutBlock | HeightToNormalBlock | ElbowBlock | TwirlBlock | VoronoiNoiseBlock | ScreenSpaceBlock | CloudBlock | MatrixBuilderBlock | DesaturateBlock | RefractBlock | ReflectBlock | DerivativeBlock | Rotate2dBlock | NormalBlendBlock | WorleyNoise3DBlock | SimplexPerlin3DBlock | BonesBlock | InstancesBlock | MorphTargetsBlock | DiscardBlock | PrePassTextureBlock | ImageProcessingBlock | ColorMergerBlock | VectorMergerBlock | ColorSplitterBlock | VectorSplitterBlock | TextureBlock | ReflectionTextureBlock | LightBlock | FogBlock | VertexOutputBlock | FragmentOutputBlock | PrePassOutputBlock | 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;
322
325
  static GetColorFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): string;
323
326
  static GetConnectionNodeTypeFromString(type: string): NodeMaterialBlockConnectionPointTypes.Float | NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4 | NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4 | NodeMaterialBlockConnectionPointTypes.Matrix | NodeMaterialBlockConnectionPointTypes.AutoDetect;
324
327
  static GetStringFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): "" | "Float" | "Vector2" | "Vector3" | "Vector4" | "Matrix" | "Color3" | "Color4";
@@ -975,6 +978,18 @@ export class MeshAttributeExistsDisplayManager implements IDisplayManager {
975
978
  updatePreviewContent(): void;
976
979
  }
977
980
 
981
+ }
982
+ declare module "@babylonjs/node-editor/graphSystem/display/loopDisplayManager" {
983
+ import { IDisplayManager } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/displayManager";
984
+ import { INodeData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/nodeData";
985
+ export class LoopDisplayManager implements IDisplayManager {
986
+ getHeaderClass(): string;
987
+ shouldDisplayPortLabels(): boolean;
988
+ getHeaderText(nodeData: INodeData): string;
989
+ getBackgroundColor(): string;
990
+ updatePreviewContent(nodeData: INodeData, contentArea: HTMLDivElement): void;
991
+ }
992
+
978
993
  }
979
994
  declare module "@babylonjs/node-editor/graphSystem/display/inputDisplayManager" {
980
995
  import { NodeMaterialBlockConnectionPointTypes } from "@babylonjs/core/Materials/Node/Enums/nodeMaterialBlockConnectionPointTypes";
@@ -2003,6 +2018,8 @@ export class NodeLink {
2003
2018
  get nodeB(): GraphNode | undefined;
2004
2019
  intersectsWith(rect: DOMRect): boolean;
2005
2020
  update(endX?: number, endY?: number, straight?: boolean): void;
2021
+ get path(): SVGPathElement;
2022
+ get selectionPath(): SVGPathElement;
2006
2023
  constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
2007
2024
  onClick(evt: MouseEvent): void;
2008
2025
  dispose(notify?: boolean): void;
@@ -2083,6 +2100,7 @@ export class GraphNode {
2083
2100
  set enclosingFrameId(value: number);
2084
2101
  set isSelected(value: boolean);
2085
2102
  setIsSelected(value: boolean, marqueeSelection: boolean): void;
2103
+ get rootElement(): HTMLDivElement;
2086
2104
  constructor(content: INodeData, stateManager: StateManager);
2087
2105
  isOverlappingFrame(frame: GraphFrame): boolean;
2088
2106
  getPortForPortData(portData: IPortData): NodePort | null;
@@ -2133,6 +2151,7 @@ export class GraphFrame {
2133
2151
  private _headerTextElement;
2134
2152
  private _headerCollapseElement;
2135
2153
  private _headerCloseElement;
2154
+ private _headerFocusElement;
2136
2155
  private _commentsElement;
2137
2156
  private _portContainer;
2138
2157
  private _outputPortContainer;
@@ -2162,6 +2181,7 @@ export class GraphFrame {
2162
2181
  private readonly _closeSVG;
2163
2182
  private readonly _expandSVG;
2164
2183
  private readonly _collapseSVG;
2184
+ private readonly _focusSVG;
2165
2185
  get id(): number;
2166
2186
  get isCollapsed(): boolean;
2167
2187
  private _createInputPort;
@@ -2190,6 +2210,11 @@ export class GraphFrame {
2190
2210
  get comments(): string;
2191
2211
  set comments(comments: string);
2192
2212
  constructor(candidate: Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
2213
+ private _isFocused;
2214
+ /**
2215
+ * Enter/leave focus mode
2216
+ */
2217
+ switchFocusMode(): void;
2193
2218
  refresh(): void;
2194
2219
  addNode(node: GraphNode): void;
2195
2220
  removeNode(node: GraphNode): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-editor",
3
- "version": "7.26.0",
3
+ "version": "7.26.2",
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": "^7.26.0",
26
+ "@babylonjs/core": "^7.26.2",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },