Skip to content

导出 .opentake 自包含工程包(接通 archive 引擎 + 缺失素材报告)#180

Merged
appergb merged 1 commit into
mainfrom
feat/bundle-export-wiring
Jul 2, 2026
Merged

导出 .opentake 自包含工程包(接通 archive 引擎 + 缺失素材报告)#180
appergb merged 1 commit into
mainfrom
feat/bundle-export-wiring

Conversation

@appergb

@appergb appergb commented Jul 2, 2026

Copy link
Copy Markdown
Owner

上游第三导出模式 ExportMode.palmierProject 的端到端接线:archive.rs 引擎已建成但零调用。export_bundle 命令快照活状态(上游从不先保存,未保存工程允许导出)+ 可测 seam + camelCase DTO serde 测试 + ExportDialog bundle 模式(缺失素材时按上游 keep-open 逻辑留在对话框展示逐文件报告)+ temp-dir 集成测试。前一 agent 503 中断,残留已核验补完。门禁:workspace 1372 + web 330 全绿。

… end to end)

Upstream's third export mode ("Palmier Project", ExportMode.palmierProject) was
fully built as opentake_project::archive but reachable by nothing. Wire it:

- export.rs: export_bundle command snapshots the LIVE timeline/manifest/
  generation-log (upstream archives live editor state and never saves first —
  ExportService.swift:168-197; unsaved project allowed, projectURL nil -> only
  external media resolves) and delegates to a testable run_bundle_export seam
  (mirrors run_export). DTOs BundleReportDto/MissingMediaDto (camelCase, serde
  round-trip tested). Registered in lib.rs.
- core.rs: AppCore::generation_log() snapshot accessor (carried into the bundle
  like upstream editor.generationLog).
- ExportDialog: "bundle" mode with the project-name default filename
  ("<base>.opentake", ExportView.swift:354-356); clean success closes + toast;
  MISSING media keeps the dialog open with a danger-styled per-file report
  (upstream keep-open comment, ExportView.swift:369-375). api.ts exportBundle()
  typed 1:1 against the DTOs. zh/en i18n. 7 new dialog tests.
- tests/bundle_export_integration.rs: temp-dir end-to-end (present media
  collected into media/, missing reported, project.json/media.json written).

Prior agent died on a 503 mid-work; its partial Rust (DTOs + command body +
generation_log accessor) was verified and completed (registration, seam, tests,
frontend were missing).

Gates: fmt/clippy -D warnings clean; cargo test --workspace 1372; pnpm build
clean; pnpm test 330.
@appergb appergb merged commit 872214b into main Jul 2, 2026
2 checks passed
@appergb appergb deleted the feat/bundle-export-wiring branch July 2, 2026 06:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant