@babylonjs/node-geometry-editor 7.35.2 → 7.37.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.
@@ -378,7 +378,7 @@ import { Nullable } from "@babylonjs/core/types";
378
378
  import { GraphNode } from "@babylonjs/node-geometry-editor/nodeGraphSystem/graphNode";
379
379
  import { INodeContainer } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/nodeContainer";
380
380
  import { IPortData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/portData";
381
- import { PortDataDirection } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/portData";
381
+ import { PortDataDirection, PortDirectValueTypes } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/portData";
382
382
  export class ConnectionPointPortData implements IPortData {
383
383
  private _connectedPort;
384
384
  private _nodeContainer;
@@ -392,6 +392,13 @@ export class ConnectionPointPortData implements IPortData {
392
392
  get isConnected(): boolean;
393
393
  get connectedPort(): Nullable<IPortData>;
394
394
  set connectedPort(value: Nullable<IPortData>);
395
+ get directValueDefinition(): {
396
+ source: NodeGeometryConnectionPoint;
397
+ propertyName: string;
398
+ valueMin: any;
399
+ valueMax: any;
400
+ valueType: PortDirectValueTypes;
401
+ } | undefined;
395
402
  get direction(): PortDataDirection;
396
403
  get ownerData(): NodeGeometryBlock;
397
404
  get needDualDirectionValidation(): boolean;
@@ -1560,6 +1567,7 @@ import { NodeLink } from "@babylonjs/node-geometry-editor/nodeGraphSystem/nodeLi
1560
1567
  import { FramePortData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/types/framePortData";
1561
1568
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
1562
1569
  export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
1570
+ 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;
1563
1571
 
1564
1572
  }
1565
1573
  declare module "@babylonjs/node-geometry-editor/nodeGraphSystem/stateManager" {
@@ -1675,7 +1683,7 @@ import { StateManager } from "@babylonjs/node-geometry-editor/nodeGraphSystem/st
1675
1683
  import { ISelectionChangedOptions } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/selectionChangedOptions";
1676
1684
  import { FrameNodePort } from "@babylonjs/node-geometry-editor/nodeGraphSystem/frameNodePort";
1677
1685
  import { IDisplayManager } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/displayManager";
1678
- import { IPortData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/portData";
1686
+ import { type IPortData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/portData";
1679
1687
  export class NodePort {
1680
1688
  portData: IPortData;
1681
1689
  node: GraphNode;
@@ -1688,6 +1696,7 @@ export class NodePort {
1688
1696
  protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
1689
1697
  protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
1690
1698
  protected _exposedOnFrame: boolean;
1699
+ protected _portUIcontainer?: HTMLDivElement;
1691
1700
  delegatedPort: Nullable<FrameNodePort>;
1692
1701
  get element(): HTMLDivElement;
1693
1702
  get container(): HTMLElement;
@@ -1701,7 +1710,7 @@ export class NodePort {
1701
1710
  set exposedPortPosition(value: number);
1702
1711
  private _isConnectedToNodeOutsideOfFrame;
1703
1712
  refresh(): void;
1704
- constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager);
1713
+ constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager, portUIcontainer?: HTMLDivElement);
1705
1714
  dispose(): void;
1706
1715
  static CreatePortElement(portData: IPortData, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, stateManager: StateManager): NodePort;
1707
1716
  }
@@ -1760,6 +1769,7 @@ import { NodeLink } from "@babylonjs/node-geometry-editor/nodeGraphSystem/nodeLi
1760
1769
  import { StateManager } from "@babylonjs/node-geometry-editor/nodeGraphSystem/stateManager";
1761
1770
  import { INodeData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/nodeData";
1762
1771
  import { IPortData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/portData";
1772
+ import { IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
1763
1773
  export class GraphNode {
1764
1774
  content: INodeData;
1765
1775
  private _visual;
@@ -1837,7 +1847,7 @@ export class GraphNode {
1837
1847
  private _onUp;
1838
1848
  private _onMove;
1839
1849
  renderProperties(): Nullable<JSX.Element>;
1840
- private _forceRebuild;
1850
+ _forceRebuild(source: any, propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
1841
1851
  private _isCollapsed;
1842
1852
  /**
1843
1853
  * Collapse the node
@@ -2228,6 +2238,32 @@ export enum PortDataDirection {
2228
2238
  /** Output */
2229
2239
  Output = 1
2230
2240
  }
2241
+ export enum PortDirectValueTypes {
2242
+ Float = 0,
2243
+ Int = 1
2244
+ }
2245
+ export interface IPortDirectValueDefinition {
2246
+ /**
2247
+ * Gets the source object
2248
+ */
2249
+ source: any;
2250
+ /**
2251
+ * Gets the property name used to store the value
2252
+ */
2253
+ propertyName: string;
2254
+ /**
2255
+ * Gets or sets the min value accepted for this point if nothing is connected
2256
+ */
2257
+ valueMin: Nullable<any>;
2258
+ /**
2259
+ * Gets or sets the max value accepted for this point if nothing is connected
2260
+ */
2261
+ valueMax: Nullable<any>;
2262
+ /**
2263
+ * Gets or sets the type of the value
2264
+ */
2265
+ valueType: PortDirectValueTypes;
2266
+ }
2231
2267
  export interface IPortData {
2232
2268
  data: any;
2233
2269
  name: string;
@@ -2241,6 +2277,7 @@ export interface IPortData {
2241
2277
  needDualDirectionValidation: boolean;
2242
2278
  hasEndpoints: boolean;
2243
2279
  endpoints: Nullable<IPortData[]>;
2280
+ directValueDefinition?: IPortDirectValueDefinition;
2244
2281
  updateDisplayName: (newName: string) => void;
2245
2282
  canConnectTo: (port: IPortData) => boolean;
2246
2283
  connectTo: (port: IPortData) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-geometry-editor",
3
- "version": "7.35.2",
3
+ "version": "7.37.0",
4
4
  "main": "dist/babylon.nodeGeometryEditor.max.js",
5
5
  "module": "dist/babylon.nodeGeometryEditor.max.js",
6
6
  "esnext": "dist/babylon.nodeGeometryEditor.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
  },