@zodiacs/engine 1.0.0
    Preparing search index...

    Type Alias WindowChange

    WindowChange:
        | {
            body: BodyName;
            feature: "sign";
            from: ZodiacSign
            | null;
            to: ZodiacSign | null;
        }
        | { feature: "ascendant"
        | "midheaven"; from: ZodiacSign; to: ZodiacSign }
        | {
            body: BodyName;
            feature: "house";
            from: HouseNumber | null;
            to: HouseNumber | null;
        }
        | {
            a: BodyName;
            b: BodyName;
            feature: "aspect";
            from: AspectType
            | null;
            to: AspectType | null;
        }
        | { feature: "house-system"; from: HouseSystem; to: HouseSystem }

    A change to or from null opens or closes an unresolved interval; it is not a crossing.