This adds support for RDP6 32bpp bitmaps.
- RDP6 RLE implementation
- `RDP6_BITMAP_STREAM` pdu parsing
- New CLI arguments to select color depth and color reduction
- Unit tests and fuzzing for implemented functionality
Test bpp32 mode without lossy compression (RGB colorspace)
```
cargo run -p ironrdp-client -- -u vmbox -p password --color-depth=32 <IP_ADDRESS>
```
Test bpp32 mode with lossy compression (YCoCg colorspace, subsampling, color loss)
```
cargo run -p ironrdp-client -- -u vmbox -p password --color-depth=32 --lossy-bitmap-compression <IP_ADDRESS>
```
Issue: ARC-149
- Remove Tauri client.
It was useful when initially prototyping the Web Component, but now
it’s more of a maintenance burden. It’s notably not convenient to
check in CI. Since we now have another native alternative that does
not require any GPU (`ironrdp-client`), it’s probably a good time to
part ways.
- Move wasm package into the workspace.
- Move Rust crates into a `crates` subfolder.
- Introduce `xtask` crate for free-form automation.
Mostly added bound checks in case an invalid RLE-compressed bitmap is
received. Implementation have been fuzzed for a few hours in order to
find blind spots.