@babylonjs/gui-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.
@@ -2085,6 +2085,7 @@ import { NodeLink } from "@babylonjs/gui-editor/nodeGraphSystem/nodeLink";
2085
2085
  import { FramePortData } from "@babylonjs/gui-editor/nodeGraphSystem/types/framePortData";
2086
2086
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
2087
2087
  export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
2088
+ 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;
2088
2089
 
2089
2090
  }
2090
2091
  declare module "@babylonjs/gui-editor/nodeGraphSystem/stateManager" {
@@ -2200,7 +2201,7 @@ import { StateManager } from "@babylonjs/gui-editor/nodeGraphSystem/stateManager
2200
2201
  import { ISelectionChangedOptions } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/selectionChangedOptions";
2201
2202
  import { FrameNodePort } from "@babylonjs/gui-editor/nodeGraphSystem/frameNodePort";
2202
2203
  import { IDisplayManager } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/displayManager";
2203
- import { IPortData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/portData";
2204
+ import { type IPortData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/portData";
2204
2205
  export class NodePort {
2205
2206
  portData: IPortData;
2206
2207
  node: GraphNode;
@@ -2213,6 +2214,7 @@ export class NodePort {
2213
2214
  protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
2214
2215
  protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
2215
2216
  protected _exposedOnFrame: boolean;
2217
+ protected _portUIcontainer?: HTMLDivElement;
2216
2218
  delegatedPort: Nullable<FrameNodePort>;
2217
2219
  get element(): HTMLDivElement;
2218
2220
  get container(): HTMLElement;
@@ -2226,7 +2228,7 @@ export class NodePort {
2226
2228
  set exposedPortPosition(value: number);
2227
2229
  private _isConnectedToNodeOutsideOfFrame;
2228
2230
  refresh(): void;
2229
- constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager);
2231
+ constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager, portUIcontainer?: HTMLDivElement);
2230
2232
  dispose(): void;
2231
2233
  static CreatePortElement(portData: IPortData, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, stateManager: StateManager): NodePort;
2232
2234
  }
@@ -2249,6 +2251,7 @@ export class NodeLink {
2249
2251
  private _onSelectionChangedObserver;
2250
2252
  private _isVisible;
2251
2253
  private _isTargetCandidate;
2254
+ private _gradient;
2252
2255
  onDisposedObservable: Observable<NodeLink>;
2253
2256
  get isTargetCandidate(): boolean;
2254
2257
  set isTargetCandidate(value: boolean);
@@ -2284,6 +2287,7 @@ import { NodeLink } from "@babylonjs/gui-editor/nodeGraphSystem/nodeLink";
2284
2287
  import { StateManager } from "@babylonjs/gui-editor/nodeGraphSystem/stateManager";
2285
2288
  import { INodeData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/nodeData";
2286
2289
  import { IPortData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/portData";
2290
+ import { IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
2287
2291
  export class GraphNode {
2288
2292
  content: INodeData;
2289
2293
  private _visual;
@@ -2361,7 +2365,7 @@ export class GraphNode {
2361
2365
  private _onUp;
2362
2366
  private _onMove;
2363
2367
  renderProperties(): Nullable<JSX.Element>;
2364
- private _forceRebuild;
2368
+ _forceRebuild(source: any, propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
2365
2369
  private _isCollapsed;
2366
2370
  /**
2367
2371
  * Collapse the node
@@ -2752,6 +2756,32 @@ export enum PortDataDirection {
2752
2756
  /** Output */
2753
2757
  Output = 1
2754
2758
  }
2759
+ export enum PortDirectValueTypes {
2760
+ Float = 0,
2761
+ Int = 1
2762
+ }
2763
+ export interface IPortDirectValueDefinition {
2764
+ /**
2765
+ * Gets the source object
2766
+ */
2767
+ source: any;
2768
+ /**
2769
+ * Gets the property name used to store the value
2770
+ */
2771
+ propertyName: string;
2772
+ /**
2773
+ * Gets or sets the min value accepted for this point if nothing is connected
2774
+ */
2775
+ valueMin: Nullable<any>;
2776
+ /**
2777
+ * Gets or sets the max value accepted for this point if nothing is connected
2778
+ */
2779
+ valueMax: Nullable<any>;
2780
+ /**
2781
+ * Gets or sets the type of the value
2782
+ */
2783
+ valueType: PortDirectValueTypes;
2784
+ }
2755
2785
  export interface IPortData {
2756
2786
  data: any;
2757
2787
  name: string;
@@ -2765,6 +2795,7 @@ export interface IPortData {
2765
2795
  needDualDirectionValidation: boolean;
2766
2796
  hasEndpoints: boolean;
2767
2797
  endpoints: Nullable<IPortData[]>;
2798
+ directValueDefinition?: IPortDirectValueDefinition;
2768
2799
  updateDisplayName: (newName: string) => void;
2769
2800
  canConnectTo: (port: IPortData) => boolean;
2770
2801
  connectTo: (port: IPortData) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/gui-editor",
3
- "version": "7.35.1",
3
+ "version": "7.36.0",
4
4
  "main": "dist/babylon.guiEditor.max.js",
5
5
  "module": "dist/babylon.guiEditor.max.js",
6
6
  "esnext": "dist/babylon.guiEditor.max.js",
@@ -24,8 +24,8 @@
24
24
  "@types/react-dom": ">=16.0.9"
25
25
  },
26
26
  "devDependencies": {
27
- "@babylonjs/core": "^7.35.1",
28
- "@babylonjs/gui": "^7.35.1",
27
+ "@babylonjs/core": "^7.36.0",
28
+ "@babylonjs/gui": "^7.36.0",
29
29
  "react": "^17.0.2",
30
30
  "react-dom": "^17.0.2"
31
31
  },