Skip to content

v1.3.3

Choose a tag to compare

@github-actions github-actions released this 24 Apr 09:56
· 619 commits to main since this release

[v1.3.3] - 2026-04-24

本版本聚焦批量操作、框选稳定性、废纸篓管理与拖拽性能,补齐多选场景下的高频管理能力。

✨ 新特性 (Features)

  • 框选碰撞检测更准确

    框选逻辑从 DOM 读取重构为基于布局数据的 AABB 碰撞检测,提升大画布与视口外便签的选择稳定性。

    • 支持选中视口外但与框选区域相交的便签。
    • 避免 getBoundingClientRect() 造成的布局抖动。
    • Shift+框选会追加到现有选区,而不是覆盖已有选择。
  • 批量管理操作增强

    多选便签后可以批量折叠 / 展开、置顶 / 置底,减少整理大量便签时的重复操作。

    • 批量置顶会保留选中便签组内部的相对层级顺序。
    • 批量置底会整体移动到当前画布层级下方。
    • 折叠 / 展开会根据当前选区状态自动选择更符合预期的方向。
  • 选中便签支持精准导出

    右键菜单支持将当前便签或选中便签导出为 JSON,复用现有导出链路并保持与全量导入兼容。

    • 单选时可直接导出当前便签。
    • 多选时导出完整选区。
    • 导出数据可通过现有导入能力恢复。
  • 废纸篓支持批量操作

    废纸篓视图新增多选能力,支持批量还原和批量永久删除。

    • 支持 Ctrl / Shift 点击进行多选。
    • 批量还原会尽量回到原看板;原看板缺失时回退到当前看板。
    • 批量永久删除带二次确认,降低误删风险。

🐛 问题修复 (Bug Fixes)

  • 修复框选追加逻辑

    修复 Shift+框选启动时旧选区被覆盖的问题,现在会在框选结束时正确合并新旧选区。

⚡ 性能优化 (Performance)

  • 组拖拽性能显著提升

    组拖拽期间使用元素注册表缓存 DOM 引用,消除每帧 querySelector 查询,降低多便签拖拽时的主线程开销。

    • 停止拖拽时改为单次 Store 批量提交。
    • 50 便签组拖拽场景下帧率约提升 12 倍。
    • 拖拽过程继续避免 React 高频重渲染。
  • 拖拽结束后延迟持久化

    finalizeLayoutChange 改为 2 秒防抖写盘,与其他状态更新保持一致,避免停止拖拽瞬间阻塞界面。

🔧 内部改进 (Internal)

  • 布局常量统一

    框选相关代码统一使用 LAYOUT.NOTE_WIDTH 与 LAYOUT.NOTE_MIN_HEIGHT,减少硬编码布局值带来的维护风险。