Maglev Cycle 7: IK Routing and Merge
The Context
Two same-type Godot clients share a zone after Cycle 6. Cycle 7 swaps one Steam Deck client for a PCVR client and confirms that a single 6-DOF IK datagram travels through the gateway and reaches the zone server. The rate and merge logic are not yet in scope.
The Problem Statement
A PCVR client’s IK datagram format differs structurally from a gamepad datagram. The gateway has never parsed one. Before testing merge behaviour at full IK rate, the routing path itself must be shown to work for at least one IK datagram.
Design
The PCVR client — running the solved multiplayer-fabric-interaction-system addon via xr_controller_interaction_helper.gd and xr_action_host.gd — starts at 1 Hz IK and ramps to 10 Hz. The Steam Deck client sends gamepad datagrams at normal cadence. The gateway routes and merges both streams to the zone server on UDP 7443. The world is static.
The 1 Hz phase confirms the IK datagram format parses correctly. The 10 Hz phase confirms the gateway’s merge logic is correct under concurrent input before full rate is introduced.
Pass criteria:
Estimate
5 days (2026-05-19 → 2026-05-26). The IK datagram format is new but the gateway routing path is identical to gamepad. The interaction system (xr_controller_interaction_helper.gd) is solved; the work is serialization format definition and gateway route registration.
CRIS Score
| Factor | Score | Evidence |
|---|---|---|
| Complexity | 7 | IK datagram format is new to the gateway but the routing path is identical to gamepad; one datagram per second removes rate risk. |
| Reach | 10 | Cycle 8 (full-rate IK) cannot begin without a proven merge baseline. |
| Impediment | 9 | A parse failure here blocks all cross-platform work. |
| Stakeholder | 10 | Gate for Cycle 8 and all subsequent cross-platform cycles. |
| Total | 9.0 | Build after Cycle 6 passes. |
The Downsides
10 Hz IK does not trigger head-of-line pressure; that stress test is Cycle 8 at full headset rate.
The Road Not Taken
Going straight to full headset rate was rejected — a routing bug and a head-of-line bug at the same time are harder to separate than routing at 1 Hz and merge at 10 Hz in one cycle.
Status
Status: Draft
Decision Makers
- Lead Architect / Fabric Maintainer
Further Reading
@misc{v_sekai_2026,
title = {V-Sekai},
year = {2026},
url = {https://v-sekai.org/}
}