@babylonjs/node-geometry-editor 7.35.1 → 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.
@@ -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
  }
@@ -1724,6 +1733,7 @@ export class NodeLink {
1724
1733
  private _onSelectionChangedObserver;
1725
1734
  private _isVisible;
1726
1735
  private _isTargetCandidate;
1736
+ private _gradient;
1727
1737
  onDisposedObservable: Observable<NodeLink>;
1728
1738
  get isTargetCandidate(): boolean;
1729
1739
  set isTargetCandidate(value: boolean);
@@ -1759,6 +1769,7 @@ import { NodeLink } from "@babylonjs/node-geometry-editor/nodeGraphSystem/nodeLi
1759
1769
  import { StateManager } from "@babylonjs/node-geometry-editor/nodeGraphSystem/stateManager";
1760
1770
  import { INodeData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/nodeData";
1761
1771
  import { IPortData } from "@babylonjs/node-geometry-editor/nodeGraphSystem/interfaces/portData";
1772
+ import { IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
1762
1773
  export class GraphNode {
1763
1774
  content: INodeData;
1764
1775
  private _visual;
@@ -1836,7 +1847,7 @@ export class GraphNode {
1836
1847
  private _onUp;
1837
1848
  private _onMove;
1838
1849
  renderProperties(): Nullable<JSX.Element>;
1839
- private _forceRebuild;
1850
+ _forceRebuild(source: any, propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
1840
1851
  private _isCollapsed;
1841
1852
  /**
1842
1853
  * Collapse the node
@@ -2227,6 +2238,32 @@ export enum PortDataDirection {
2227
2238
  /** Output */
2228
2239
  Output = 1
2229
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
+ }
2230
2267
  export interface IPortData {
2231
2268
  data: any;
2232
2269
  name: string;
@@ -2240,6 +2277,7 @@ export interface IPortData {
2240
2277
  needDualDirectionValidation: boolean;
2241
2278
  hasEndpoints: boolean;
2242
2279
  endpoints: Nullable<IPortData[]>;
2280
+ directValueDefinition?: IPortDirectValueDefinition;
2243
2281
  updateDisplayName: (newName: string) => void;
2244
2282
  canConnectTo: (port: IPortData) => boolean;
2245
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.1",
3
+ "version": "7.36.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.1",
26
+ "@babylonjs/core": "^7.36.0",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },