mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 04:06:44 +08:00
247 lines
5.7 KiB
Markdown
247 lines
5.7 KiB
Markdown
# 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/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 复杂字段解析未完成。
|
||
- 客户端发现、备份、应用补丁流程尚未连接真实实现。
|
||
- 官方 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. 本次验证结果
|
||
|
||
已运行:
|
||
|
||
```bash
|
||
cargo test --workspace
|
||
```
|
||
|
||
结果:通过。
|
||
|
||
已运行:
|
||
|
||
```bash
|
||
cargo test -p bat-infrastructure --test official_game_main_config_bootstrap -- --nocapture
|
||
cargo test -p bat-infrastructure
|
||
cargo test -p bat-adapters
|
||
```
|
||
|
||
结果:通过。
|
||
|
||
已运行:
|
||
|
||
```bash
|
||
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`
|