Task: TODOS.phase-72.72.15.2.8
The sequencer hotkey surface is a V2Editor TimelineVisualizer command model for keyboard-driven timeline editing. It maps validated input chords to named sequencer actions, resolves commands by action or chord, and returns the resulting playback, playhead, selection, and sequence mutation state.
Runtime API#
- Binding spec:
FV2SequencerHotkeyBindingSpec - Panel spec:
FV2SequencerHotkeyPanelSpec - Request:
FV2SequencerHotkeyRequest - Result:
FV2SequencerHotkeyResult - Action enum:
EV2SequencerHotkeyActionType - Issue enum:
EV2SequencerHotkeyIssueType
ApplySequencerHotkeyRequest accepts a sequence, hotkey panel spec, and
request. The request can name an action directly or provide an input chord for
lookup. The result preserves the updated sequence and reports command id,
normalized chord, playhead frame, selection, and mutation flags.
Default Chords#
Space: play/pausePeriod: next keyframeComma: previous keyframeS: set keyframe on the selected track at the current frameDelete: delete selected keyframes or the keyframe under the playheadCtrl+K: split the selected track at the current frame
Behavior#
- The panel spec targets
TimelineVisualizer, shows shortcut hints, and validates duplicate input-chord conflicts. - Play/pause toggles playback state without mutating sequence data.
- Next/previous keyframe navigation can scope to the selected track or search all visible keyframes when no track is selected.
- Set keyframe creates a deterministic key id at the current frame, copies the nearest keyframe value when available, sorts the track by frame, and selects the new keyframe.
- Delete keyframe removes selected keyframes, or the keyframe at the current playhead frame when no explicit selection is present.
- Split track partitions keyframes into left and right track rows and selects the new right-side track.
- Locked tracks reject set, delete, and split mutations while still allowing navigation.
The default QA fixture uses Seq.DataModel.CouncilIntro, selected track
Track.Cassia.Transform, and frame 45 to prove navigation to frame 90,
mid-track keyframe insertion, selected-keyframe deletion, and Ctrl+K split
behavior.
QA Inventory#
- Bindings: verify every default chord maps to the expected command and duplicate chord validation is active.
- Playback: verify play/pause toggles
bPlayingand does not mutate the sequence. - Navigation: verify next/previous keyframe moves the playhead and selects the target keyframe.
- Keyframe mutation: verify set keyframe adds a selected keyframe and delete removes selected or playhead keyframes.
- Split track: verify
Ctrl+Kcreates a right-side split track with later keyframes and selects it. - Off-path: reject unknown chords, duplicate set-keyframe frames, split without a selected track, and locked-track deletion.
js_repl Playwright interaction was unavailable in this session and the
affected surface is Unreal editor data rather than browser-rendered UI, so
verification is through UE editor automation and contract gates.
Verification#
python3 V2/ue/Tools/check-v2-sequencer-hotkeys.pyV2.Editor.Sequencer.Hotkeyspython3 V2/ue/Tools/check-v2-editor-module.pypython3 V2/ue/Tools/check-v2-ci-workflow.py