19 lines
1.1 KiB
Markdown
19 lines
1.1 KiB
Markdown
# N-004 Packed Image 覆盖
|
||
|
||
状态:`completed_current_scope`
|
||
|
||
单 PackedFile 与 PackedFile 列表已覆盖。`image_resource_matrix.blend` 进一步覆盖两个独立
|
||
asset ID 的 packed UDIM tile、generated image 元数据、缺失外部路径和 linked library;
|
||
`corrupt_packed_image.blend` 验证 PNG 签名损坏返回 `PACKED_IMAGE_SIGNATURE_INVALID`。
|
||
SceneIR 公开 `sourceKind`、`assetStatus`、tile、library 和稳定错误码,Worker 可按 tile asset
|
||
ID 提取字节。
|
||
|
||
packed/tile 字节现按 SHA-256 写入
|
||
`projects/<project>/assets/sha256/<prefix>/<digest>`;重复内容只保留一份,读取时复验长度和
|
||
摘要,IndexedDB 保存项目级 asset metadata。Storage Worker 重启后可重新列举并读取 OPFS
|
||
资产。Blender `//` 相对路径会规范化;绝对路径、URI、反斜杠、百分号编码和 `..` 逃逸均以
|
||
`ASSET_PATH_INVALID`/`ASSET_PATH_OUTSIDE_PROJECT` 阻断。
|
||
|
||
验收:`npm --prefix web run test:image-resources`,以及 E2E
|
||
`content-addresses assets, deduplicates them, and rediscovers them after worker restart`。
|