danos/system/services
Daniel Samson 5ab7263c9c display-demo: stop drawing a cursor and stop blocking on the mouse
Two real bugs visible in a normal `zig build run-x86-64` boot (but not in the
display-demo test, which spawns no input service):

  - Two cursors. The demo drew its own cursor layer while the display service
    now draws one too (its mouse-listener thread). The demo's went through the
    client IPC protocol and lagged; the service's is in-process and tracks
    tightly — "one responds better than the other."

  - Animation frozen until the mouse moves. The demo called a *blocking*
    `mouse.next()` (ipc_reply_wait) inside its animation loop, so the sliding
    box advanced only one frame per mouse event. In the display-demo test
    there is no input service, so subscribeMouse() returned null and the loop
    ran free on its 30ms timer — which is exactly why the test passed while
    the real boot was broken.

The compositor now owns the cursor (docs/display.md), so the demo should draw
none and read no input: it becomes a pure client-animation proof whose loop is
independent of the mouse. Removes its cursor layer, mouse subscription, and the
blocking read.

Also harden displayDemoTest to spawn the `input` service alongside the demo
(matching real boot): a client that blocks its animation loop on a mouse read
would now stall before `display-demo: ok` and fail the test, instead of
passing because no input service happened to be present.

Verified: display / display-service / display-demo / display-cursor all green.
2026-07-21 02:37:47 +01:00
..
acpi removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
args-echo removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
block fat/usb-storage: flush the device cache on close so writes survive power-off 2026-07-13 23:29:15 +01:00
crash-test removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
device-list removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
device-manager removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
display display: track the mouse with a listener thread (Shape A) + cursor 2026-07-21 02:31:29 +01:00
display-demo display-demo: stop drawing a cursor and stop blocking on the mouse 2026-07-21 02:37:47 +01:00
fat removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
fdt removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
init removing init heartbeat in releases 2026-07-20 20:10:24 +01:00
input removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
input-source display: track the mouse with a listener thread (Shape A) + cursor 2026-07-21 02:31:29 +01:00
input-test removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
log-flush removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
power Add runtime.time, drop demo drivers, harden TSC timekeeping 2026-07-13 11:56:43 +01:00
process-test removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
shm-client removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
shm-server removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00
thread-test docs+code: drop misleading fs.base notation for the thread pointer 2026-07-21 01:52:10 +01:00
vfs removing the need for panic and _start snippets in user space binaries 2026-07-17 16:15:30 +01:00