feat(2-6): stateful Renderer, DisplayInterface, and pipeline smoke test

Implements story 2-6: Renderer class with per-aircraft trail history
(deque capped at TRAIL_MAX_DOTS=5), NullDisplay with DEBUG logging,
WaveshareDisplay stub, and end-to-end pipeline smoke test. All 96
tests pass; ruff check and format clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt Edholm
2026-04-22 23:33:36 -04:00
parent 5d307c33b0
commit 25076dc1f3
6 changed files with 161 additions and 30 deletions
@@ -35,7 +35,7 @@
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
generated: 2026-04-22
last_updated: 2026-04-22 # 2-1 done, 2-2 done, 2-3 done, 2-4 done, 2-5 done, 2-6 ready-for-dev, epic-2 in-progress
last_updated: 2026-04-22 # 2-1 done, 2-2 done, 2-3 done, 2-4 done, 2-5 done, 2-6 review, epic-2 in-progress
project: planeMapper
project_key: NOKEY
tracking_system: file-system
@@ -58,7 +58,7 @@ development_status:
2-3-home-marker-and-airspace-outlines: done
2-4-altitude-colour-bands-and-aircraft-type-icons: done
2-5-per-aircraft-drawing: done
2-6-stateful-renderer-and-display-interface: ready-for-dev
2-6-stateful-renderer-and-display-interface: review
2-7-operational-radar-loop-startup-screen-and-systemd-wiring: backlog
epic-2-retrospective: optional