Inspector 批:属性行钻石键 + 媒体 Source 检查器 + 截帧入库#187
Merged
Conversation
…-to-library Three Inspector-domain gaps vs upstream InspectorView / MediaLibrary: - Per-row keyframe cluster (InspectorView.swift:529-563): every animatable row (Position/Scale/Rotation/Opacity/Crop/Volume) gains diamond stamp-toggle (filled + accent when a keyframe exists AT the playhead; click stamps/removes) and prev/next chevrons seeking to neighboring keyframes; disabled at 0.4 opacity when the playhead is outside the clip (half-open contains). Pure keyframeNav.ts returns ABSOLUTE frames (kf.frame + clip.startFrame; strict </>, max/min — upstream EditorViewModel+Keyframes.swift:11-21). 8 tests. Position/Crop render one cluster per property (upstream parity; OpenTake splits them into multiple field rows). - Media-asset "Source" inspector (InspectorView.swift:49-56 state priority marquee > clip > mediaAsset > project; :924-946 file fields): identity header + File section (type/dimensions/duration/size/path with upstream's exact show-conditions and H:MM:SS + ByteCountFormatter-style formatting via pure mediaFormat.ts, 8 tests). Generated/Prompt/References render CONDITIONALLY on manifest generation_input — the domain type already existed 1:1 (opentake-domain media.rs:115) and is now plumbed through MediaItemDto; every current construction site sets None (generate_* still stubbed) so the sections light up when generation lands. MediaItemDto also gains file_size. - Capture frame -> media LIBRARY (EditorViewModel+MediaLibrary.swift:306-390): replaces the PNG download (upstream imports, never saves to disk); new capture_frame_to_media command composites (timeline tab) or decodes the source frame (video tab, upstream :95 shows the button on both) -> PNG -> import_one (same path as user import) -> "<name> <frame>" rename -> current panel folder. Silent like upstream. Known nit (documented): previewMediaId isn't cleared on clip selection, so Source can reappear after deselecting a clip; kept surgical. Gates: fmt/clippy -D warnings clean; cargo test --workspace 1519; pnpm build clean; pnpm test 394 (+16).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
①六个动画属性行的关键帧簇(播放头处钻石压/删 + 前后跳转,绝对帧纯助手,禁用/填充规则 1:1 上游)②媒体资产 Source 态(状态优先级 marquee>clip>asset>project;文件字段与格式化 1:1;GenerationInput 已按域模型贯通、条件渲染——现全为 None,生成落地即亮)③截帧改入素材库(上游只导入不落盘;时间线合成/视频页解码双路径,同用户导入管线+重命名+入当前文件夹)。已知小瑕疵已文档化(previewMediaId 不随片段选择清空)。门禁:workspace 1519 + web 394 全绿。