@babylonjs/node-render-graph-editor 7.24.2 → 7.26.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.
@@ -1475,6 +1475,7 @@ import { NodeLink } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/no
1475
1475
  import { FramePortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/types/framePortData";
1476
1476
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
1477
1477
  export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
1478
+ 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;
1478
1479
 
1479
1480
  }
1480
1481
  declare module "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager" {
@@ -1590,7 +1591,7 @@ import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSyste
1590
1591
  import { ISelectionChangedOptions } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/selectionChangedOptions";
1591
1592
  import { FrameNodePort } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/frameNodePort";
1592
1593
  import { IDisplayManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/displayManager";
1593
- import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1594
+ import { type IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1594
1595
  export class NodePort {
1595
1596
  portData: IPortData;
1596
1597
  node: GraphNode;
@@ -1603,6 +1604,7 @@ export class NodePort {
1603
1604
  protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
1604
1605
  protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
1605
1606
  protected _exposedOnFrame: boolean;
1607
+ protected _portUIcontainer?: HTMLDivElement;
1606
1608
  delegatedPort: Nullable<FrameNodePort>;
1607
1609
  get element(): HTMLDivElement;
1608
1610
  get container(): HTMLElement;
@@ -1616,7 +1618,7 @@ export class NodePort {
1616
1618
  set exposedPortPosition(value: number);
1617
1619
  private _isConnectedToNodeOutsideOfFrame;
1618
1620
  refresh(): void;
1619
- constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager);
1621
+ constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager, portUIcontainer?: HTMLDivElement);
1620
1622
  dispose(): void;
1621
1623
  static CreatePortElement(portData: IPortData, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, stateManager: StateManager): NodePort;
1622
1624
  }
@@ -1675,6 +1677,7 @@ import { NodeLink } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/no
1675
1677
  import { StateManager } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/stateManager";
1676
1678
  import { INodeData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/nodeData";
1677
1679
  import { IPortData } from "@babylonjs/node-render-graph-editor/nodeGraphSystem/interfaces/portData";
1680
+ import { IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
1678
1681
  export class GraphNode {
1679
1682
  content: INodeData;
1680
1683
  private _visual;
@@ -1752,7 +1755,7 @@ export class GraphNode {
1752
1755
  private _onUp;
1753
1756
  private _onMove;
1754
1757
  renderProperties(): Nullable<JSX.Element>;
1755
- private _forceRebuild;
1758
+ _forceRebuild(source: any, propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
1756
1759
  private _isCollapsed;
1757
1760
  /**
1758
1761
  * Collapse the node
@@ -2143,6 +2146,32 @@ export enum PortDataDirection {
2143
2146
  /** Output */
2144
2147
  Output = 1
2145
2148
  }
2149
+ export enum PortDirectValueTypes {
2150
+ Float = 0,
2151
+ Int = 1
2152
+ }
2153
+ export interface IPortDirectValueDefinition {
2154
+ /**
2155
+ * Gets the source object
2156
+ */
2157
+ source: any;
2158
+ /**
2159
+ * Gets the property name used to store the value
2160
+ */
2161
+ propertyName: string;
2162
+ /**
2163
+ * Gets or sets the min value accepted for this point if nothing is connected
2164
+ */
2165
+ valueMin: Nullable<any>;
2166
+ /**
2167
+ * Gets or sets the max value accepted for this point if nothing is connected
2168
+ */
2169
+ valueMax: Nullable<any>;
2170
+ /**
2171
+ * Gets or sets the type of the value
2172
+ */
2173
+ valueType: PortDirectValueTypes;
2174
+ }
2146
2175
  export interface IPortData {
2147
2176
  data: any;
2148
2177
  name: string;
@@ -2156,6 +2185,7 @@ export interface IPortData {
2156
2185
  needDualDirectionValidation: boolean;
2157
2186
  hasEndpoints: boolean;
2158
2187
  endpoints: Nullable<IPortData[]>;
2188
+ directValueDefinition?: IPortDirectValueDefinition;
2159
2189
  updateDisplayName: (newName: string) => void;
2160
2190
  canConnectTo: (port: IPortData) => boolean;
2161
2191
  connectTo: (port: IPortData) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-render-graph-editor",
3
- "version": "7.24.2",
3
+ "version": "7.26.0",
4
4
  "main": "dist/babylon.nodeRenderGraphEditor.max.js",
5
5
  "module": "dist/babylon.nodeRenderGraphEditor.max.js",
6
6
  "esnext": "dist/babylon.nodeRenderGraphEditor.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.37.0",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },