STtools 插件:白板进一步改进(v0.23.x)

这次版本更新直接跨越了一个大版本号(因为改动比较多),主要是由于涉及底层数据结构的调整。与以往小幅优化就频繁发版的做法不同(那样或许会给人“刷下载量”的印象)本次这么久才更新是因为要尝试很多改进方案,有些方案会动白板文件的数据结构,数据层面的改动一旦发布,回退将极为困难。若需向下兼容,就不得不引入冗余代码,增加后续维护的复杂度,所以测试多个改进方案后才更新发版。

概述
  • 本次发布以“形状/画布交互与连接、性能与加载管理、白板备份/预览、样式与 UI 优化”为主,包含大量新特性(feat)、性能/体验优化(优化)、若干 bug 修复(fix)以及代码清理(refactor)。
主要新增功能(feat)
  • 文档块题头图渲染选项。

image

  • 段落类型处理逻辑:只在首次编辑后才生成思源块,可以有效防止出现没有必要的空块

  • 单一块(single-block)相关:

    • 添加高度还原按钮; 改为:自动自适应高度

    • DOM 尺寸测量与高度观察机制(避免高度计算失真);

    • 增加标题(card)卡片单独渲染设置;

      image

  • 图形选择/编辑:

    • 选择相邻图形(支持上下左右方向);
    • 编辑选中图形(支持回车键编辑单一选中图形)。
  • 连接/箭头功能:

    • 增加关联单块创建:点击放置并生成箭头连接;
    • 支持排列相连单块形状(上下左右排列)。
  • 加载与管理:(性能再次大幅度优化,采用动态加载,几百个形状也不会卡死或者长时间等待)

    • 全局形状加载管理器(ShapeLoadManager):支持重载控制、可见性管理,并支持多个 tldraw 实例,每个形状可注册独立编辑器;
    • 添加最大激活形状数设置,优化资源管理;
    • Protyle 实例构造增加超时与异常保护,避免加载队列阻塞;
    • 添加 getDocOutline 接口与类型定义,支持文档大纲获取。(未来做根据大纲快速生成 card 块组)
  • 白板与备份:

    • 添加画板备份与回滚功能,集成备份管理面板与备份预览(含形状与页面信息);

    image

    • 添加白板卡片视图组件,支持白板列表展示;

    image

    • 白板卡片/搜索:动态增量加载(触底自动/手动加载)、预览提示改为“双击加载内容”、改进搜索框行为(Esc 清空、保留查询状态、样式调整)。
主要优化(优化)
  • 跳转聚焦、块删除逻辑、单一块样式与悬浮按钮、块尺寸计算(确保宽高 ≥ 1 像素)。
  • 自定义样式面板:增加背景选项,移除按钮事件冒泡处理并调整样式面板逻辑以正确处理单块和卡片选择。
  • 连接相关 UX:退出连接逻辑、状态按钮颜色、候选形状选择策略、合并方向选择逻辑并保持选中图形居中。
  • 卡片形状预览样式调整(字体大小、透明度)、预览加载提示文本与界面一致性优化。
  • 搜索与加载的体验、元数据抓取与排序逻辑优化。
主要修复(fix)
  • 注释掉不必要的属性以简化组件配置。
  • 调整单块形状的最小高度由 28 增加到 50。
  • 修复箭头绑定逻辑,确保正确识别连接的单块形状。
  • 更新样式面板逻辑以正确处理单块形状和卡片选择。
  • 其他若干与流程/样式相关的小修复。
重构与清理(refactor)
  • 移除思维导图节点工具和形状工具的相关冗余代码。
  • 清理不必要的 CSS 规则并精简选择相邻形状的逻辑,优化候选形状的选择策略。

主要体验优化操作

image

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28444 引用 • 119764 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...