# DW12:资产库、文件浏览器和库覆盖 - stage: `modeling-assets` - queueTask: `WBV2-P1424-001`;parent: `WBV2-P1424-000`;nextTask: `null` - 包状态:`planned_gap_closure`(并不表示已有源码尚未实现) - 完整交付依赖:DW06 - 工作量级:L;不表示日期承诺 - validation: `NOT_RUN`;acceptance: `NOT_CLAIMED` ## 优先复用的十多天成果 ASSET-LIBRARY-COVERAGE、library Main append、resource mapping 与 asset preview 已有实现。 既有任务:`ASSET-LIBRARY-COVERAGE`(记录为 implemented)。按需读取一个任务结果的 summary/remaining/ownedPaths,不打开完整产品报告。 先对照当前小范围源码和最新交接保留已实现子项;只有缺功能、缺接线或缺必要依赖才新增实现。历史状态不自动当作当前缺口。 ## 操作者工作流与交付 浏览/标记资产 → 预览 → append/link → 库覆盖/重载/重定位 → 保存 资产可组织、复用、链接和更新的完整工作流,复用 DW06 的文件事务。 ## 最小生产入口 - `web/protocol/asset-library-io.ts` - `web/protocol/library-main-append.ts` - `blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp` - `blender-5.2.0/source/blender/editors/space_file/space_file.cc` - `blender-5.2.0/source/blender/blenkernel/intern/packedFile.cc` - `web/app/src/app/App.tsx` 以上为聚焦入口,非要求全文加载。使用源码聚焦工具、精确 --source/--unit 和函数片段;接入新 operator 时追加其具体原生文件,单次最多 8 个精确源码文件。没有默认测试入口或要运行的 fixture;功能完成前不执行任何验证。 ## 只补未完成部分 1. 完成原生 File/Asset Browser 的目录、搜索、筛选、分类/catalog、最近路径与浏览器授权目录适配。 2. 资产标记/元数据/预览/拖入与对象、材质、节点组、集合等资源类型匹配;复用 native preview 实现并保留未完成类型。 3. append/link/instance/library override/resync 保持原生 ID remap、依赖和只读边界。 4. 缺失库、路径重定位、重复导入、名称冲突、清理孤立数据和跨工程资源归属形成实际入口。 5. 资源与预览失效/取消不丢现有资产;DW17 后完成剩余渲染型预览消费者,不以 preview 占位图关闭本包。 ## 失败边界 不能以文件列表或静态缩略图代替 asset 数据操作;未解析库不可返回假成功。 ## 实现交接与后续使用 交付前必须具有实际入口→原生执行→消费者/结果→错误/取消→适用 history/save 的生产代码。这里是实现交付条件,不运行验收;编译成功不能替代功能。旧的已完成子项可引用并保留,不能声称本轮重新实现。 用户使用阶段的场景(现在不执行):建立含材质和节点组的资产库,在第二个工程链接并覆盖对象,重载原库后保留编辑。 每次记录保留成果、补齐断点、仍有缺口、必要构件与下一动作。共同规则见同目录 `EXECUTION.md`,首次领取时阅读;不要将完整计划作为后续执行上下文。