Skip to content

0.3.5

Choose a tag to compare

@github-actions github-actions released this 12 Sep 13:48

中文

  • 按最新要求将图片复制改为白底黑字 PNG,保留完整公式,去掉编辑光标,不裁切滚动窗口外的内容;屏幕预览主题不变。复制在短命 Worker 与系统剪贴板接口中完成,彻底移除临时转换页,无额外窗口或编辑器焦点切换。
  • 仅在图片写入剪贴板成功后,右上角复制按钮以淡出和轻微缩放过渡为绿色勾,约 1.6 秒后恢复;失败、取消、离开或修改公式时不显示错误成功状态。支持系统减少动态效果,反馈只更新按钮样式,不重建浮层或重新渲染公式。
  • Windows/macOS 使用系统自带图片剪贴板接口;Linux 支持 Wayland 的 wl-copy 和 X11 的 xclip,缺少工具明确报错。PNG 以 2 倍像素导出、白边 4px,超大图保持既有 8192px/1600 万像素及 2 MiB SVG 限额;后台栅格化完成即释放,不常驻 Webview,不访问网络。
  • 修复输入或删除字符时仍间歇闪烁的控制器竞态:公式身份改由起始标记、类型和环境判断,不再把随编辑变化的结束位置当作切换公式。光标事件先于新图返回时保留当前浮层,不清空图片、锚点和渲染状态。
  • 文档修改时同步公式源码位置,支持公式前方编辑、多处同时修改及 UTF-16 偏移;按文档版本避免重复平移。继续编辑时更新已识别的范围,包括未闭合定界符;慢渲染或暂时无效的输入保留最后成功帧,过期结果仍丢弃。移除起始标记、真正离开或切换公式,以及删到空内容或单个反斜杠时仍清除旧预览。
  • 保留双向细滚动条、光标避让、行间字号和 PNG 复制。本机通过实际控制器与扫描器的输入/删除时序回归,包括长公式、换行、多处编辑、慢响应和错误恢复;使用受控 VS Code API 与渲染响应,不把这些检查等同于真实编辑器逐帧验收。

English

  • Change copied images to PNGs with black formula ink on a solid white background, preserving the complete formula while omitting the editing caret and avoiding scroll-viewport cropping. The preview theme stays unchanged. A short-lived Worker and system clipboard interfaces replace the temporary conversion page, with no extra windows or editor focus changes.
  • Only after the image clipboard write succeeds, smoothly fade and scale the upper-right copy icon into a green checkmark, returning after about 1.6 seconds. Failure, cancellation, leaving, or editing the formula never shows a false success state. Respect reduced-motion preferences; feedback updates only button styles without rebuilding the hover or re-rendering math.
  • Use built-in image clipboard interfaces on Windows/macOS and support wl-copy on Linux Wayland and xclip on X11, reporting missing tools explicitly. PNG export retains 2× pixel density, 4px white margins, the 8192px/16-million-pixel limits, and the 2 MiB SVG limit. Release the rasterization Worker after each operation, without persistent Webviews or network access.
  • Fix the controller race behind intermittent flashing during insertion and deletion. Identify a formula by its opening token, kind, and environment instead of its changing end offset. When a selection event precedes the next rendered image, retain the current hover without clearing its image, anchors, or render state.
  • Rebase formula source positions after document changes, including edits before the formula, simultaneous changes, and UTF-16 offsets; use document versions to prevent double translation. Refresh recognized bounds while editing, including unfinished delimiters. Keep the last successful frame during slow renders and temporarily invalid input, while rejecting stale results. Removing the opener, leaving or switching formulas, and deleting down to empty content or a single backslash still clear the old preview.
  • Preserve thin bidirectional scrollbars, caret avoidance, display-math sizing, and PNG copying. Local checks exercise the actual controller and scanner across input/deletion event timing, long formulas, line breaks, simultaneous edits, slow responses, and error recovery, with controlled VS Code APIs and render responses; these checks are not frame-by-frame acceptance in a live editor.