Packet 107 wire layout
The first byte is the application packet ID. The rows after it appear in decode order. Sizes exclude ENet headers, the outer wrapper prefix, LZF chunk framing, and compression effects.
| # | Field | Encoding | Bytes | Purpose |
|---|---|---|---|---|
| 0 | packet_id | u8 | 1 | Always 107 (0x6B). |
| 1 | type | u8 | 1 | 0 box, 1 sphere, 2–4 header-only recovered primitives. |
| 2 | colour | i32 LE | 4 | colour value. |
| 3 | frames | i32 LE | 4 | frames value. |
| 4 | corner_min | 3 × IEEE-754 f32 LE | 12 | First box corner.When: type = 0 |
| 5 | corner_max | 3 × IEEE-754 f32 LE | 12 | Second box corner.When: type = 0 |
| 6 | center | 3 × IEEE-754 f32 LE | 12 | Sphere centre.When: type = 1 |
| 7 | size | sign-magnitude fixed16 LE (1/64) | 2 | Sphere radius/size.When: type = 1 |
Protocol convention
How to read this layout
LEmeans least-significant byte first.fixed16is two-byte sign-magnitude at 1/64 precision.orientation16uses the measured 1/8192 orientation mapping.- NUL strings consume their encoded byte length plus one
00terminator. - Counted arrays repeat immediately in the order shown.