/**
 * Shared types for the label layout engine.
 *
 * All spatial fields are in viewport pixels (one shared screen-space for every
 * label) except where noted. Slots store dot-relative offsets so a camera pan
 * never invalidates them.
 */
export const defaultSolverConfig = {
    labelPadding: 6,
    dotPadding: 6,
    anglesPerRing: 12,
    ringRadii: [1, 1.55, 2.2],
    ringRadiiCrowded: [1, 1.45, 1.95, 2.6],
    polishBudget: 240,
    maxNeighbors: 24,
    settleEps: 0.4,
    crowdedThreshold: 8,
    teleportFrac: 0.5,
};
