修复轮盘顺时针切换至正上方选区延迟的问题 - #115
Conversation
WhereisFff
commented
Sep 11, 2026
- 补齐跨越 0° 的扇区命中判定,鼠标从左上方进入正上方选区时立即切换,无需转到 0°
- 补齐跨越 0° 的扇区命中判定 - 鼠标从左上方进入正上方选区时立即切换,无需转到 0°
|
已完成审查。以下是审查意见(直接发布到 PR 评论区): 代码审查摘要 — PR #115操作: opened 🔍 根因确认(修复方向正确)原表达式( (section.angleStart > section.angleEnd && rotation >= section.angleStart
|| rotation >= section.angleStart && rotation <= section.angleEnd)
数值复刻
|
| 声称 | 状态 | 证据 |
|---|---|---|
| 补齐跨越 0° 的扇区命中判定 | ✅ | L634-636 三元分支,旧 rotation >= start 退化语义已被替换 |
| 鼠标从左上方进入正上方选区时立即切换,无需转到 0° | ✅ | 模拟盲区由 45°/22.5°/30°(n=4/8/6)收缩为 0 |
| 无越界改动 | ✅ | 仅 WheelWidget.java 1 文件,+5/−3 |
🧪 测试建议
| 被测目标 | 推荐场景 | 优先级 |
|---|---|---|
containsAngle(start, end, angle) |
跨 0° 扇区两段(angle≈0+ 与 angle≈2π−)均命中 |
🔴 |
| 同上 | 边界等值(angle == start / == end)与 start >= end(整圆) |
🟡 |
checkMousePos |
x == 0 && y < 0(rotation 恰为 2π)与 x < 0 单侧接近 0° 时的选中项一致性 |
🟡 |
结论: APPROVE(建议合并) —— 修复正确、最小化、与渲染口径一致,并修掉了一个真实的功能性 bug(盲区内误触发上一个条目)。上面的 >= 整圆边界与 rotation 归一化可作为可选后续改进,不阻塞合并。
关于 CI: mergeable_state: unstable 是多个 build-l0 任务仍在 in_progress(未失败),非构建错误。
标题建议: 现有标题「修复轮盘顺时针切换至正上方选区延迟的问题」低估了影响(实际会误触发上一个条目)且缺少英文标题,建议改为:
Fix wheel sector hit test across 0° 修复轮盘跨越 0° 扇区的命中判定
(本次 gh auth status 显示 /opt/data/home/.config/gh/hosts.yml 中 Gugle2308 的 token 已失效,未执行 gh pr edit;如需我改请先重新 gh auth login。)
由 Hermes Agent 审查
|
💾 Self-improvement review: Skill updated · Patched SKILL.md in skill 'coordinate-transform-pr-review' (1 replacement). |
🌿 Roseau API Breaking Change Report
|
|
PR #115(Anvil-Dev/AnvilLib)状态为 closed,按 webhook 审查约定(closed/labeled → 停止),不生成审查意见、不发表评论。 如需对已合并/关闭的改动做回顾性审查,请重新触发 open/synchronize 事件,或直接告诉我,我再拉取 diff 分析。 |