Back to corpus
architecturetechnical paper candidatescore 22

Path D: Unity-as-Middleware -- Unity on K11 Becomes the Central Bus

Unity is not just a renderer. It becomes the system's central message bus. All sensor data flows into Unity. Unity extracts features (motion, audio, depth), makes all reactive decisions locally, and ALSO publishes derived features outward to other consumers via UDP. Unity becomes both consumer AND producer. A new "LumeSystemBus" C# component aggregates all signals and publishes a unified state packet at 30Hz that any mesh node can subscribe to.

Full HTML reader

Read the full artifact

Open in new tab

Extracted abstract or opening context

Unity is not just a renderer. It becomes the system's central message bus. All sensor data flows into Unity. Unity extracts features (motion, audio, depth), makes all reactive decisions locally, and ALSO publishes derived features outward to other consumers via UDP. Unity becomes both consumer AND producer. A new "LumeSystemBus" C# component aggregates all signals and publishes a unified state packet at 30Hz that any mesh node can subscribe to. - **Zero latency for visual path.** All sensor -> visual processing is local loopback. - **Unity already does feature extraction.** LumeOpticalFlow computes motion. LumeAudioFftReceiver computes audio features. LumeMotionGate computes time scale. Unity is ALREADY the bus; this path just makes it explicit. - **New LUMS wire format is cheap.** 84 bytes at 30Hz is trivial network load. Derived features are more useful than raw sensor data for remote consumers. - **Simplifies MotionMix's job.** Instead of consuming 3 raw streams (LUMD, LUMF, LUMM), MotionMix consumes 1 derived stream (LUMS). Feature extraction happens once on K11, not redundantly on every consumer. - **Consistent with LUME wire format family.** LUMS (0x4C554D53) extends the existing protocol. - **Unity main thread bottleneck.** All C# components run on Unity's main thread (Update/LateUpdate). Adding more processing risks frame drops below 60fps on Radeon 780M. - **C# is the wrong language for motion intelligence.** ParamMapper's velocity detection, cadence detection, and rhythm stability algorithms are elegant in Swift. Porting to C# loses the tight integration with Vision/CoreMotion and the SAN pipeline. - **Mocopi feature extraction in Unity is weak.** MocopiFeatureExtractor in Swift uses specific joint velocity/limb ratio algorithms tuned for the 128D canonical vector. A C# version would be a parallel implementation with no shared test suite. - **Unity is not a message broker.** It doesn't handle subscriptions, backpressure, or reliable delivery. Bolting pub-sub onto Unity's update loop is architecturally wrong. - **Loses the 128D canonical vector.** The canonical vector is computed by Echelon (Rust via iOS FFI). Unity has no access to the latent state, SAN outputs, lexicon, or section state. PARTIAL ADOPT. The insight that Unity should PUBLISH derived features (not just consume raw ones) is correct. LUMS as a derived state packet is a good idea. But Unity should not try to be a general-purpose intelligence layer or replace MotionMix's motion-to-music mapping. Unity's job: consume sensor data, render visuals, publish derived visual-scene state.

Promotion decision

What has to happen next

Promote into a technical note or architecture paper with implementation anchors.

Why this is not always a full paper yet

Corpus pages are public-safe readers for discovered workspace artifacts. They are not automatically final papers. A corpus item becomes a polished paper only after the editable source, evidence checkpoints, references, figures, render path, and release status are attached through the paper schema.