34 lines
1.9 KiB
Markdown
34 lines
1.9 KiB
Markdown
# N-023 Asset、Library 与 IO
|
||
|
||
状态:`BLOCKED`(asset catalog、来源/许可证元数据、真实 Main library inventory、库依赖与
|
||
IO 安全门已落地;Append/Link/Override Main、非 GLB 本地导入和跨桌面重导入未实现)
|
||
|
||
## 已验证切片
|
||
|
||
1. N-023-A:版本化 manifest 覆盖 catalog、asset kind/tag、preview、author、license、
|
||
source path/SHA-256、library source/dependency/read-only metadata;重复 ID、缺 catalog、
|
||
缺许可证和哈希不匹配会拒绝。
|
||
2. N-023-A/B(部分):catalog 与 library dependency 图做确定性拓扑检查并返回 load order;
|
||
content-addressed index 报告 `LOCAL_BOUNDED`,OPFS 只在运行时 API 存在时报告 `PROBE_REQUIRED`。
|
||
3. N-023-C(门):现有 GLB 导出与 USD semantic analysis 可放行;GLTF/OBJ/PLY/STL、
|
||
USD/Alembic 实际导入保持 `IO_FORMAT_UNSUPPORTED`,库 mutation 需要真实 Main。
|
||
4. N-023-E:项目路径、外部 URI、archive entry 数量/单项/总量、压缩展开比率均有边界。
|
||
5. N-023-B(部分):Blender 5.2 Main reader 输出 linked Library stable ID、项目相对路径、
|
||
packed/external 状态、只读标志和 archive-parent dependency;1024 library/每库 1024 dependency、
|
||
重复 ID、缺依赖、依赖环与项目外路径由 SceneIR 再校验。缺外部库字节时返回
|
||
`LINKED_LIBRARY_RESOURCE_REQUIRED`,不从路径伪造 SHA-256 或声称已加载。
|
||
|
||
## 仍然阻断
|
||
|
||
- N-023-B:Append/Link/Library Override、reload/relocate 和真实 Main transaction;只读 library
|
||
inventory 已完成。
|
||
- N-023-C/D:GLTF/OBJ/PLY/STL、USD/Alembic import/export/save/reopen/desktop reimport。
|
||
- N-023-E:zip fuzz、OPFS quota/recovery、license/source offer 发布审计和大文件流式性能。
|
||
|
||
## 验收
|
||
|
||
```bash
|
||
WEB_TEST_PORT=5323 npm --prefix web run test:e2e -- --grep "N-023 asset"
|
||
npm --prefix web run test:library-main-reader
|
||
```
|