Files
workinf_Blender_Wasm/docs/tasks/WBV2-P1424-001-desktop-completion/DW13.md
mes123456 f3e21c6b98
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
chore: checkpoint web Blender migration source, tools and docs
Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer,
web workflow engine and protocol, tooling, docs and task records.
Large generated evidence, user-testing archives, build snapshots and
imported test assets remain untracked.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-10 11:18:01 +08:00

54 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DW13:导入导出与文件格式适配
- stage: `modeling-assets`
- queueTask: `WBV2-P1424-001`;parent: `WBV2-P1424-000`;nextTask: `null`
- 包状态:`planned_gap_closure`(并不表示已有源码尚未实现)
- 完整交付依赖:DW06, DW12
- 工作量级:XL;不表示日期承诺
- validation: `NOT_RUN`;acceptance: `NOT_CLAIMED`
## 优先复用的十多天成果
IO-ROUTE-COMPLETION、格式 registry、原生导入导出和 GLB 浏览器导出已存在。
既有任务:`IO-ROUTE-COMPLETION`(记录为 implemented)。按需读取一个任务结果的 summary/remaining/ownedPaths,不打开完整产品报告。
先对照当前小范围源码和最新交接保留已实现子项;只有缺功能、缺接线或缺必要依赖才新增实现。历史状态不自动当作当前缺口。
## 操作者工作流与交付
选择文件/格式 → native importer → 可编辑场景 → native exporter → 下载/保存文件
每个承诺格式都有可调用原生实现与完整文件结果;格式支持按具体内容维度记录。
## 最小生产入口
- `web/protocol/io-format-ui-gate.ts`
- `web/protocol/io-media-commands.ts`
- `web/app/src/capabilities/io-format-ui-registry.json`
- `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- `web/app/src/workers/web-engine.worker.ts`
- `web/app/src/app/App.tsx`
以上为聚焦入口,非要求全文加载。使用源码聚焦工具、精确 --source/--unit 和函数片段;接入新 operator 时追加其具体原生文件,单次最多 8 个精确源码文件。没有默认测试入口或要运行的 fixture;功能完成前不执行任何验证。
## 只补未完成部分
1. 按本地 Blender 源码已注册 importer/exporter 与现有 registry 分格式领取;glTF/OBJ/PLY/STL/FBX/USD/Alembic 等逐项追踪,不把菜单存在当格式实现。
2. 将现有服务端格式能力的必要依赖移到 native WebEngine/WASM;复用本地库和产物,保留既有辅助路径但不当作 browser-native 完成。
3. 接入文件、多文件/目录、sidecar、嵌入资源、打包归档和流式进度,正确处理坐标、单位、材质、动画/骨骼与实例。
4. 导入形成受控 Main 事务;导出使用明确场景/选择/帧范围和原生选项,失败不生成可误认成功的文件。
5. 明确桌面绝对路径到浏览器文件权限/下载的等价操作;未迁移的编码器/依赖列出下一原生修复动作。
## 失败边界
导出空文件、仅 mesh 的降级结果或服务端执行不能冒充完整浏览器原生格式移植。
## 实现交接与后续使用
交付前必须具有实际入口→原生执行→消费者/结果→错误/取消→适用 history/save 的生产代码。这里是实现交付条件,不运行验收;编译成功不能替代功能。旧的已完成子项可引用并保留,不能声称本轮重新实现。
用户使用阶段的场景(现在不执行):导入带贴图/动画的资产,编辑后导出对应格式并管理 sidecar 文件。
每次记录保留成果、补齐断点、仍有缺口、必要构件与下一动作。共同规则见同目录 `EXECUTION.md`,首次领取时阅读;不要将完整计划作为后续执行上下文。