ZJustin117/ArtFramework

GitHub: ZJustin117/ArtFramework

为《杀戮尖塔》桌面模组提供双轨制(合成/原生)表示层框架,通过 SignalBus、布局 DSL 和原生模板统一 UI 开发体验。

Stars: 1 | Forks: 0

# ArtFramework **ART Framework** — 《杀戮尖塔》1(桌面版 ModTheSpire + 兼容 Amethyst 的 jar)的表示层。 版本:参见 `gradle.properties` → `artframework.version`(当前为 **1.0.0-alpha.4**)。 - 与多人游戏逻辑(例如 CrossSpire)**独立的仓库** — 此处不包含 protocol/party 类型。 - **双轨制**([`docs/design/dual-track.md`](docs/design/dual-track.md)): 1. **C1 Synthetic** — scene2d.ui 窗口(layout DSL / LML + StageHost + StsSkin) 2. **C2 Native** — 轻量级模板 + **全呈现**界面(手牌/地图/事件/选择/奖励/…) - **SignalBus** + **HostAssets** + **EntityPresent** 合作式外观插槽 - 已交付里程碑 **0–28**(房间 FULL 量产 + C1 网格/标签页 + alpha.4) 待办工作:[`docs/task.md`](docs/task.md)。设计中心:[`docs/design/art-framework.md`](docs/design/art-framework.md)。 消费者:[`docs/development/consumer.md`](docs/development/consumer.md)。 API 稳定性:[`docs/development/api-stability.md`](docs/development/api-stability.md)。 更新日志:[`CHANGELOG.md`](CHANGELOG.md)。 发布门控:`./scripts/release-gate.sh`。 ## 环境要求 - JDK 8+(字节码目标版本 1.8) - 以下内容的绝对路径: | 环境变量 | 典型来源 | |---------------|----------------| | `ART_STS_JAR` | STS `desktop-1.0.jar` | | `ART_BASEMOD_JAR` | BaseMod.jar | | `ART_MODTHESPIRE_JAR` | ModTheSpire.jar | 复制 [`.env.example`](.env.example) → `.env.local`。**重用与 CrossSpire 相同的文件路径**,但请使用 **`ART_*` 键名**(而不是 `CROSSSPIRE_*`)。 可选:`ART_D1_SERIAL` / `ART_D2_SERIAL`(设备 jar 推送);`ART_INSTALL_DIR` / `ART_CONSUMER_JAR`(publish-art-local)。 ## 构建与测试 ``` ./scripts/with-art-env.sh test ./scripts/with-art-env.sh jar ./scripts/release-gate.sh # JUnit + art-verify + version + consumer fixture ./scripts/publish-art-local.sh # jar + optional install via env ``` 构建产物:`build/libs/ArtFramework.jar`。 **默认门控为 JUnit。** OpenCode:`@junit-test`。可选的设备测试:`@android-deploy-jar`。 UI 工具:`cd tools/art-verify && python3 -m unittest discover -s tests -v` 或 `@art-verify`。 ## ModTheSpire - `modid`:`artframework` - 依赖于:`basemod` - 消费者:`"dependencies": ["basemod", "artframework"]` 并同时附带 **这两个** jar(不要将 ArtFramework 以 fat-jar 的方式打包进消费者中)。 ## 包结构 | Package | 作用 | |---------|------| | `artframework.api` | Facade, UiOps/UiProbe, 窗口定义 | | `artframework.core` | UiTree, 信号, Theme, HostBackend | | `artframework.context` | ContextFrame, 呈现界面, intents | | `artframework.assets` | HostAssets 资源包 / ResourceId | | `artframework.c1` | Synthetic 运行时, StageHost, 布局/LML | | `artframework.c2` | 原生模板 + EntityPresent | | `artframework.sts1` | STS1 宿主后端, 绘制路径, 补丁, 实验室 | | `artframework.component` / `render` | 组合式 AST + 特效 | | `artframework.ArtFrameworkMod` | MTS 入口 | ## 许可证 [MIT](LICENSE) — 版权所有 (c) 2026 ZJustin117。 本项目**不**授予对《杀戮尖塔》、MegaCrit 资产或第三方模组(如 BaseMod、ModTheSpire)的权利。运行时使用需要合法安装的游戏,并且这些依赖项需遵守其各自的条款。
标签:JS文件枚举, UI框架, 前端组件, 后台面板检测, 域名枚举, 杀戮尖塔, 游戏Mod