GeoLeaf Core API - v3.19.0
    Preparing search index...

    The engine's own diff shape, structurally mirrored so the adapter can hand one to GeoJSONSource.updateData without importing MapLibre's type into the layer that declares the neutral LayerDataDiff.

    interface MaplibreSourceDiff {
        removeAll?: boolean;
        remove?: (string | number)[];
        add?: Feature<Geometry, GeoJsonProperties>[];
        update?: {
            id: string | number;
            newGeometry?: Geometry;
            removeAllProperties?: boolean;
            removeProperties?: string[];
            addOrUpdateProperties?: { key: string; value: unknown }[];
        }[];
    }
    Index
    removeAll?: boolean
    remove?: (string | number)[]
    add?: Feature<Geometry, GeoJsonProperties>[]
    update?: {
        id: string | number;
        newGeometry?: Geometry;
        removeAllProperties?: boolean;
        removeProperties?: string[];
        addOrUpdateProperties?: { key: string; value: unknown }[];
    }[]