repulsive.state: Evaluate a pure repulsive layout objective
Description
`repulsive.state()` evaluates only the repulsion term used by the
experimental GMDS repulsive-unfolding operators. Unlike
[edge.repulsive.state()], this function has no graph-edge term and does
not require placeholder edges or edge lengths.