属于 **#37** 全局可复用素材库。本子任务是后端打底,#37-B/#37-C 的依赖。 ## 范围(独占文件区) - `crates/opentake-media/`:新增 `library.rs`(**与 #47 的 frame_provider/decode、#49 的 import_folder 不同文件,低冲突**)。 - 全局库目录(如 `~/Library/Application Support/OpenTake/Library/`,跨平台用 `dirs`)。 - 持久化清单 `library.json`:条目 `{id,type,category,favoritedAt,source,thumb}`。 - copy-on-favorite:收藏即复制源文件进库;hash 去重。 ## 验收 - [ ] 收藏 → 文件出现在全局库目录 + 清单写入;重复收藏不重复存(hash)。 - [ ] 清单读写原子、并发安全。 - [ ] `cargo test`:copy-on-favorite、去重、分类过滤。`fmt`+`clippy` 绿。 ## 认领 开放认领。@Felix201209 @H-Chris233 想做请在本 issue 回复"认领"并自我 assign。
属于 #37 全局可复用素材库。本子任务是后端打底,#37-B/#37-C 的依赖。
范围(独占文件区)
crates/opentake-media/:新增library.rs(与 时间线合成预览 + 播放(wgpu composite_frame 接线 + 暂停态 canvas + 播放引擎) #47 的 frame_provider/decode、项目内文件夹导入 + 嵌套文件夹浏览(剪映式:文件夹图标/双击进入/面包屑/可拖出) #49 的 import_folder 不同文件,低冲突)。~/Library/Application Support/OpenTake/Library/,跨平台用dirs)。library.json:条目{id,type,category,favoritedAt,source,thumb}。验收
cargo test:copy-on-favorite、去重、分类过滤。fmt+clippy绿。认领
开放认领。@Felix201209 @H-Chris233 想做请在本 issue 回复"认领"并自我 assign。