pointz-clientlisted
Install: claude install-skill qol-tools/qol-skills
# PointZ mobile client
The Flutter client discovers a PointZ desktop server and translates touch or keyboard input into the shared wire protocol. The active client checkout placed in task scope is authoritative; do not choose between similarly named historical checkouts from prose.
## Source of truth
- `pubspec.yaml` owns package identity, SDK constraints, dependencies, and app version.
- Flutter target directories plus build configuration own supported client platforms.
- `lib/services/discovery_service.dart` owns discovery transport and response parsing.
- `lib/services/command_service.dart` owns command transport, pacing, and connection state.
- `lib/features/gesture/` owns touch recognition and command intent.
- `lib/features/keyboard/` owns hardware-key translation when that module exists.
- `lib/services/settings_service.dart` and the settings screen own persisted client preferences.
- `test/` owns executable behavior claims.
Inspect those paths before stating a capability, setting default, throttle interval, port, or platform. If a path has moved, follow imports from `lib/main.dart` rather than reconstructing an old tree.
## Desktop protocol boundary
Discovery ports and messages must match the desktop plugin's `src/config/mod.rs` and `src/discovery/model.rs`. Command JSON must match `src/command/model.rs`.
Change client and server protocol definitions together. Preserve tolerant decoding when adding optional fields; require an intentional compatibility decision