#10828·tldraw

从活动工具状态中导出画布 Cursor

作者: kaneel创建于 2026年9月16日更新于 2026年9月17日
标签sdkapi

canvas Cursor 存储为工具状态在进入或处理事件时写入的值,而不是从编辑器实际处于的状态衍生而来。因此,无论是否按顺序进入状态,还是在早期状态中遗留的写入,编辑器最终都会处于正确的状态,但使用错误的 Cursor。在锁定文本工具时,完成文本编辑后,编辑器会返回到文本工具,但显示的是箭头而不是十字线(已在 #10174 中修复)。早期的 stale-Cursor 问题,如 #8679 和 #10430,属于同一类。目标是 Cursor 要以反应性的方式跟随活动状态,因此过时的 Cursor 不能延续设置它的状态,而现有的直接设置 Cursor 的代码则继续工作。一个从活动状态派生 Cursor 的本地原型通过了 tldraw 和编辑器测试套件,并修复了浏览器中的 #10174 问题,但它在状态期间进行的直接 Cursor 写入中默默覆盖了本地原型,这破坏了立体贝塞尔曲线示例的悬停 Cursor。因此,向后兼容性是设计要求,而不是细节。在注释中有一个计划,该计划保证直接 Cursor 写入在本地原型检查下继续工作,但它默默覆盖了状态期间进行的直接 Cursor 写入,这破坏了立体贝塞尔曲线示例的悬停 Cursor。