mirror of
https://github.com/nestriness/nestri.git
synced 2026-11-03 14:12:39 +02:00
Protocol for several windows in one box, each its own stream, ref(d-0085). Design in `crates/nesprotocol/src/window.rs` module docs. - Video: window 0 is byte-identical to today (DGRAM_VIDEO / MSG_DATA). Other windows use DGRAM_VIDEO_WINDOW (4, 17-byte header with u16 window id after sent_us) and MSG_WINDOW_DATA (0x01, u16 window id after seq). - Lifecycle (hub -> client, new uni STREAM_WINDOWS = 8, length-prefixed frames): OPENED 0x20, TITLE 0x21, ICON 0x22 (RGBA), SIZE 0x23, CLOSED 0x24. - MSG_WINDOW_SUBSCRIBE 0x17 on the control stream; never sent means window 0. Old hubs log it as unknown and continue. - Box-internal input: INPUT_WINDOW_OUTPUT_SIZE (5) and INPUT_WINDOW_FOCUS (6) tag resize and input with a window; client INPUT_OUTPUT_SIZE unchanged. - Cursor unchanged: per subscription. nescope gains a no-op match arm for the two new DecodedInput variants. Tests: cargo test -p nesprotocol --all-features, 140 passed. cargo check --workspace (excluding nespyro/nescapture, slangc missing on the build box) clean.