Caret 是轻量的所见即所得结构化编辑器,用 Rust 实现领域规则,用 Qt 6 / QML 实现桌面界面。产品目标和里程碑见需求与范围。
仓库已建立 Cargo、CMake 和 QML 工程。cargo run 打开桌面文档窗口,已接入基础文本编辑和 .cdoc 打开/保存;公式、表格及其他能力的状态见任务索引。CI、夜间检查、桌面打包与 GoogleTest SDK 工作流已配置;当前远程验收证据与待复验项见任务 006。
在仓库根目录使用 cargo format --check、cargo lint --check、cargo audit 和 cargo test --workspace --locked;cargo quality 聚合这些检查。首次运行需要 git、rustup 和平台前置,并联网取得锁定工具。裸 cargo test 只测 launcher。桌面安装使用 cargo caret-package,SDK 的独立生产和消费见CI 规范。
| 内容 | 入口 |
|---|---|
| 协作规则 | 仓库协作指南 |
| 工作队列与实现状态 | 任务索引 |
| 产品行为与架构 | 架构文档 |
| 工程栈、版本和长期规则 | 技术规范 |
| 外部项目调查 | 调查索引 |
- Typst(Apache-2.0):公式排版移植自 Typst v0.15.1 的数学布局,来源见 NOTICE 与调查 010。
- STIX Two Math(SIL OFL 1.1):内置数学字体。
- read-fonts / skrifa(MIT / Apache-2.0):OpenType MATH 表与字形度量读取。
- Parley / Fontique(Apache-2.0 / MIT):段落塑形、换行与系统字体发现。
- HarfRust(MIT):Parley 使用的 OpenType 塑形引擎。
- swash(Apache-2.0 / MIT):字形轮廓与栅格化。
- ICU4X(Unicode-3.0):
icu_segmenter、icu_properties,用于断行与 Unicode 属性。 - unicode-segmentation(MIT / Apache-2.0):字素簇边界。
- undo(MIT / Apache-2.0):撤销/重做历史。
- Qt 6 / Qt Quick(QML)(LGPL-3.0):桌面界面与画布渲染。
- Fontconfig(MIT 风格许可):Linux 系统字体配置。
- cxx(MIT / Apache-2.0):Rust 与 C++ 之间的安全绑定。
- serde / serde_json(MIT / Apache-2.0):
.cdoc与数据交换的序列化。 - pest(MIT / Apache-2.0)与 quick-xml(MIT):主题 DSL 与 XML 解析。
- sha2、base64、fs4(MIT / Apache-2.0):内容哈希、媒体编码与文件锁。