laminate 0.1.0

Progressive data shaping for Rust — type coercion, format detection, and fault-tolerant deserialization built on serde
Documentation
{
  "general": {
    "os_major_type": 1,
    "os_minor_type": 3,
    "protocol_version": "0x0200",
    "compression_types": "0x0001",
    "extra_flags": "0x041D",
    "update_capability_flag": "0x0000",
    "remote_unshare_flag": "0x0000",
    "compression_level": "0x0000",
    "refresh_rect_support": true,
    "suppress_output_support": true
  },
  "bitmap": {
    "preferred_bits_per_pixel": 32,
    "receive_1_bit_per_pixel": true,
    "receive_4_bits_per_pixel": true,
    "receive_8_bits_per_pixel": true,
    "desktop_width": 1920,
    "desktop_height": 1080,
    "desktop_resize_flag": true,
    "drawing_flags": "0x001E",
    "multiple_rectangle_support": true
  },
  "input": {
    "input_flags": "0x0015",
    "keyboard_layout": "0x00000409",
    "keyboard_type": 4,
    "keyboard_subtype": 0,
    "keyboard_function_key": 12,
    "ime_file_name": ""
  },
  "order": {
    "terminal_descriptor": "0x0000",
    "desktop_save_x_granularity": 1,
    "desktop_save_y_granularity": 20,
    "maximum_order_level": 1,
    "number_fonts": 0,
    "order_flags": "0x002A",
    "order_support": [true, false, true, true, true, false, false, true, true, true, true, true, false, false, false, false, true, true, true, true, false, false, true, true, false, false, false, false, false, false, false, false],
    "text_flags": "0x06A1",
    "text_ans2_order_flags": "0x0000",
    "text_ans1_order_flags": "0x0000",
    "desktop_save_size": 480000
  },
  "surface_commands": {
    "flags": "0x00000052",
    "set_surface_bits": true,
    "frame_marker": true,
    "stream_surface_bits": true
  },
  "extended_unknown_cap_set": {
    "cap_type": "0xFFFF",
    "raw_data": "AQIDBA==",
    "length": 4
  }
}