2.0.0
🚀 Features
- 实现画布内元素的二次编辑能力,已绘制的矩形、圆形、箭头、画笔、文本等元素可以再次选中、移动、删除,并纳入统一的撤销重绘流程
- 文本工具支持绘制后的重新编辑,优化文本插入、拖拽、快捷键确认/取消等交互细节
- 扩展 getCanvasElementsPosition 和 canvasElements,支持将画布内元素位置信息导出后再次回填渲染
- 自定义工具绘制内容可以通过 customElementApi 和 customElementAdapters 接入插件内部的可编辑逻辑,支持自定义元素选中、命中判断、拖拽移动和重绘
- 同步扩展 getCutBoxInfo,用于获取当前裁剪框位置信息
Refactor
- 对插件核心代码做了一整套模块化重构,将截图加载、画布事件、裁剪框交互、工具栏行为、DOM 管理、状态存储、类型声明等逻辑按职责拆分
- 引入更清晰的 Store 分层管理内部状态,减少入口文件中的状态堆叠,使绘制、编辑、撤销、重绘等流程更容易维护
- 整理常量、类型、工具方法和绘制方法的目录结构,降低模块之间的耦合关系
- 切换包管理工具到 pnpm,并优化 Rollup 构建流程和终端输出效果
- 补充核心交互、画布元素编辑、状态管理、工具栏同步等模块的单元测试,为后续功能迭代提供更稳定的回归保障
🐞 Bug Fixes
- 修复拖拽已有画布元素后,再次绘制新元素时旧元素选中态未被清理的问题
- 修复选中元素后拖拽其他元素,拖拽结束后未正确切换选中元素的问题
- 修复自定义元素选中时仍展示画笔大小、颜色、文字字号等内置工具选项面板的问题
- 修复工具栏、选项面板、颜色面板和文字大小面板在屏幕边缘可能溢出或被遮挡的问题
- 修复页面缩放后,单击截全屏时裁剪区域尺寸异常的问题
- 修复 Electron 全屏场景下工具栏可能被 Mac 菜单栏覆盖的问题