Skip to content

引擎结构

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: 命令行工具集,负责项目初始化、各工作流的构建流程以及开发期的调试与辅助功能。