feat/zoom motion blur refine#436
Conversation
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR introduces configurable zoom motion blur tuning and camera spring multipliers, rewrites zoom motion-blur analysis to a quad-based per-step approach, threads tuning/multipliers through editor state, playback, frame renderers, and exporters, updates SettingsPanel/dev UI with a native-capture tester, and adds tests and locale strings. ChangesZoom Motion Blur Tuning & Camera Spring Feature
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/components/video-editor/SettingsPanel.tsx (1)
1481-1495:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReset should restore the saved classic-mode default too.
Line 1494 still hardcodes
false, so the Zoom reset can leave this section only partially restored when the user's stored default has classic zoom enabled.Suggested fix
const resetZoomSection = () => { onZoomMotionBlurTuningChange?.(initialEditorPreferences.zoomMotionBlurTuning); onCameraSpringStiffnessMultiplierChange?.( initialEditorPreferences.cameraSpringStiffnessMultiplier, ); onCameraSpringDampingMultiplierChange?.( initialEditorPreferences.cameraSpringDampingMultiplier, ); onCameraSpringMassMultiplierChange?.( initialEditorPreferences.cameraSpringMassMultiplier, ); onZoomInDurationMsChange?.(initialEditorPreferences.zoomInDurationMs); onZoomOutDurationMsChange?.(initialEditorPreferences.zoomOutDurationMs); - onZoomClassicModeChange?.(false); + onZoomClassicModeChange?.(initialEditorPreferences.zoomClassicMode); };🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/video-editor/SettingsPanel.tsx` around lines 1481 - 1495, resetZoomSection currently forces classic zoom off by calling onZoomClassicModeChange?.(false); replace that hardcoded false with the saved default from initialEditorPreferences (e.g. onZoomClassicModeChange?.(initialEditorPreferences.zoomClassicMode) or use the exact property name that holds the saved classic-mode default) so the reset restores the user's stored classic-mode setting; keep a safe fallback (false) if the property might be undefined.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@src/components/video-editor/SettingsPanel.tsx`:
- Around line 1481-1495: resetZoomSection currently forces classic zoom off by
calling onZoomClassicModeChange?.(false); replace that hardcoded false with the
saved default from initialEditorPreferences (e.g.
onZoomClassicModeChange?.(initialEditorPreferences.zoomClassicMode) or use the
exact property name that holds the saved classic-mode default) so the reset
restores the user's stored classic-mode setting; keep a safe fallback (false) if
the property might be undefined.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: aadd1e1a-d7a7-43d7-9ddf-097419e219ff
📒 Files selected for processing (16)
src/components/video-editor/SettingsPanel.tsxsrc/components/video-editor/VideoEditor.tsxsrc/components/video-editor/VideoPlayback.tsxsrc/components/video-editor/editorPreferences.tssrc/components/video-editor/projectPersistence.tssrc/components/video-editor/types.tssrc/components/video-editor/videoPlayback/motionSmoothing.tssrc/components/video-editor/videoPlayback/zoomTransform.test.tssrc/components/video-editor/videoPlayback/zoomTransform.tssrc/i18n/locales/en/editor.jsonsrc/i18n/locales/es/editor.jsonsrc/lib/exporter/frameRenderer.tssrc/lib/exporter/gifExporter.tssrc/lib/exporter/modernFrameRenderer.tssrc/lib/exporter/modernVideoExporter.tssrc/lib/exporter/videoExporter.ts
Pull Request Template
Description
Motivation
Type of Change
Related Issue(s)
Screenshots / Video
Screenshot (if applicable):
Video (wherever possible):
Testing Guide
Checklist
Thank you for contributing!
Summary by CodeRabbit
New Features
Improvements
Localization