Files
BlueArchiveToolkit/CURRENT_STATUS.md
T

231 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BlueArchiveToolkit 当前工作区状态
**更新时间**2026-06-28
**状态来源**:本地工作区盘点与命令验证
**权威计划**`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/docs``docs/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 复杂字段解析未完成。
- 客户端发现、备份、应用补丁流程尚未连接真实实现。
### `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. 本次验证结果
已运行:
```bash
cargo test --workspace
```
结果:通过。
已运行:
```bash
go test ./...
```
结果:当前没有 Go package,因此无测试可运行。`Makefile` 已修正为跳过该状态。
---
## 5. 当前阻塞项
### Git 元数据
`.git/` 是空目录,无法恢复原历史。本轮已新初始化 Git 仓库,并将默认分支设置为 `main`
当前状态:
- `git status --short --branch` 可用。
- 原历史未恢复。
- 本轮建立首次 Git 基线提交。
### 核心能力未实装
下一阶段必须优先完成:
1. Manifest 真实解析。
2. Go CLI 基础入口。
3. AssetBundle 解析。
4. 文本提取中间格式。
不建议在这些完成前优先推进 Web UI。
---
## 6. 下一步建议
立即任务:
1. 完成 Manifest 真实字段解析和资源模型映射。
2. 落地 Go CLI 的 `doctor` 和基础命令框架。
3. 设计 Resource Repository 的持久化 schema。
---
**当前总体完成度**:约 18%
**当前基线状态**:已建立可继续开发的 Git 基线。
**下一工程里程碑**Manifest 真实解析与 Go CLI 基础入口。