跳转到内容

笔迹与纸

ICAP 的输出看起来像老师写在你书页边上的批注。你总能看出哪些文字是你写的,哪些是 Agent 写的。动效告诉你谁在写、东西放在哪里、什么改变了。插件只用一种颜色,所以你的主题照常工作。

要对比两种样式,用演示上方的 ICAP 样式 开关。

你的文字和 Agent 的文字在同一栏中,用同样的字体。它们只在少数几处不同:

  • 你的声音 是笔记的正文。你在一条没有边框的书写行上输入回答。插件把它保留成普通段落。
  • Agent 的声音 稍小一些,约为正文的 0.95 倍。它的左边距有一条细的笔迹线,还有一个小标签,例如 释义 · RAII。

没有卡片,没有底色,也没有头像。问题、回答、反馈和修改从上到下读起来是一整段。分清「我写的」和「别人告诉我的」,就是建构的学习和被动的学习的区别。

笔迹是 ICAP 加入的唯一颜色。它是一种暖的茜红色,像老师的铅笔。在深色主题中它更浅。插件只在这些地方用笔迹:

  • 边距中的线,
  • 被解释的术语下面的虚线,
  • 选项上的标记,
  • 结果的标记。

其他所有颜色和字体都来自你的主题。所以,社区主题照常工作。

设置 设置 → ICAP Learning Agent → 笔记中 → ICAP 样式 控制输出的外观:

  • 打开:笔迹是茜红色,保留的解释和反馈使用 ICAP 的样式。
  • 关闭:笔迹是你主题的强调色,保留的 callout 跟随你主题的 callout 样式。

这个设置只改变外观。笔记中的 Markdown 不变。

反馈标记是边距中的符号,不是红色和绿色:✓ 成立,≈ 部分成立,? 再想想。错误是要再看一次的东西,不是失败。

块的最后是一行短文字,例如「正在读你写的内容…」或「轮到你了——⌘ ↵ 提交」。块不用状态徽标。这行文字说明你的材料正在发生什么。它不提工具或模型。快捷键按你的平台显示成按键:macOS 上是 ⌘ ↵,其他系统上是 Ctrl ↵。

Agent 工作时,笔迹线沿着边距一遍又一遍地画下来。没有转圈的图标,也没有发光。减少动态效果时,这条线是虚线。

你选择选项,就像在纸上做标记。选项是一个带字母的列表。单选时,字母周围画上一个笔迹圈。多选时,画上一个勾。

每种动效都有它的目的:

  1. 先有笔迹,后有文字。 笔迹线先沿着边距画下来。然后标签和段落在它下面出现。结果标记盖印在边距中。文字流式输出时,写完的段落不动,只有文字的末尾在变。
  2. 页面腾出位置。 一段内容出现、变长、折叠或离开时,下面的文字平滑地移动,不会跳动。如果一个变化在另一个变化进行中开始,它从当前高度继续。
  3. 你的标记是手画的,也可以擦掉。 圈或勾自己画出来。如果你改变选择,标记从它所在的地方擦掉。你提交时,选中的选项保留它的圈,其他选项变淡。
  4. 离开时退回到笔迹中。 你丢弃一条解释时,文字淡出,线收回,空隙合上。你保留它时,callout 从解释原来的位置出现。你应用一处修改时,删掉的行折叠起来,加入的行留下。
  5. 活动从它的标记中出来。 列表从状态栏的标记中升起,又落回其中。完成的任务的勾只画一次。唯一重复的动效是工作中的那条线。

轮到你的时刻,插件各标记一次:

时刻 你看到什么
一段内容写完了 笔迹线变宽一次,然后变回细线;下一步的操作出现
Agent 把回合交给你 问题变宽一次,回答栏随后升起
事情发生在屏幕外 一个边缘提示(例如「↓ 轮到你了」)动一次;选择它就到那里
文字写进了笔记 新文字上覆盖一层浅色,约 3 秒内淡去

只有你已经在块旁边时,插件才移动键盘焦点。如果块在屏幕外,你可能正在别处书写。这时插件不移动焦点,也不滚动。边缘提示告诉你去哪里。

插件的所有部分都使用同一组动效设置,来自 src/ui/motion.ts 文件:

名字 运动 用于
settle 没有回弹的弹簧,约 0.4 秒 出现的内容,腾出位置的页面
hand 有一点回弹的弹簧,约 0.34 秒 你的标记:圈、勾、结果标记
quick 没有回弹的弹簧,约 0.2 秒 提示文字、按下、小的变化
leave 没有回弹的弹簧,约 0.26 秒 离开、关闭或折叠的内容
fade 0.14 秒 页面合上之前淡出的文字

这些规则让页面保持正确:

  • 只有外框动画自己的高度。其他所有部分只动画位置、大小和透明度(transform 和 opacity)。
  • 每个动画都结束在元素的自然状态。所以,动画提前停止时,布局也是正确的。
  • 每样东西的入场动画只播放一次。如果编辑器重新绘制它,或者你重新加载 Obsidian,入场动画不再播放。
  • 减少动态效果时,只保留一个 140 毫秒的淡入淡出。所有移动都直接到达终点。