From ce5db67078b70680a4a2e5bc7a633e950c952312 Mon Sep 17 00:00:00 2001 From: Etienne Lescot Date: Wed, 5 Aug 2026 10:03:06 +0200 Subject: [PATCH] feat(editor): turn on roundness, shadow and motion blur by default The wallpaper and a 50% padding were already on out of the box, but roundness, shadow and motion blur all defaulted to 0. The result was a hard-edged rectangle pasted onto a decorative background: the padding looked like wasted space rather than a deliberate margin, which is what issue #271 reported before blaming the padding for it. Ship the rest of the look instead of removing the half that was there: roundness 40px, shadow 20%, motion blur 20% (values picked on Windows). Padding stays at 50. Projects where the user already moved one of these sliders keep their value -- `legacyEditor` only stores keys that were explicitly patched -- so only projects that never touched them pick up the new look. Closes #271 --- src/components/video-editor/editorDefaults.ts | 8 +++++--- src/lib/ai-edition/store/editorSettings.test.ts | 4 ++-- src/lib/ai-edition/store/editorSettings.ts | 11 ++++++++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/components/video-editor/editorDefaults.ts b/src/components/video-editor/editorDefaults.ts index a74acd020..a98c93c5d 100644 --- a/src/components/video-editor/editorDefaults.ts +++ b/src/components/video-editor/editorDefaults.ts @@ -36,10 +36,12 @@ export const DEFAULT_EDITOR_APPEARANCE_SETTINGS: { motionBlurAmount: number; borderRadius: number; } = { - shadowIntensity: 0, + // Keep in sync with `DEFAULT_EDITOR_SETTINGS` (lib/ai-edition/store/editorSettings.ts), + // which is what the mounted v4 shell reads — see the rationale there. + shadowIntensity: 0.2, showBlur: false, - motionBlurAmount: 0, - borderRadius: 0, + motionBlurAmount: 0.2, + borderRadius: 40, }; export const DEFAULT_EDITOR_LAYOUT_SETTINGS: { diff --git a/src/lib/ai-edition/store/editorSettings.test.ts b/src/lib/ai-edition/store/editorSettings.test.ts index aed3e43f5..e31f9fcb2 100644 --- a/src/lib/ai-edition/store/editorSettings.test.ts +++ b/src/lib/ai-edition/store/editorSettings.test.ts @@ -39,7 +39,7 @@ describe("getEditorSettings", () => { const snap = getEditorSettings(baseDoc); expect(snap.wallpaper).toBe(DEFAULT_EDITOR_SETTINGS.wallpaper); expect(snap.aspectRatio).toBe("16:9"); - expect(snap.shadowIntensity).toBe(0); + expect(snap.shadowIntensity).toBe(DEFAULT_EDITOR_SETTINGS.shadowIntensity); expect(snap.showBlur).toBe(false); expect(snap.webcamLayoutPreset).toBe(DEFAULT_WEBCAM_LAYOUT_PRESET); expect(snap.webcamMaskShape).toBe(DEFAULT_WEBCAM_MASK_SHAPE); @@ -91,7 +91,7 @@ describe("patchEditorSettings", () => { const next = patchEditorSettings(baseDoc, { showBlur: true }); const snap = getEditorSettings(next); expect(snap.showBlur).toBe(true); - expect(snap.shadowIntensity).toBe(0); + expect(snap.shadowIntensity).toBe(DEFAULT_EDITOR_SETTINGS.shadowIntensity); expect(snap.cropRegion).toEqual(DEFAULT_CROP_REGION); }); diff --git a/src/lib/ai-edition/store/editorSettings.ts b/src/lib/ai-edition/store/editorSettings.ts index 131505b5a..c77f42330 100644 --- a/src/lib/ai-edition/store/editorSettings.ts +++ b/src/lib/ai-edition/store/editorSettings.ts @@ -62,10 +62,15 @@ export interface EditorSettingsSnapshot { export const DEFAULT_EDITOR_SETTINGS: EditorSettingsSnapshot = { wallpaper: DEFAULT_WALLPAPER, aspectRatio: "16:9", - shadowIntensity: 0, + // Opinionated by default: the wallpaper and the padding were already on, but + // with square corners and no shadow the recording read as a rectangle pasted + // onto the background rather than a window floating above it (#271 reported + // the symptom and blamed the padding). These three are the rest of that look; + // shipping the background without them was shipping half a composition. + shadowIntensity: 0.2, showBlur: false, - motionBlurAmount: 0, - borderRadius: 0, + motionBlurAmount: 0.2, + borderRadius: 40, padding: 50, cropRegion: DEFAULT_CROP_REGION, webcamLayoutPreset: DEFAULT_WEBCAM_LAYOUT_PRESET,