From 0852511c3fa374715cd141257547dd2e050d3b52 Mon Sep 17 00:00:00 2001 From: Kristian Myram Date: Mon, 12 Oct 2026 19:19:00 +0200 Subject: [PATCH 1/2] #551: Shift+Spacebar plays every frame by default Shift+Spacebar set Skip to 1, so it played every other frame out of the box. It now plays every frame, like Spacebar. Skip still works when it is set. Co-Authored-By: Claude Haiku 5.5 --- crates/engine/src/preview.rs | 12 +++++++++--- crates/ui-egui/tests/ui_preview_align.rs | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/crates/engine/src/preview.rs b/crates/engine/src/preview.rs index 5b9733dd..76d21a80 100644 --- a/crates/engine/src/preview.rs +++ b/crates/engine/src/preview.rs @@ -205,9 +205,8 @@ impl PreviewPreset { pub fn default_for(s: PreviewShortcut) -> Self { let d = PreviewPreset::default(); match s { - PreviewShortcut::Spacebar => d, - // A lighter preview: every other frame. - PreviewShortcut::ShiftSpacebar => PreviewPreset { skip: 1, ..d }, + // Frame skipping is off by default; set Skip to play fewer frames. + PreviewShortcut::Spacebar | PreviewShortcut::ShiftSpacebar => d, PreviewShortcut::Numpad0 => PreviewPreset { range: PreviewRange::WorkArea, play_from: PlayFrom::RangeStart, ..d }, PreviewShortcut::ShiftNumpad0 => { PreviewPreset { range: PreviewRange::WorkArea, play_from: PlayFrom::RangeStart, skip: 1, resolution: PreviewResolution::Half, ..d } @@ -509,6 +508,13 @@ mod tests { assert_eq!(pl.frame_after(237, 1), None); } + /// #551: Shift+Spacebar used to skip every other frame out of the box. + #[test] + fn shift_spacebar_plays_every_frame_by_default() { + assert_eq!(PreviewPreset::default_for(PreviewShortcut::ShiftSpacebar).skip, 0); + assert_eq!(PreviewPreset::default_for(PreviewShortcut::ShiftSpacebar), PreviewPreset::default_for(PreviewShortcut::Spacebar)); + } + #[test] fn settings_commands_round_trip() { let mut s = comp_session(); diff --git a/crates/ui-egui/tests/ui_preview_align.rs b/crates/ui-egui/tests/ui_preview_align.rs index c2e03535..e9b8d6c4 100644 --- a/crates/ui-egui/tests/ui_preview_align.rs +++ b/crates/ui-egui/tests/ui_preview_align.rs @@ -118,7 +118,8 @@ fn playback_follows_the_shortcut_options() { h.step(); assert!(h.state().playback.playing); assert_eq!(h.state().playback.shortcut, PreviewShortcut::ShiftSpacebar); - assert_eq!(h.state().playback.plan.unwrap().step, 2); + // Every frame by default (#551): Skip is 0 until the user sets it. + assert_eq!(h.state().playback.plan.unwrap().step, 1); } #[test] From a26f1a374925f8a4f02da2dadb805c72762ab416 Mon Sep 17 00:00:00 2001 From: Kristian Myram Date: Mon, 12 Oct 2026 22:47:58 +0200 Subject: [PATCH 2/2] #551: drop the Shift+Space default from the preview parity gaps Shift+Spacebar now plays every frame by default, so it is no longer a gap in docs/ui-parity.md. Co-Authored-By: Claude Haiku 5.5 --- docs/ui-parity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ui-parity.md b/docs/ui-parity.md index 3654f61b..8c111972 100644 --- a/docs/ui-parity.md +++ b/docs/ui-parity.md @@ -27,7 +27,7 @@ feel and platform differences, and the 26.x interface changes are not in yet. | Keyboard shortcuts | After Effects' defaults; Keyboard Shortcuts editor that rebinds and saves sets | 75% | Shortcut editor in Settings; adding shortcuts fails on Linux (#467); requests for more (#428, #336); no shortcuts for scripts | | Drag and drop | Project → Timeline / viewer / New Comp / Render Queue; effects onto layers; files from the OS | 65% | `ui_drag_drop`; OS drops fail on Wayland (winit) and some Linux setups (#268); multi-file drops (#552, #351); crash dragging over the import dialog (#511) | | Text editing on canvas | Point and paragraph text, per-character styles, Character / Paragraph panels, OpenType and variable axes | 70% | `ui_text_edit`, `ui_font_search`; paragraph alignment inverted (#316); font search by typing (#583); toolbar font options (#550); the font menus' variable-font filter (26.3) landed (#741) | -| Preview feel | Spacebar / Numpad 0 previews, RAM preview, cache bars, adaptive resolution | 55% | `ui_ram_preview`, `ui_live_preview`; stutter (#595, #304), scrubbing lag (#329), Shift+Space default (#551) | +| Preview feel | Spacebar / Numpad 0 previews, RAM preview, cache bars, adaptive resolution | 55% | `ui_ram_preview`, `ui_live_preview`; stutter (#595, #304), scrubbing lag (#329) | | Home screen, Learn, templates | Home with recent projects, template gallery, interactive Learn tutorials | 70% | Layout nitpicks (#581); Home literals untranslated (#574) | | Quick Apply (26.2) | Search to apply effects, presets or commands | partial | A command palette exists; not After Effects' Quick Apply | | Accessibility | AccessKit enabled; focus labels tested; Project panel keyboard navigation and accessible names (#776) | 20% | No screen-reader pass or keyboard-navigation audit of the other panels; no contrast check |