Files
socktop-swipe/notes/TODO.md
T

43 lines
2.4 KiB
Markdown
Raw Normal View History

# 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<Pane>` 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.