mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 08:14:55 +08:00
feat(assetbundle): 完成已验证结构的重建发布闭环
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 当前实现缺口清单
|
||||
|
||||
- **更新时间**:2026-09-04
|
||||
- **更新时间**:2026-09-10
|
||||
- **文档角色**:只记录尚未完成、仍需验证或仍需设计的工作,不重复维护完整实现状态。
|
||||
- **当前事实**:以源码、测试、稳定契约和 `CURRENT_STATUS.md` 为准。
|
||||
- **Go 进度**:`GO_STATUS.md`
|
||||
@@ -10,25 +10,27 @@
|
||||
|
||||
## 1. 当前工程缺口
|
||||
|
||||
### G-005:AssetBundle 复杂解析仍未完成
|
||||
### G-005:AssetBundle V1 已完成,完整兼容仍未完成
|
||||
|
||||
状态:**部分完成,继续推进**
|
||||
状态:**V1 已完成(仅限已验证结构),继续推进真实版本和复杂结构**
|
||||
|
||||
当前已具备 UnityFS 容器校验、directory 文件提取、serialized file
|
||||
object/type table/TypeTree 元数据、TextAsset、基础 MonoBehaviour 和
|
||||
ScriptableObject 字段读取、TextUnit 提取,以及受支持字段的文件级重建。
|
||||
ScriptableObject 字段读取、TextUnit 提取,以及受支持字段的文件级
|
||||
parse→modify→rebuild→reparse。重建会保留已识别的 block 压缩、alignment、
|
||||
directory 形态和未修改对象/字段,并明确拒绝未知压缩或无法证明保真的输入。
|
||||
|
||||
仍需完成:
|
||||
|
||||
- 用真实资源 fixture 覆盖更多 MonoBehaviour、ScriptableObject、Unity 版本差异、
|
||||
复杂容器和 managed reference registry/map entry 变体。
|
||||
- 为未知字段补充结构语义;不能把低保真猜测当作已支持格式。
|
||||
- 完成发布级复杂对象重打包,并把 bundle、serialized file、path id、class id、
|
||||
field path、offset 和 byte size 的定位信息贯通到稳定发布流程。
|
||||
- 扩大真实 Unity 版本、复杂容器、未知字段和 managed-reference/map 变体覆盖;
|
||||
当前 V1 不等价于任意 AssetBundle 结构的通用重打包。
|
||||
|
||||
现有证据:`crates/bat-assetbundle` 的单元/重建测试、隔离真实 UnityFS 回归和
|
||||
`bat-infrastructure` 的解析缓存测试。新增格式覆盖必须同时补真实 fixture、回归测试
|
||||
和文档。
|
||||
现有证据:`crates/bat-assetbundle` 的单元/压缩/对齐/变长重建测试、隔离真实 UnityFS
|
||||
回归和 `bat-infrastructure` 的解析缓存、ZIP 内 bundle 发布测试。新增格式覆盖必须
|
||||
同时补真实 fixture、回归测试和文档。
|
||||
|
||||
### G-006:通用 Patch 发布仍未完成
|
||||
|
||||
@@ -42,7 +44,8 @@ string field、managed-reference string field 写入及 localized publish/rollba
|
||||
仍需完成:
|
||||
|
||||
- 通用 manifest 驱动的跨类型 patch build/apply/publish/rollback。
|
||||
- 复杂 AssetBundle 重打包和完整翻译文件集合构建。
|
||||
- 任意复杂 AssetBundle 重打包和完整翻译文件集合构建;当前 localized publish 已支持
|
||||
可验证 ZIP 内 bundle 的外层 ZIP 重写,但不扩大 UnityFS 结构支持范围。
|
||||
- 原版 release 与 localized release 双发布后的查询、分发和清理策略。
|
||||
|
||||
所有发布产物必须先进入独立 staging,通过完整性校验后再原子发布;失败不得改变
|
||||
@@ -143,7 +146,7 @@ Rust `bat` 已提供独立项目级 `glossary.sqlite`:term/alias/recommended/a
|
||||
|
||||
## 3. 后续推进顺序
|
||||
|
||||
1. 继续 G-005:真实 AssetBundle 样本、复杂字段解析和发布级重打包。
|
||||
1. 继续 G-005:更多真实 AssetBundle 样本、复杂字段解析、版本差异和任意结构重打包。
|
||||
2. 继续 G-006/G-011D:通用 manifest Patch 和双 release 查询/清理策略。
|
||||
3. 继续 G-011/G-012/G-013/G-014:资源查询、TM/Glossary 扩展和 Provider
|
||||
扩展体系。
|
||||
|
||||
Reference in New Issue
Block a user