@babylonjs/node-editor 7.35.2 → 7.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1893,6 +1893,7 @@ import { NodeLink } from "@babylonjs/node-editor/nodeGraphSystem/nodeLink";
1893
1893
  import { FramePortData } from "@babylonjs/node-editor/nodeGraphSystem/types/framePortData";
1894
1894
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
1895
1895
  export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
1896
+ export const BuildFloatUI: (container: HTMLDivElement, document: Document, displayName: string, isInteger: boolean, source: any, propertyName: string, onChange: () => void, min?: number, max?: number, visualPropertiesRefresh?: Array<() => void>) => void;
1896
1897
 
1897
1898
  }
1898
1899
  declare module "@babylonjs/node-editor/nodeGraphSystem/stateManager" {
@@ -2008,7 +2009,7 @@ import { StateManager } from "@babylonjs/node-editor/nodeGraphSystem/stateManage
2008
2009
  import { ISelectionChangedOptions } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/selectionChangedOptions";
2009
2010
  import { FrameNodePort } from "@babylonjs/node-editor/nodeGraphSystem/frameNodePort";
2010
2011
  import { IDisplayManager } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/displayManager";
2011
- import { IPortData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/portData";
2012
+ import { type IPortData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/portData";
2012
2013
  export class NodePort {
2013
2014
  portData: IPortData;
2014
2015
  node: GraphNode;
@@ -2021,6 +2022,7 @@ export class NodePort {
2021
2022
  protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
2022
2023
  protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
2023
2024
  protected _exposedOnFrame: boolean;
2025
+ protected _portUIcontainer?: HTMLDivElement;
2024
2026
  delegatedPort: Nullable<FrameNodePort>;
2025
2027
  get element(): HTMLDivElement;
2026
2028
  get container(): HTMLElement;
@@ -2034,7 +2036,7 @@ export class NodePort {
2034
2036
  set exposedPortPosition(value: number);
2035
2037
  private _isConnectedToNodeOutsideOfFrame;
2036
2038
  refresh(): void;
2037
- constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager);
2039
+ constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager, portUIcontainer?: HTMLDivElement);
2038
2040
  dispose(): void;
2039
2041
  static CreatePortElement(portData: IPortData, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, stateManager: StateManager): NodePort;
2040
2042
  }
@@ -2093,6 +2095,7 @@ import { NodeLink } from "@babylonjs/node-editor/nodeGraphSystem/nodeLink";
2093
2095
  import { StateManager } from "@babylonjs/node-editor/nodeGraphSystem/stateManager";
2094
2096
  import { INodeData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/nodeData";
2095
2097
  import { IPortData } from "@babylonjs/node-editor/nodeGraphSystem/interfaces/portData";
2098
+ import { IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
2096
2099
  export class GraphNode {
2097
2100
  content: INodeData;
2098
2101
  private _visual;
@@ -2170,7 +2173,7 @@ export class GraphNode {
2170
2173
  private _onUp;
2171
2174
  private _onMove;
2172
2175
  renderProperties(): Nullable<JSX.Element>;
2173
- private _forceRebuild;
2176
+ _forceRebuild(source: any, propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
2174
2177
  private _isCollapsed;
2175
2178
  /**
2176
2179
  * Collapse the node
@@ -2561,6 +2564,32 @@ export enum PortDataDirection {
2561
2564
  /** Output */
2562
2565
  Output = 1
2563
2566
  }
2567
+ export enum PortDirectValueTypes {
2568
+ Float = 0,
2569
+ Int = 1
2570
+ }
2571
+ export interface IPortDirectValueDefinition {
2572
+ /**
2573
+ * Gets the source object
2574
+ */
2575
+ source: any;
2576
+ /**
2577
+ * Gets the property name used to store the value
2578
+ */
2579
+ propertyName: string;
2580
+ /**
2581
+ * Gets or sets the min value accepted for this point if nothing is connected
2582
+ */
2583
+ valueMin: Nullable<any>;
2584
+ /**
2585
+ * Gets or sets the max value accepted for this point if nothing is connected
2586
+ */
2587
+ valueMax: Nullable<any>;
2588
+ /**
2589
+ * Gets or sets the type of the value
2590
+ */
2591
+ valueType: PortDirectValueTypes;
2592
+ }
2564
2593
  export interface IPortData {
2565
2594
  data: any;
2566
2595
  name: string;
@@ -2574,6 +2603,7 @@ export interface IPortData {
2574
2603
  needDualDirectionValidation: boolean;
2575
2604
  hasEndpoints: boolean;
2576
2605
  endpoints: Nullable<IPortData[]>;
2606
+ directValueDefinition?: IPortDirectValueDefinition;
2577
2607
  updateDisplayName: (newName: string) => void;
2578
2608
  canConnectTo: (port: IPortData) => boolean;
2579
2609
  connectTo: (port: IPortData) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-editor",
3
- "version": "7.35.2",
3
+ "version": "7.36.0",
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.35.2",
26
+ "@babylonjs/core": "^7.36.0",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },