引言: 为什么我决定自己写一个计时器?
对我这样一个拧巴了数十年的古早魔方爱好者, 市面上虽然有很多计时软件, 但大多数要么视觉风格过于陈旧, 要么在 3D 预览和移动端交互上不够“丝滑”。 我一直想要这样一个显示在电脑或者 pad 屏幕上的计时器:
- 工业感设计: 深色调、 高对比度, 专注于成绩本身。
- 高精度反馈: 每一毫秒的跳动都清晰可见。
- 所见即所得: 不再仅有打乱公式 (Scramble), 而是同步实时显示魔方打乱后的状态。
不仅仅是计时
🟢 WCA 标准的竞赛流程
CubeTimer 严格遵循世界魔方协会 (WCA) 的标准流程。 它不仅支持 15 秒的观察阶段(Inspection), 还内置了竞赛级的惩罚逻辑。
- DNF (Did Not Finish): 一键标记中途放弃。
- +2s 惩罚: 因冒失收尾造成的不完美状态。
🎨 全阶层 3D 预览
借助 Three.js, 我实现了从 2x2 到 7x7, 甚至五魔方 (Megaminx) 的实时 3D 渲染。 当你看到一个复杂的打乱公式时, 预览面板会同步显示魔方的状态。 你甚至可以用鼠标或手指随意拖动这个魔方来查看所有面的所有颜色。

🔧 自定义打乱
这可能是一个很有用的附属功能。 在预览窗口中有一个名为 “Manual Scramble” 的按钮。 点击它会弹出一个小窗口, 用户可以输入任意打乱公式, 得到一个打乱状态。 这可以满足某些 “case study” 的需求, 也可以用来验证某些新奇的公式。

🛡️ “防误触” 交互设计 (Action Pad)
使用触摸屏上的计时器, 最痛苦的就是误触导致计时意外开始。 在最新的 v1.2.1 版本中, 我重新设计了交互逻辑:
- Action Pad: 只有点击特定的控制区域才会触发计时, 点击魔方预览或其他区域不会干扰成绩。
- 触控优化: 层次清晰的计时逻辑, 短按观察, 长按准备, 抬起出发。
技术难点
从两年前开始我就尝试在 AI 的辅助之下写这样一个小软件。 不过两年中基本没有什么进展, 总是停留在奇怪的技术性错误之上。 这显然不是因为我的水平差, 因为 2026 年的春天, 当我再次从零开始尝试各种大模型的时候, 已经完全不需要我写任何代码了。 没错, 写不出软件来, 全怪 AI 发展太缓慢! LOL
并不是说完全不需要人类 (作为苦力) 参与其中。 比如 megaminx 的 3D 建模, 我似乎要稍微写上一点数学描述, 让 AI 从规整的立方体结构中跳脱出来, 完全重新写一套新的几何逻辑。 此外, “DNF” 和 “+2” 这种不是很常见的规则, AI 也没有办法一次到位。
未来计划 & 结语
目前 v1.2.1 已经非常成熟, 支持了主流的所有魔方种类。 我已实测 2 个月, 稳定性良好。
未来我计划加入:
- 成绩云同步。
- 更详尽的统计图表(Ao5/Ao12 趋势分析)。
- 载入生涯统计 (这样可以看到长时间尺度的进步)。
- 搭建一个 LLM 来从当前打乱公式预测时间结果。
欢迎大家来体验这个计时器, 并在 GitHub 上给我提建议!
- Live Demo: https://noinil.github.io/CubeTimer/
- GitHub: https://github.com/noinil/CubeTimer