Back to corpus
architecturetechnical paper candidatescore 26

Stage 0 -- Research Brief

1. **Should Unity receive mocopi directly (Sony plugin) or via LUMM bridge?** Sony's plugin exists and works on Unity 6000.x. But it's a separate data path outside the LUME wire format family. A bridge (mocopi_bridge.py) normalizes everything into the LUMM UDP format, keeping the architecture consistent.

Full HTML reader

Read the full artifact

Open in new tab

Extracted abstract or opening context

_Ground truth gathered 2026-04-27 from codebase, docs, and external references._ ### Hardware (on hand or arriving today) - **GMKtec NucBox K11**: Ryzen 9 8945HS, Radeon 780M (~9 TFLOPS), 32GB DDR5, 1TB NVMe, Windows 11 Pro. 4x USB-A, HDMI 2.1, DP 2.1, 2x USB4-C, dual 2.5G NIC, WiFi 6, BT 5.x. Physical: 131.83 x 124.46 x 57.91mm (caliper-verify pending). - **Orbbec Femto Bolt**: USB-C depth camera, ~140x39x30mm. Arriving Apr 27. - **Orbbec Femto Mega**: USB-C depth camera with onboard Jetson, ~127x65x38mm. Already on hand. - **Sony mocopi**: 6 BLE IMU sensors (hip, wrists, ankles, head). Already on hand. - **UMA-8 microphone array**: USB audio interface. Already on hand. - **3D-printed T-form pod**: 200x130x165mm rear pod behind 500x120x85mm bar. K11 + camera + cables inside. ### Software -- Python Publishers (software/demo/) | File | Lines | Role | Port | Wire Format | |------|-------|------|------|-------------| | `pointcloud_pub.py` | 556 | Depth/cloud publisher | :9700 | LUME (0x4C554D45) + LUMD (0x4C554D44) | | `audio_pub.py` | 315 | Audio FFT sidecar | :9701 | LUMF (0x4C554D46, 84 bytes fixed) | | `lume_packet_inspector.py` | 229 | Debug/diagnostics | listens :9700+:9701 | reads all | | `mocopi_bridge.py` | **DOES NOT EXIST** | Referenced by start-mocopi.bat | :9702 | LUMM (undefined) | ### Software -- Unity Components (Assets/Scripts/, 2561 total lines) | Component | Lines | Exec Order | Role | |-----------|-------|-----------|------| | LumeUdpReceiver | 234 | bg thread | UDP socket, magic-byte dispatch | | LumePointRenderer | 120 | default | URP instanced rendering | | LumeDepthReprojector | 198 | default | GPU pinhole projection | | LumeOpticalFlow | 312 | default | Dense LK + frame-diff scalar | | LumeAudioReactor | 138 | 0 | Mic/idle-sine fallback | | LumeMotionGate | 110 | 150 | SuperHot time-scaling | | LumeAudioFftReceiver | 283 | 200 | LUMF decode + shader override | | LumeVfxRuntimeBridge | 144 | 210 | VFX Graph param push | | LumeTransientForcePusher | 153 | 220 | Beat-edge VFX events | | LumeCalibrationPanel | 271 | 0 | F12 runtime IMGUI tweaks | | LumeProceduralTunnel | 179 | default | 6144-pt fallback helix | ### Software -- MotionMix iOS App | File | Lines | Role | |------|-------|------| | MocopiReceiver.swift | 240 | UDP/OSC listener on :9500, parses 27-bone skeleton | | MocopiFeatureExtractor.swift | 233 | Compresses 27 bones to 24D features for SAN 128D vector |

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.