from __future__ import annotations

import math


def spiral_positions(n: int, *, max_r: float = 5000.0) -> tuple[list[float], list[float]]:
    """
    Deterministic "sunflower" (golden-angle) spiral layout.

    This is intentionally simple and stable across runs:
    - angle increments by the golden angle to avoid radial spokes
    - radius grows with sqrt(i) to keep density roughly uniform over area
    """
    if n <= 0:
        return ([], [])

    xs = [0.0] * n
    ys = [0.0] * n

    golden = math.pi * (3.0 - math.sqrt(5.0))
    denom = float(max(1, n - 1))

    for i in range(n):
        t = i * golden
        r = math.sqrt(i / denom) * max_r
        xs[i] = r * math.cos(t)
        ys[i] = r * math.sin(t)

    return xs, ys

