32 lines
1.6 KiB
Markdown
32 lines
1.6 KiB
Markdown
# Feature Specification: Graphical Interface
|
|
|
|
**Status**: Implemented
|
|
|
|
**Created**: 2026-09-20
|
|
|
|
**Scope**: The graphical interface: a libcosmic window that is a client of the daemon like the
|
|
command line, the onboarding that installs the service, and the redesigned window.
|
|
|
|
Split out of the original Midi Harbor specification on 2026-09-27. Requirement, success criterion,
|
|
research and task numbers are the ones the original gave them, and the code cites them by number;
|
|
[the index](../README.md) says which spec holds each. The architecture, the daemon contract and the
|
|
command-line contract are in [001-service-and-clients](../001-service-and-clients/).
|
|
|
|
## Requirements *(mandatory)*
|
|
|
|
The window has no requirements of its own. It is one of the daemon's two clients, and what it
|
|
shows and does is required by the spec each capability is in. Those it answers most directly:
|
|
|
|
- FR-039b, that the window is optional and a build can leave it out, in 001.
|
|
- FR-039c and SC-014b, that everything the window does the command line does too, in 001.
|
|
- FR-042, offering to install and start the service when it is not running, in 001.
|
|
- SC-014, that opening and closing the window disturbs no connection, in 001.
|
|
- SC-001, a virtual port created and seen by another application in under 30 seconds, in 003.
|
|
- FR-044 to FR-047, state, counters, history and the live monitor, in 009.
|
|
|
|
The layout the owner chose, and what it asked of the daemon, is research R-078.
|
|
|
|
## Assumptions
|
|
|
|
- Only one graphical interface window per computer is expected in normal use, though the service
|
|
must tolerate several clients.
|