`vendor/MetasequoiaImeEngine` submodule 改为 `engine/` 目录,导入的是 product-lock.json 原本钉住的提交 c810d201,逐文件核对过 blob,因此这是一次 搬迁而不是引擎升级。引擎自己的嵌套 submodule(googlepinyinime-rev、utfcpp、 miniaudio)按各自 gitlink 一并展开,来源与提交见 engine/UPSTREAM.md。 Windows 专门化裁掉了不属于本产品的部分:whisper.cpp 与本地推理 provider、 macOS 示例宿主、整个 dictionary/ 建库流水线、上游 CI 与 release-please 配置。 词库仍按 product-lock.json 在构建时取发布产物。 引擎不再进 product-lock.json:没有 gitlink 就没有可比对的东西,锁里写一个上游 commit 等于宣称这棵树仍等于上游,而第一个 Windows 专门化改动落地时这句话就假了。 verify-contracts / verify-checkout 随之移除,verify-published 保留。 CI 与工具链:引擎源码并入根 scripts/format.sh(删掉引擎自己的那份,避免两套排除 列表分叉);引擎 voice.yml 里的 silero_vad.onnx 摘要校验移到本仓 lock job; engine-bump-triage 工作流与其测试删除;gitsubmodule 的 dependabot 频率由 daily 改为 monthly。 README、README.en、AGENTS.md、CONTRIBUTING、docs/product-release.md 及各子目录 文档同步说明新的位置与边界。
22 lines
1.3 KiB
Markdown
22 lines
1.3 KiB
Markdown
# windows —— TSF 文本服务
|
|
|
|
水杉输入法在 Windows 上的前端:一个纯 TSF 方案的文本服务 DLL,注入宿主进程,负责按键预判、焦点与线程归属、composition 的 edit session 写入,以及与 Server 之间的命名管道协议。候选窗、工具栏、设置页和实际的候选计算都在 [`../server/`](../server/),本目录只做宿主适配。
|
|
|
|
产品介绍、安装和功能说明见仓库根目录的 [README](../README.md);本目录的代码地图、TSF/COM 硬约定和改动要求见 [AGENTS.md](AGENTS.md)。
|
|
|
|
## 构建
|
|
|
|
从仓库根目录配置,源码目录是本目录:
|
|
|
|
```powershell
|
|
cmake -S windows -B windows/build -A x64 `
|
|
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" `
|
|
-DVCPKG_TARGET_TRIPLET=x64-windows-static
|
|
cmake --build windows/build --config Release --parallel
|
|
ctest --test-dir windows/build -C Release --output-on-failure
|
|
```
|
|
|
|
Win32 用 `-A Win32` 和 `x86-windows-static`;安装包两种架构都要。`scripts/` 下是本机开发用的生成、构建、注册和签名脚本,从本目录运行。
|
|
|
|
引擎契约来自 [`../engine/contracts/`](../engine/contracts/),是本仓的目录,普通检出就有。TSF 只引用这些头文件,不链接引擎运行库。
|