Linnet event bus integration — share gesture stream with Linnet composition panel #16

Open
opened 2026-04-26 21:46:25 -07:00 by pyr0ball · 0 comments
Owner

Users with both Merlin and Linnet running can use trained Merlin gestures to drive Linnet's composition panel without a second camera pipeline.

Implementation: Merlin daemon exposes a local SSE endpoint at http://127.0.0.1:8522/events that streams gesture events as newline-delimited JSON:

{"gesture": "open_palm", "confidence": 0.94, "ts": 1714180522.3}

Linnet subscribes to this stream (if Merlin is running) and maps gesture events to composition actions (e.g., open_palm → confirm send, head_shake → discard draft).

Phase B feature — implement after gesture event stream is stable and Linnet Phase A is shipped.

Both sides of the SSE connection are localhost-only. No network exposure.

Users with both Merlin and Linnet running can use trained Merlin gestures to drive Linnet's composition panel without a second camera pipeline. **Implementation:** Merlin daemon exposes a local SSE endpoint at `http://127.0.0.1:8522/events` that streams gesture events as newline-delimited JSON: ```json {"gesture": "open_palm", "confidence": 0.94, "ts": 1714180522.3} ``` Linnet subscribes to this stream (if Merlin is running) and maps gesture events to composition actions (e.g., open_palm → confirm send, head_shake → discard draft). Phase B feature — implement after gesture event stream is stable and Linnet Phase A is shipped. Both sides of the SSE connection are localhost-only. No network exposure.
pyr0ball added this to the Phase B — Depth and High-Fidelity Spatial Input milestone 2026-04-26 21:46:25 -07:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/raven#16
No description provided.