ludic/docs/language/collision/collision-circles.md
Orkuncakilkaya 2f19c8d8e2 refactor(stdlib): de-abbreviate namespaces (Mem/Sys/Net/Collide)
Expand the abbreviated public namespaces to full words, part of the
language-wide de-abbreviation pass:
  Mem -> Memory, Sys -> System, Net -> Network, Collide -> Collision

Math stays (universally accepted, like int/bool). Renames the dispatch
strings, LSP signatures, docs (dirs, files, frontmatter), and the
inventory manifest; behavior is byte-identical (the bare rt_ targets are
unchanged). Reseeded; C-free bootstrap fixpoint holds; all suites green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-30 01:30:47 +03:00

698 B

id name category kind tokens sig tip order ns member
collision-circles Collision.circles collision namespace-method Collision.circles Collision.circles(ax, ay, ar, bx, by, br) -> bool Do two circles overlap? 2 Collision circles

Returns true when circles centred at (ax, ay) and (bx, by) with radii ar and br overlap — that is, when the distance between centres is at most ar + br. It compares squared distances internally, so there is no square root and no precision loss.

program Demo {
  handler Step phase Update {
    if Collision.circles(px, py, 8, ex, ey, 8) { collide() }
  }
}