文档 v1.0 desktop/README.md

桌面设计规范

桌面规范文档集的入口,说明各份文档的分工与相互关系。

Soke 桌面环境的设计规范文档集。桌面栈的全部实现(compositord、wmshell、inputd、Soke Display Server、Soke Display Manager、Soke Display Driver Model 的显示侧约定)以本规范为唯一设计依据;本规范与 CLAUDE.md 冲突时,以规则为准。

  • 文档版本:1.0
  • 定稿日期:2026-09-05
  • 状态:设计定稿,未开始实现

桌面形态

┌──────────────────────────────────────────────┐
│        ╭─────────────────────────────╮       │
│        │ 状态区 · 时钟/日历 · 托盘 · ⏻ │       │ ← 顶部悬浮状态条(玻璃岛)
│        ╰─────────────────────────────╯       │
│                                              │
│                  ┌─────────┐                 │
│                  │  窗口 A  │                 │
│       ┌──────────┴─┬───────┘                 │
│       │  窗口 B    │                         │
│       └────────────┘                         │
│                                              │
│           ╭──────────────────────╮           │
│           │ ◉ ◉ ◉ ◉ ◉   ⊕  ♫ ⚙ │           │ ← 底部居中悬浮 Dock(玻璃岛)
│           ╰──────────────────────╯           │
└──────────────────────────────────────────────┘

底边与顶边各留一条悬浮玻璃岛,中间整块留给窗口。两座岛都不贴满整宽,边缘露出壁纸,立体感来自液态玻璃折射而非色块填充。

文档索引

文档 内容
architecture.md 组件分层、进程职责、IPC 与 surface 协议字段表、线程模型、启动顺序、故障恢复
visual-language.md 布局规格、视觉 token(10bit 域)、排版与图标、主题自适应机制
liquid-glass.md 液态玻璃材质:与 shuding/liquid-glass 的逐项同构映射、参数、光照模型、应用分级、性能预算
interaction.md 动效 token、窗口操作、手势、快捷键、通知行为
wallpaper.md 壁纸管理器:格式、10bit 管线、多显示器策略、目录约定

已定决策

决策点 结论 日期
桌面布局 底部居中悬浮 Dock + 顶部悬浮状态条,均为玻璃岛 2026-09-05
窗口控制按钮 标题栏右上三圆点,悬停着色 2026-09-05
主题基调 跟随壁纸自适应,深/浅双档玻璃 2026-09-05
第一期范围 仅设计文档,不写实现代码 2026-09-05

组件速览

组件 一句话职责 详设
inputd 键鼠/触摸板事件流与手势识别 architecture.md
Soke Display Server surface 协议端:缓冲提交、输入分发、输出协商 architecture.md
wmshell 窗口管理 shell,承载 Soke Window Manager 与 Dock/顶栏/通知中心 architecture.md
compositord 纯渲染合成器:Vulkan、液态玻璃、10bit 输出 architecture.md / liquid-glass.md
Soke Display Manager 显示管理器:登录与会话生命周期 architecture.md
Soke Desktop Environment 以上桌面侧全部的总称,.spk 可卸载组件 architecture.md
Soke Display Driver Model 显示驱动程序模型,驱动用 Zig 编写(ring-0) architecture.md

红线(实现时不可越)

  1. 渲染链固定为:应用 → 合成引擎 → 显存帧缓冲 → GPU 驱动 → 完整显示输出。
  2. 全链路 10.7 亿色(10bit),任何环节不得引入调色板、VGA、VBE。
  3. 三大职责独立进程:输入 inputd、窗口管理 wmshell、合成 compositord,禁止回并。
  4. 液态玻璃逐项复刻 shuding/liquid-glass,禁止用「半透明 + 高斯模糊」冒充。
  5. 桌面 UI 用 Qt 6.x 编写,后端 Vulkan;Qt6 与 Vulkan 为完整移植的官方上游源码。
  6. 用户可见界面不出现品牌、团队、内核及由来信息;系统名称与版本号只出现在设置的「关于」页。