feat(protocol): freeze M4 native session RC6 contract
This commit is contained in:
@@ -36,6 +36,7 @@ during cleanup.
|
||||
| `0x05` | controller state | `controller` (0 through 15), `active_mask` (u16), `button_flags` (u16), `left_trigger` (u8), `right_trigger` (u8), `left_x` (i16), `left_y` (i16), `right_x` (i16), `right_y` (i16), `extra_button_flags` (u16). A zero `active_mask` and zero state is release. |
|
||||
| `0x06` | absolute mouse | `x` (u16), `y` (u16), `viewport_width` (u16), `viewport_height` (u16). Viewport dimensions must be nonzero and each coordinate must be strictly smaller than its corresponding dimension. |
|
||||
| `0x07` | high-resolution scroll | `vertical_delta` (i16), `horizontal_delta` (i16). Positive and negative values preserve the client scroll direction without provider-specific scaling. |
|
||||
| `0x08` | controller arrival | `controller` (u8, 0 through 15), `active_mask` (u16), `family` (u8: `0` unknown, `1` xbox, `2` playstation, `3` nintendo), `supported_button_flags` (u32). It must precede controller state for that controller. |
|
||||
|
||||
Keyboard, mouse button, UTF-8, controller, absolute mouse, and scroll messages
|
||||
are delivered over the gateway's reliable ordered input flow. Relative and
|
||||
@@ -60,7 +61,12 @@ is the following exact envelope:
|
||||
| 8 | N | payload | exact type-specific body |
|
||||
|
||||
The client-to-gateway types are `0x01` IDR request (empty), `0x02` FEC
|
||||
status, and `0x03` terminal receipt (empty). FEC status contains
|
||||
status, `0x03` terminal receipt (empty), `0x04` quality-work prompt, and
|
||||
`0x05` Stop-work prompt. The quality prompt is exactly `operation_id` (16
|
||||
canonical UUID bytes) followed by `revision` (nonzero u64). The Stop prompt is
|
||||
exactly `operation_id` (16 canonical UUID bytes). Prompts never authorize or
|
||||
complete work; the gateway acquires the matching durable mTLS work item.
|
||||
FEC status contains
|
||||
`frame_index` (u32), `highest_received_sequence` (u16),
|
||||
`next_contiguous_sequence` (u16), `missing_before_highest` (u16),
|
||||
`total_data_packets` (u16), `total_parity_packets` (u16),
|
||||
|
||||
Reference in New Issue
Block a user