2.5 KiB
2.5 KiB
Sprimo Frontend Implementation Status
Date: 2026-02-12
MVP Vertical Slice
| Area | Status | Notes |
|---|---|---|
| Workspace split | Implemented | sprimo-app, sprimo-api, sprimo-config, sprimo-platform, sprimo-protocol, sprimo-sprite |
| Local REST server | Implemented | /v1/health, /v1/state, /v1/command, /v1/commands; localhost bind and bearer auth |
| Command/state pipeline | Implemented | Command queue, state snapshot updates, transient state TTL rollback |
| Config persistence | Implemented | config.toml bootstrap/load/save with generated token |
| Sprite pack contract | Implemented | manifest.json loader and selected->default fallback |
| Platform abstraction | Implemented | Windows adapter applies top-most/visibility/position using Win32 APIs; click-through is disabled by current requirements |
| Overlay rendering | Implemented (MVP) | Bevy runtime with transparent undecorated window, sprite playback, command bridge |
| Global failsafe | Implemented (Windows) | Global recovery hotkey Ctrl+Alt+P forces visibility and top-most recovery |
| Embedded default pack | Implemented | Bundled under assets/sprite-packs/default/ using sprite.png (8x7, 512x512 frames) |
| Build/package automation | Implemented (Windows) | justfile and scripts/package_windows.py generate portable ZIP + SHA256 |
| Random backend API tester | Implemented | scripts/random_backend_tester.py with just random-backend-test and strict variant |
| QA/documentation workflow | Implemented | docs/QA_WORKFLOW.md, issue/evidence templates, and scripts/qa_validate.py with just qa-validate |
| Shared runtime core | Implemented | sprimo-runtime-core now backs both Tauri and Bevy startup, snapshot/config ownership, and API wiring |
| Tauri alternative frontend | In progress | sprimo-tauri now runs runtime-core/API + PixiJS sprite rendering shell; scale updates now auto-fit window to avoid top clipping |
| Tauri runtime testing workflow | Implemented | docs/TAURI_RUNTIME_TESTING.md defines strict workspace testing; packaged mode pending packaging support |
Next Major Gaps
- Tray/menu controls are still not implemented.
- Linux/macOS overlay behavior remains best-effort with no-op platform adapter.
/v1/statediagnostics are minimal; error history is not persisted beyond latest runtime error.- Issue 1 runtime after-fix screenshot evidence is still pending before closure.
sprimo-tauristill lacks tray/menu/window-behavior parity and full acceptance parity tests.