Commit Graph

2 Commits

Author SHA1 Message Date
timban 19f8cf08d7 Fix label overlap when districts glide to their latency distance
The latency reposition moved hubs to their RTT radius without checking
label collisions, so a gliding district could land on top of a neighbour.
Make both placement paths overlap-aware via the existing LayoutSolver:
keep distance = latency (the meaningful axis) but rotate the arbitrary
angle to clear other labels. Track each hub's target position so
same-tick moves avoid where others are heading, not just where they are.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 10:46:53 -07:00
timban c08fc277a9 Initial commit: NetworkCity — network traffic as a neon city
A native macOS network monitor that renders live traffic as a top-down
neon city: your Mac is downtown, remote orgs are glowing districts, and
traffic is cars of light driving the roads.

Architecture:
- NetworkCityCore: swappable data layer behind a ConnectionSource protocol
  (nettop-backed today), plus pure/tested logic — traffic diffing, org
  classification (reverse-DNS + CIDR), traffic classes, hub-and-spoke
  expansion policy, label anti-overlap, and latency→distance layout.
- NetworkCityApp: SwiftUI + SpriteKit city — auto-expanding districts,
  protocol-coloured cars, click-to-inspect panel, and latency-as-distance
  (districts glide to their measured RTT).
- nettop-probe: CLI proof of the data layer.

44 tests passing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 08:43:32 -07:00