mirror of
https://github.com/qingjian-team/qingjian.git
synced 2026-11-15 00:14:54 +00:00
节点写 animation:关键帧平移 / 旋转 / 缩放 / 不透明度,作用于整棵子树、不影响布局;属性只在写了它的关键帧间插值,开头结尾缺的按缺省值补(同 CSS);loop: false 播一轮停住 时钟从窗口出现算起、打字中不重置、forget 归零;减少动态效果时停在第一帧;画出范围按一轮里能到的最远处算(旋转取外接圆) 带姿态节点整棵子树画进缓存小图,按姿态绕中心变换贴上 循环帧局部重画(renderer/partial.rs + scene/split.rs):动画节点把树序切段,不动的段各缓存一张图层,每帧只在动画节点新旧位置的区域里按原先后叠段与节点;与整张重画只差半透明取整(≤ 3/255,测试断言);有过渡或动画节点不独立时整张重画 blend_mask 按覆盖率查表(同 Skia A8 遮罩);壳的定时器按 next_frame 间隔跳(过渡 16 ms、循环 33 ms) 展示主题循环帧 3.6 → 0.2 ms(mac release 2 倍屏,第一帧切段约 7 ms) 内置三主题的高亮条加 id + transition(100 ms ease-out);快照每张先 forget,不与上一张配对 快照:静止的全部不变;过渡半路改用青简绿(transition-mid),新增展示主题循环 600 ms 一帧(showcase-loop)。Windows 基准待 box 重出
docs
README.md 只介绍项目,所有技术内容放在这里,分四类:前三类是给开发者看的内部文档,user/ 是给用户看的、官网渲染的文档。
| 目录 | 放什么 |
|---|---|
| design/ | 设计:现在是什么样、为什么这么定 |
| plan/ | 计划:接下来做什么、按什么顺序 |
| notes/ | 工程记录:性能优化史、事故复盘、踩坑,按时间顺序写,以后复习与面试用 |
| user/ | 用户文档:官网「文档」页的内容源,按目录结构渲染;维护约定见 user/README.md |
| 文件 | 内容 |
|---|---|
| contributing.md | 开发约定:架构约束短版、代码组织、版本号、提交信息、文档同步、提交前检查、发版与外部 PR 流程(CLAUDE.md 直接载入它) |
| design/architecture.md | Core 与平台层的划分、crate 结构、必须遵守的架构约束、.qj 数据容器 |
| design/candidate-ui.md | 候选窗口、按键约定与翻译 annotation 的设计 |
| design/landscape.md | 同类项目(水杉、Rime)、可用数据源及其许可 |
| design/rendering.md | 跨平台 UI 与自绘渲染器(2026-09-13):显示面与控件面的区分、Flutter / Avalonia / WebView 的调研结论、主题的两条路、tiny-skia + cosmic-text 的 spike 结果与两平台接入 |
| plan/roadmap.md | 分阶段路线图、各阶段的依赖关系与已完成项 |
| plan/zh_tw_support_plan.md | 繁体输出与台湾注音支持的分析与方案(贡献者 pinchiu,#22):读音标准差异、台湾用语、简转繁一对多;两条路线 |
| plan/todo.md | 待办清单,按「从自用到能给别人用」排 |
| plan/wubi.md | 五笔(形码)支持方案(2026-09-15):为什么不能按双拼的方式接、两条平行管线、码表与词频、[general] scheme 收敛、分期 |
| notes/crate-notes.md | 各 crate / app / tool 的实现要点:入口类型、数据文件、常数、生成命令 |
| notes/performance.md | 历次性能优化:起因、定位方法、改法、数字前后对比与经验 |
| notes/release.md | 发版流程:CHANGELOG、标签触发的 CI 打包、产品数据包、签名公证的 Secrets、官网用的 releases.json |
| notes/phrase-layer.md | 短语层(2026-09-12):常用词表收不到的 我的 / 不知道 怎么从语料挖、怎么进语言模型而不伤整句、两把尺子的前后数字 |
| notes/domain-words.md | 领域词(2026-09-12):从输入日志人工挑 48 条进基础词库的挑法、低频词当 token 统计为什么伤整句、两把尺子的前后数字 |
| notes/constant-sweep.md | 排序常数扫描(2026-09-12):插值与敲错代价在冻结日志上扫网格,全在平台区不改;没命中的构成与复现步骤 |
| notes/windows-win10.md | Windows 10 与设置程序(2026-09-13):Reactor 早期绑定 Windows 11 才有的 AppModel API 导致加载期失败,改自包含部署 + 延迟加载 |
约定:文档写中文,代码标识符一律英文。实现与文档产生分歧时以代码为准,并同步更新文档。