Skip to content

feat: real-time packet arcs, traceroute tracer, and live map polish#491

Merged
SimmerV merged 9 commits into
MeshAddicts:developfrom
SimmerV:feature-addition
Jun 8, 2026
Merged

feat: real-time packet arcs, traceroute tracer, and live map polish#491
SimmerV merged 9 commits into
MeshAddicts:developfrom
SimmerV:feature-addition

Conversation

@SimmerV

@SimmerV SimmerV commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Builds on the existing SSE stream to animate the map from real events. Adds one
WebGL layer (ActivityLayer) plus the wiring to drive it.

Packet arcs

  • Animates each packet event as a comet from from (transmitter) to each
    sender (gateway that heard it).
  • Dedupes multi-gateway uplinks by mesh id into one origin pulse + one arc per
    gateway.
  • Colored by packet type, weighted by RSSI/SNR. Position-less origin renders a
    gateway ripple instead of a fake line.
  • Snaps endpoints to the containing cluster when clustering is on.
  • On by default; opt-out via Settings → Animations.

Traceroute tracer

  • mqtt.py handle_traceroute now publishes a traceroute SSE event (+ test).
  • Frontend animates a comet along the real [from, …route, to] path, skipping
    position-less hops, deduped to the most complete path per mesh id.

Map liveness

  • Cluster donut ratio tweens between real online/total values.
  • Live cluster hover card: membership, ratio, role breakdown, last-heard list.
  • Node brightness encodes last-heard recency; new nodes appear without reload.
  • Node activity sparkline in the details panel (15-min, history-seeded + live).
  • Legend updated: live-packet type-color key (shared with the arcs), recency,
    traceroute.

Performance

  • ActivityLayer: persistent ring buffer, time-in-shader animation, self-
    stopping rAF, vsync-aligned pacing, batched per-flush uploads,
    bounded draw range, 30fps cap.
  • Cluster donut re-drapes terrain only on camera movement.
  • Per-flush arc cap + mesh-id dedup for backpressure.
  • Comet duration scales with on-screen distance (constant visual speed).
  • Respects prefers-reduced-motion.

@SimmerV SimmerV self-assigned this Jun 8, 2026
@SimmerV SimmerV added the enhancement New feature or request label Jun 8, 2026
@SimmerV SimmerV added this to meshinfo Jun 8, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in meshinfo Jun 8, 2026
@SimmerV SimmerV merged commit 7312862 into MeshAddicts:develop Jun 8, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in meshinfo Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant