@babylonjs/node-editor 7.26.0 → 7.26.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.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": "^7.26.0",
26
+ "@babylonjs/core": "^7.26.1",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },