Transport is not meaning
libmapper, UDP, and PM5 BLE become InputEvents before they touch the field. Adding a sensor is a provider problem, not a solver rewrite. Dourish’s embodied interaction is the reason the conversion happens so early: the host should reason about a stroke, not about a packet.[040] Höök’s somaesthetic design makes the same demand from the other side: the body, not the packet, is the site of meaning.[062] The floor, not a headset, is the mixed-reality register.[081][Th.]
Input vocabulary
Many transports, one event.
Producers disagree about cables and clocks. They agree once they become InputEvent. Dashed satellite: Python bridge → UDP.
01 · ProvidersThree transports, one vocabulary: libmapper, UDP (via the Python bridge), and PM5 BLE all emit InputEvent.
libmapper, UDP (Python bridge dashed), and PM5 BLE converge on InputRouter, then the main-thread sink as InputEvent.
Events converge before state changes
Distinct queues, one main-thread sink. Ingest latency is measured; the display path is not.
Event timing
Converge before mutate.
Sensing stays concurrent on the edges. Meaning and cooldown clocks meet only at the sink.
01 · QueuesMapper, BLE, and UDP arrive on different tempos. None may touch Metal from their queue.
Mapper, BLE, and UDP stay on separate queues; copy/normalize hands off to the main sink with clock normalization.
Arbitration before the field
The study used the handle IMU and the PM5 together. Both sensors stayed live. Arbitration picks the fastest source for each pull and drops the duplicate, so one stroke cannot write two drives.
Stroke arbitration
Pick the fastest. Drop the echo.
Both sensors stay live. The first packet to arrive owns the pull; the slower copy is discarded.
01 · Both liveThe handle IMU and the PM5 stay on. Two clocks, two packets, one pull.
The study used IMU + PM5. Both stay live; the fastest source owns the pull and the duplicate is dropped.
A stroke forks into wake and boat speed
Displacement becomes a trail; boat speed becomes the carrier. Trail strength and force are attenuated on the way to the floor.
Trails & physics
One stroke, two jobs.
A stroke paints the wake and drives boat speed on separate paths. They meet again on the floor.
01 · StrokeEvery stroke starts here — same gate as Fig. 4.3. The fastest source already won.
A stroke forks into wake trail (oar displacement) and boat speed (force against drag), then they meet on the floor.