# TODO ## Before calling v2.0 done - [ ] **Wyse 3040 validation.** Debian minimal to working rack display, following only the README. Every stumble is a README fix, then re-run. This is the acceptance gate, not a nice-to-have. - [x] **LattePanda switched over 2026-09-09.** v2 binary at `~/.local/bin` (no passwordless sudo on that box), config at `~/.config/socktop-swipe/config.yaml`, i3 autostart replaced with a single `socktop-swipe run`. All four screens verified live from the framebuffer. Build there: 108 s, peak 1.1 GB of 1.9 GB, 103 MB target dir. - [ ] Remove the v1 leftovers in `/usr/local/bin` on the LattePanda -- needs root: `sudo rm -f /usr/local/bin/socktop-rack /usr/local/bin/socktop-swipe /usr/local/bin/socktop-gestures /usr/local/etc/socktop-swipe.env` - [x] **Physically swipe-tested 2026-09-09** -- and it found a real bug the unit tests could not: every swipe classified as up-to-down, because a contact's start position was captured from the X event alone and recorded Y as zero. Fixed, with protocol-B decoding tests. QA passed on the retest. - [x] **Cold boot verified 2026-09-09.** Autologin, i3, and `socktop-swipe run` all come up unattended. - [ ] Add the tested-hardware table to the README once the Wyse is done. - [ ] Decide on the position indicator (`indicator: true`). Implemented; keep or cut based on whether it actually helps on the wall. ## Open questions from the plan - **Snap tie-break.** From `0x2`, with cells at `-1x1` and `-1x3` both at distance 1, the lower column wins. Only fires on the first entry into a row. - **Indicator.** Off by default. See above. ## Later - Prebuilt binaries. Deliberately not in v2.0: source-only until the Wyse install shows how bad a build on an Atom really is. `[package.metadata.deb]` is already in `Cargo.toml`, so `cargo deb` is the cheap next step if it turns out to hurt. - `unifly` parameters. `site` and `controller` are accepted by the config and passed as `--site` / `--controller`, but the fork does not implement them yet. Verify against the flags it actually grows. - A second monitor type that needs a multi-pane sub-sequence would prove the `Vec` model generalises. Nothing needs it yet. - SIGTERM handling to remove the control socket on exit. Not urgent: a stale socket is detected and replaced on the next start, which is tested behaviour.