· 版本 0.2.1
Novelist 0.2.1 — 开屏更快、更干净
开屏渲染重写:组件按需加载、主题背景零闪白、120ms 视图淡入;macOS 顶部边缘那条 1px 白线也修掉了。
0.2.1 专注打磨「打开应用到第一眼看到编辑器」这一瞬间。没有新功能,但每一次冷启动都更快、更安静。
开屏性能
- 按需加载组件:Editor、对话框、各类面板、画布 / 看板 / 脑图文件编辑器全部改成动态 import。首屏 JS 只包含 sidebar、tab 栏、欢迎页这些真正会被第一眼看到的模块。
- 多语言按需:启动时只载入当前语言(英语永远常驻作为回退)。简体中文的 JSON 在首个 JS chunk 里不再占位。
- 主题预涂:
index.html在 CSS / JS 加载前先读 localStorage 里的主题偏好,直接把 html 背景设成对应颜色。暗色主题用户冷启动时不再闪白。 - 视图淡入:欢迎页 ↔ 项目主界面切换加了 120ms 渐入动画(尊重
prefers-reduced-motion)。
启动可靠性
之前有一版为了消除窗口切换的白底闪烁,把主窗口默认改成 visible: false,由前端在 mount 结束后再 show()。我们补齐了它需要的 Tauri capabilities,同时给 main.ts 加了完整的阶段日志、未处理异常捕获,以及 3 秒兜底:任何意外 await 卡住都会强制显示窗口,避免”进程在但看不到画面”的情况。
macOS 细节
暗色主题下,窗口最顶端那条很细的 1px 白线是 NSWindow 用当前 NSAppearance(默认 Aqua,浅色)画的顶边高亮 —— 跟深色内容一撞就明显了。
- 在 setup hook 里关掉 macOS 11+ 的
titlebarSeparator。 - 新增命令让前端在
applyTheme()时把 NSWindow 的 appearance 同步到当前主题。切换主题时窗口 chrome 会跟着一起变。
其他
- 启动阶段的埋点事件现在会同时进前端 console 和 Rust
tracing日志,便于排查慢启动。 - 完整细节见 上游 CHANGELOG