Files
BlueArchiveToolkit/CURRENT_STATUS.md
T

5.7 KiB
Raw Blame History

BlueArchiveToolkit 当前工作区状态

更新时间2026-06-29
状态来源:本地工作区盘点与命令验证
状态分支experiment
权威计划PROJECT_PLAN.md


1. 总体判断

当前项目处于 稳定基线完成、CAS V1 已落地、官方资源链路验证完成、资源同步与解析待实装 阶段。

旧文档中存在 Week 3 “完成”和“回滚”两类互相冲突的报告。以当前代码为准,历史 Week 3 不再作为状态依据;当前 CAS V1 已由新实现接管,AssetBundle、Patch、Go CLI/API/Web 仍有明显占位或未实现部分。


2. 工作区整理结果

根目录保留

根目录现在主要保留入口文件和工程配置:

  • README.md
  • PROJECT_PLAN.md
  • CURRENT_STATUS.md
  • DOCS_INDEX.md
  • CHANGELOG.md
  • CLAUDE.md
  • Cargo.toml
  • Cargo.lock
  • go.mod
  • Makefile
  • LICENSE

已归档

历史阶段报告已移动到:

  • docs/reports/historical/root/
  • docs/reports/historical/week2/
  • docs/reports/historical/week3/
  • docs/reports/historical/build-logs/
  • docs/reports/historical/quality/
  • docs/reports/historical/nested-docs/

原先误嵌套的 docs/docs/archive 已合并到:

  • docs/archive/

原先空的重复目录 docs/docsdocs/adapters 已删除。


3. 当前模块状态

Rust workspace

已显式纳入 workspace

  • core
  • adapters
  • infrastructure
  • crates/bat-assetbundle
  • crates/bat-cas-engine
  • crates/bat-ffi
  • crates/bat-patch

bat-core

状态:接口和领域骨架基本完成

已包含:

  • GameClient
  • GameVersion
  • Resource
  • Translation
  • CasRepository
  • ResourceRepository
  • TranslationRepository

待完成:

  • 领域服务模块仍为空。
  • Glossary、Provider、Patch、Manifest 等后续仓储/服务接口需要补齐。
  • 公共错误模型需要与 CLI/API 错误码统一。

bat-adapters

状态:适配器框架可用,真实解析能力不足

已包含:

  • Unity adapter trait、注册表、Unity 2021.3 adapter 骨架。
  • Manifest driver trait、Addressables driver、注册表。
  • Client integration、backup、discovery trait。

待完成:

  • Unity bundle parse/serialize 仍是后续阶段能力。
  • Addressables Catalog 复杂字段解析未完成。
  • 客户端发现、备份、应用补丁流程尚未连接真实实现。
  • 官方 launcher bootstrap、GameMainConfig bootstrap、官方 pull plan 的用户级文档已补齐。
  • 官方 bootstrap / pull 测试夹具已收敛到 experiment 分支语义下,并通过了官方链路回归。

bat-cas-engine

状态:CAS V1 已完成

已包含:

  • BLAKE3 Hash。
  • 原子文件写入:临时文件、fsync、rename、目录 sync。
  • 文件系统对象存储:put/get/exists/delete/list/stats。
  • SQLite 对象元数据和引用计数。
  • 引用计数增加、减少、查询。
  • GC 候选查询和 GC 删除。
  • 并发写入相同内容测试。
  • 损坏对象 Hash mismatch 检测。
  • infrastructure 仓储适配层。

待完成:

  • 更复杂的跨进程压力测试。
  • 未来需要时扩展流式大文件写入。
  • 未来需要时扩展非 SQLite 元数据后端。

bat-assetbundle

状态:占位

当前只有:

  • Parser trait 占位。
  • AssetType 占位。
  • 错误类型骨架。

待完成:

  • UnityFS header、block、directory、metadata、object table。
  • LZ4/LZMA 解压。
  • TypeTree 解析。
  • TextAsset、MonoBehaviour、ScriptableObject 解析入口。

bat-patch

状态:占位

当前 Binary Patch 和 JSON Patch 函数返回空结果,不具备真实补丁能力。

待完成:

  • Binary diff/apply。
  • JSON Patch apply/validate。
  • Patch manifest。
  • Integrity check。
  • Rollback。

bat-ffi

状态:骨架

已能编译并引用 Rust 引擎 crate,但尚未提供完整稳定 FFI API。

Go / API / Web

状态:目录存在,功能未实现

当前 cmd/internal/pkg/api/web/ 多数为空目录或只有目录结构,没有 Go package 可测试。

Makefile 已调整:在 Go package 尚未实现时,Go build/test/check/fmt/lint 会明确跳过,避免误报失败。


4. 本次验证结果

已运行:

cargo test --workspace

结果:通过。

已运行:

cargo test -p bat-infrastructure --test official_game_main_config_bootstrap -- --nocapture
cargo test -p bat-infrastructure
cargo test -p bat-adapters

结果:通过。

已运行:

go test ./...

结果:当前没有 Go package,因此无测试可运行。Makefile 已修正为跳过该状态。


5. 当前阻塞项

Git 元数据

.git/ 是空目录,无法恢复原历史。本轮已新初始化 Git 仓库,并完成当前工作分支的整理。

当前状态:

  • git status --short --branch 可用。
  • 原历史未恢复。
  • 当前分支已切到 experiment,用于承载实验性 fixture 调整。
  • 当前分支已切到 experiment,用于承载实验性 fixture 调整。

核心能力未实装

下一阶段必须优先完成:

  1. Manifest 真实解析。
  2. Go CLI 基础入口。
  3. AssetBundle 解析。
  4. 文本提取中间格式。

不建议在这些完成前优先推进 Web UI。


6. 下一步建议

立即任务:

  1. 完成 Manifest 真实字段解析和资源模型映射。
  2. 落地 Go CLI 的 doctor 和基础命令框架。
  3. 设计 Resource Repository 的持久化 schema。
  4. 决定哪些 experiment 改动需要回流到 dev

当前总体完成度:约 18%
当前基线状态:已建立可继续开发的 Git 基线。
下一工程里程碑Manifest 真实解析与 Go CLI 基础入口。
当前阶段文档docs/reports/current-stage-prepush.md