@witchcraft/layout
    Preparing search index...
    • Parameters

      • touchingFrames: LayoutFrame[]
      • edge: {
            endX: number;
            endY: number;
            error?:
                | KnownError<
                    LayoutError,
                    | {}
                    | { id: string
                    | undefined }
                    | { id: string | undefined }
                    | { size: { height: number; width: number } }
                    | Record<string, never>
                    | { frame: LayoutFrame }
                    | {
                        frame: LayoutFrame;
                        minSize: { height: number; width: number };
                        nearbyFrames: LayoutFrame[];
                    }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame; minSize: number; newSize: number }
                    | { frame: LayoutFrame; framesRequiredToBeDeleted: LayoutFrame[] }
                    | { frame: LayoutFrame }
                    | {
                        hoveredFrameId: string;
                        movingFrameId: string;
                        zoneSide: "left" | "right" | "top" | "bottom" | "center";
                    }
                    | {
                        hoveredFrameId: string;
                        movingFrameId: string;
                        zoneSide: "left"
                        | "right"
                        | "top"
                        | "bottom"
                        | "center";
                    }
                    | {
                        hoveredFrameId: string;
                        movingFrameId: string;
                        zoneSide: "left"
                        | "right"
                        | "top"
                        | "bottom"
                        | "center";
                    }
                    | { frame: LayoutFrame }
                    | { frameSizeNeeded: number; minFrameSize: number }
                    | { max: number; min: number; wanted: number }
                    | { problemEdgeCoordinates: number[] }
                    | { id: string; side: "left" | "right" | "top" | "bottom" }
                    | { frame: string }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame },
                >
                | { code: string; message: string };
            startX: number;
            startY: number;
        }
      • position: { x: number; y: number }

        Window scaled/snaped position. See toWindowCoord

      • margin: { height: number; width: number } = settings.minSizeScaled
      • clamp: boolean = true
      • ignoreCollapsedCheck: boolean = false

        Skip the collapsed frame check. Used internally during window resize adjustments.

      Returns
          | {
              dir: "up"
              | "down"
              | "left"
              | "right";
              distance: number;
              isPassedLimit: boolean;
              pos: number;
              x: number;
              y: number;
          }
          | KnownError<"CANT_RESIZE_COLLAPSED_FRAME", { frame: LayoutFrame }>