引擎结构
ShxNovel 采用 monorepo 结构组织其引擎与工具链,力求各模块职责清晰、边界稳定。
在完成下载后,可以看到如下的仓库结构;还请不要慌张,这个教程将简明地介绍它们。
root├── /packages┆ ├── canoe┆ ├── cli┆ ├── rewrite┆ └── world┆├── /shxnovel└── /projects └── /demo如果不希望进行二次开发,则只需要关注 shxnovel 以及 projects 目录。
-
shxnovel:基于 Tauri 的应用层,负责 UI 交互,并将引擎与项目打包为可分发的桌面(及移动)应用。 -
projects:用于存放具体的 ShxNovel 项目。每个项目拥有独立的目录;仓库中提供的 demo 项目可作为参考示例。
除非希望进行二次开发,否则可以跳过此部分。核心代码库(packages)有 4 个:
- canoe: 引擎核心,负责场景调度、动画执行与渲染流程。
- rewrite: 剧本层库,用于描述剧情逻辑与演出意图。
- world: 视觉语义层库,负责定义资产的使用方式与可表达的视觉边界。
将具体资源映射为 Rewrite 可调用的语义接口,并生成相应的类型约束。 - cli: 命令行工具集,负责项目初始化、各工作流的构建流程以及开发期的调试与辅助功能。