Skip to content

NotchRail v0.0.10

Pre-release
Pre-release

Choose a tag to compare

@AeroSheepZ AeroSheepZ released this 16 Sep 06:30
· 5 commits to main since this release

⚠️ 版本说明:本版本为开发版 (Development Build),闭源于 GitHub Issue #55。核心是多屏视口注册表化、设置项与实现对齐、状态项身份与点击派发修复、设置窗口启动路径根治与文档唯一归属闸门。

✨ v0.0.10 核心更新与修复

  1. 🖥️ 多屏视口注册表化(屏幕数不设上限)

    • 废除 primaryPanel / externalPanel 双槽位模型与 externalOwnedDisplayID;视口与交互状态机一律按 displayID 注册,第三块屏起不再静默失效(ADR 0009)。
  2. ⚙️ 设置项与实现对齐

    • 删除名不副实的选项:多显示器策略第三档(与保留档行为完全等价)与「点击图标后自动收起」开关(代码本就恒定收起);固化「无遮挡时不渲染」语义(ADR 0015)。
    • 胶囊点击恒为展开/收起切换:三档唤出方式语义收敛为唯一定义,修复「点开之后收不起来」(ADR 0016)。
  3. 🖱️ 状态项身份解析与点击派发修复

    • 派发目标恒取状态项窗口 owner,与事件携带的「鼠标下窗口」字段同进程,修复第三方项点击被静默丢弃(ADR 0010)。
    • 空间配对基准由窗口左边缘改为水平中心(实测存在 1pt 系统偏移,个别项达 7pt)。
    • 辅助点击改走会话事件流 + 目标窗口字段路由:右键可精确送达被刘海挤占、未被合成的项(ADR 0011)。
    • 响应判定不再排除本进程:修复「自家溢出图标菜单已弹出却被判无响应、岛屿抖动且不收起」(ADR 0012)。
  4. 🚀 设置窗口启动路径根治

    • 放弃 SwiftUI App 自动建窗,改由 AppKit 手动启动,从根源消除「声明即建窗」的启动空白面板;设置面板改为侧边栏版式。
  5. 📚 文档唯一归属与一致性闸门

    • 建立「每类事实恰好一处权威定义」的归属矩阵,其余文档只准引用、不得复制;一切数值常量以代码具名常量为唯一出处。
    • 落地 scripts/check_docs.sh 六类一致性闸门(已删符号残留、旧双槽位模型回退、受管数值内联、禁用别名外泄、ADR 编号连续性、版本号口径一致)。
  6. 🧹 工程卫生

    • 修复设置面板「应用管理」列表图标不随图标解析完成刷新;PreferenceKey 可变静态存储属性改为计算属性。

⏳ 已知未交付(移交 v0.0.11,issue #56)

ADR 0013「按屏独立取图(废除跨屏图元共享层)」与 ADR 0014「排序偏好默认按屏独立」两项决议已立、实现待办,受两条前置卡点阻塞:非活动屏原位派发的可达性未取证(须走应用内诊断运行器),屏幕稳定标识待定案(displayID 在插拔后不稳定)。

规则与代码的过渡态已在 AGENTS.md §2.0 显式标注,两份 ADR 状态横幅与 docs/DOMAIN_MODEL.md §6 同步标记 —— 读到与文档不符的代码时,以文档为准则、以代码为现状。

📦 资产下载

  • DMG 镜像安装包: NotchRail-v0.0.10.dmg
  • ZIP 绿色压缩包: NotchRail-v0.0.10.zip