# Eskin Model Player

实时压力矩阵可视化桌面应用，用于连接 E-Skin 传感器设备并通过串口接收压力数据，以热力图方式实时渲染。

## 功能

- 串口连接 E-Skin 传感器（921600 baud）
- 实时压力矩阵热力图渲染（wgpu）
- 自定义无边框窗口，macOS 风格标题栏
- 浮动面板：连接管理、场景视图、配置、数据统计

## 依赖

- Rust 2024 edition
- [eframe](https://crates.io/crates/eframe) 0.34（egui + wgpu）
- [serialport](https://crates.io/crates/serialport) 4.9

## 构建与运行

```bash
cargo run --release
```

## 项目结构

```
src/
├── main.rs            # 入口，创建 eframe 窗口
├── app.rs             # 应用主循环与面板调度
├── connection.rs      # 串口连接管理（后台线程）
├── serial_core/       # 串口协议编解码
│   ├── serial.rs      # 串口读写循环
│   ├── codec.rs       # 帧编解码器
│   ├── frame.rs       # 帧结构定义
│   └── ...
├── render.rs          # wgpu 渲染管线（背景 + 数字叠加）
├── matrix.rs          # 矩阵布局与坐标变换
├── ui.rs              # egui 浮动面板 UI
├── theme.rs           # 深色工程主题
├── shader.wgsl        # WGSL 着色器
└── utils.rs           # 工具函数
```
