生态桌面应用

言台架构

言台 0.1.0 的 ABI v2、事件、文字、绘制与资源生命周期边界。

言台把三套桌面系统收敛为版本化的平台原语。公开言序包装层调用一个 ABI v2 原生模块;原生模块使用winit 0.30创建窗口和接收输入,使用softbuffer呈现 CPU 像素缓冲、tiny-skia栅格化二维图形、cosmic-text完成字体回退、整形、测量和命中。

言序应用/言界
      │ 资源句柄、原生值、事件批次、YXDR 帧

言台言序包装层
      │ ABI v2(34 项操作)

Rust 公共后端
  ├─ winit:窗口、显示器、键盘、指针、IME、拖放
  ├─ softbuffer + tiny-skia:表面与 CPU 二维绘制
  ├─ cosmic-text:字体匹配、整形、测量、命中、字形
  └─ arboard / rfd:剪贴板与文件对话框

协议

  • 平台 ABI 主版本为2;不匹配的主版本拒绝加载。
  • 事件协议为1.1,覆盖 36 种应用、窗口、输入、IME、拖放和系统事件。
  • 每批事件有数量和字节上限;队列上限为 4096,高频状态在入队前合并。
  • 绘制协议YXDR 1.1使用一个完整二进制帧,支持清空、裁剪、变换、矩形、圆角、直线、圆、路径、阴影、文字、字形、图片、图层和透明度。
  • 协议解码器拒绝损坏缓冲、超限数据和未知主版本;可忽略兼容的未知次版本字段。

所有权与线程

应用是资源树根。窗口拥有表面和窗口级回调,字体和图片由应用持有;句柄包含代际,释放后的旧句柄不能访问复用槽位。关闭按子到父顺序执行且可重复调用。原生线程只能把事件投递到有界队列,所有言序回调都在 VM 所有者线程泵出。

完整实现文档见言台架构平台 API事件协议绘制协议