@babylonjs/node-editor 5.14.1 → 5.15.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.
@@ -161,6 +161,8 @@ export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentP
161
161
  componentWillUnmount(): void;
162
162
  changeBackFaceCulling(value: boolean): void;
163
163
  changeDepthPrePass(value: boolean): void;
164
+ _onPointerOverCanvas: () => void;
165
+ _onPointerOutCanvas: () => void;
164
166
  changeParticleSystemBlendMode(newOne: number): void;
165
167
  render(): JSX.Element;
166
168
  }
@@ -467,6 +469,7 @@ export class GlobalState {
467
469
  directionalLight1: boolean;
468
470
  controlCamera: boolean;
469
471
  _mode: NodeMaterialModes;
472
+ pointerOverCanvas: boolean;
470
473
  /** Gets the mode */
471
474
  get mode(): NodeMaterialModes;
472
475
  /** Sets the mode */
@@ -532,7 +535,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
532
535
  reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
533
536
  onPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
534
537
  onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
535
- onWheel(this: any, evt: WheelEvent): void;
538
+ onWheel: (evt: WheelEvent) => void;
536
539
  resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
537
540
  buildColumnLayout(): string;
538
541
  emitNewBlock(blockType: string, targetX: number, targetY: number): void;
@@ -569,7 +572,7 @@ export class BlockNodeData implements INodeData {
569
572
  set comments(value: string);
570
573
  getPortByName(name: string): IPortData | null;
571
574
  dispose(): void;
572
- getWarningMessage(): "" | "For optimization reasons, this block will be promoted to the vertex shader. You can force it to render in the fragment shader by setting its target to Fragment";
575
+ prepareHeaderIcon(iconDiv: HTMLDivElement, img: HTMLImageElement): void;
573
576
  constructor(data: NodeMaterialBlock, nodeContainer: INodeContainer);
574
577
  }
575
578
 
@@ -603,6 +606,7 @@ export class ConnectionPointPortData implements IPortData {
603
606
  constructor(connectionPoint: NodeMaterialConnectionPoint, nodeContainer: INodeContainer);
604
607
  updateDisplayName(newName: string): void;
605
608
  connectTo(port: IPortData): void;
609
+ canConnectTo(port: IPortData): boolean;
606
610
  disconnectFrom(port: IPortData): void;
607
611
  checkCompatibilityState(port: IPortData): 0 | NodeMaterialConnectionPointCompatibilityStates.TypeIncompatible | NodeMaterialConnectionPointCompatibilityStates.TargetIncompatible | NodeMaterialConnectionPointCompatibilityStates.HierarchyIssue;
608
612
  getCompatibilityIssueMessage(issue: number, targetNode: GraphNode, targetPort: IPortData): "" | "Cannot connect two different connection types" | "Source block can only work in fragment shader whereas destination block is currently aimed for the vertex shader" | "Source block cannot be connected with one of its ancestors";
@@ -1672,7 +1676,7 @@ interface IFloatLineComponentProps {
1672
1676
  label: string;
1673
1677
  target: any;
1674
1678
  propertyName: string;
1675
- lockObject?: LockObject;
1679
+ lockObject: LockObject;
1676
1680
  onChange?: (newValue: number) => void;
1677
1681
  isInteger?: boolean;
1678
1682
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
@@ -2046,7 +2050,7 @@ interface ISliderLineComponentProps {
2046
2050
  margin?: boolean;
2047
2051
  icon?: string;
2048
2052
  iconLabel?: string;
2049
- lockObject?: LockObject;
2053
+ lockObject: LockObject;
2050
2054
  unit?: React.ReactNode;
2051
2055
  }
2052
2056
  export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
@@ -2426,6 +2430,8 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2426
2430
  get frameContainer(): HTMLDivElement;
2427
2431
  private _selectedFrameAndNodesConflict;
2428
2432
  constructor(props: IGraphCanvasComponentProps);
2433
+ populateConnectedEntriesBeforeRemoval(item: GraphNode, items: GraphNode[], inputs: Nullable<IPortData>[], outputs: Nullable<IPortData>[]): void;
2434
+ automaticRewire(inputs: Nullable<IPortData>[], outputs: Nullable<IPortData>[]): void;
2429
2435
  handleKeyDown(evt: KeyboardEvent, onRemove: (nodeData: INodeData) => void, mouseLocationX: number, mouseLocationY: number, dataGenerator: (nodeData: INodeData) => any, rootElement: HTMLDivElement): void;
2430
2436
  pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, dataGenerator: (nodeData: INodeData) => any, selectNew?: boolean): GraphNode[];
2431
2437
  reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
@@ -2628,7 +2634,8 @@ export class GraphNode {
2628
2634
  content: INodeData;
2629
2635
  private _visual;
2630
2636
  private _headerContainer;
2631
- private _warning;
2637
+ private _headerIcon;
2638
+ private _headerIconImg;
2632
2639
  private _header;
2633
2640
  private _connections;
2634
2641
  private _inputsContainer;
@@ -2724,7 +2731,7 @@ export interface INodeData {
2724
2731
  uniqueId: number;
2725
2732
  isInput: boolean;
2726
2733
  comments: string;
2727
- getWarningMessage: () => string;
2734
+ prepareHeaderIcon: (iconDiv: HTMLDivElement, img: HTMLImageElement) => void;
2728
2735
  getClassName: () => string;
2729
2736
  dispose: () => void;
2730
2737
  getPortByName: (name: string) => Nullable<IPortData>;
@@ -2785,6 +2792,7 @@ export interface IPortData {
2785
2792
  hasEndpoints: boolean;
2786
2793
  endpoints: Nullable<IPortData[]>;
2787
2794
  updateDisplayName: (newName: string) => void;
2795
+ canConnectTo: (port: IPortData) => boolean;
2788
2796
  connectTo: (port: IPortData) => void;
2789
2797
  disconnectFrom: (port: IPortData) => void;
2790
2798
  checkCompatibilityState(port: IPortData): number;
@@ -2928,7 +2936,7 @@ export class StateManager {
2928
2936
  targetY: number;
2929
2937
  needRepositioning?: boolean | undefined;
2930
2938
  }>;
2931
- exportData: (data: any) => string;
2939
+ exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
2932
2940
  isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
2933
2941
  applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement) => void;
2934
2942
  storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-editor",
3
- "version": "5.14.1",
3
+ "version": "5.15.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": "^5.14.1",
26
+ "@babylonjs/core": "^5.15.0",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2",
29
29
  "rimraf": "^3.0.2",