@babylonjs/node-editor 7.35.2 → 7.36.0

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.
@@ -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
  },