Result<T, E> — either holds a T or an E, never both.
Definition result.hpp:76
Immutable identity-bearing arrangement track.
Definition model.hpp:83
Adds intent submission for one intent vocabulary.
Definition sequencer_ui_host.hpp:213
Pointer-neutral editing intents and their lowering to ordinary transactions.
GesturePhase
Lifecycle position of a transaction within an interactive gesture.
Definition command.hpp:79
std::variant< TrackEditIntent, TrackCreateIntent > TrackArrangementIntent
Reorder or create vocabulary for controls that offer both operations.
Definition track_edit_intent.hpp:71
SequencerUiHostT< TrackEditIntent > TrackEditIntentHost
The host an arranger submits track intents to.
Definition track_edit_intent.hpp:78
TrackEditIntentKind
What a track-arrangement gesture does to the document.
Definition track_edit_intent.hpp:26
SequencerUiHostT< TrackArrangementIntent > TrackArrangementIntentHost
The host an arranger offering reorder and creation submits intents to.
Definition track_edit_intent.hpp:81
runtime::Result< timeline::Transaction, timeline::ModelError > lower_track_create_intent(const TrackCreateIntent &intent, const EditIntentIdentity &identity)
Lowers one complete track-creation intent to InsertTrack.
runtime::Result< timeline::Transaction, timeline::ModelError > lower_track_edit_intent(const TrackEditIntent &intent, const EditIntentIdentity &identity)
Lowers one track intent to the ordinary transaction that performs it.
runtime::Result< timeline::Transaction, timeline::ModelError > lower_track_arrangement_intent(const TrackArrangementIntent &intent, const EditIntentIdentity &identity)
Lowers either complete track-arrangement alternative.
@ Single
Definition command.hpp:79
@ Reorder
Move a track to a new authored position. Lowers to MoveTrack.
Definition track_edit_intent.hpp:27
ScriptedUiHost is a SequencerUiHost whose playhead is written by the caller instead of an engine,...
Definition edit_intent.hpp:14
Nonzero monotonic identity for a Timeline-owned object.
Definition item_id.hpp:19
Identities a lowered transaction needs and an intent deliberately does not carry.
Definition edit_intent.hpp:152
One complete track insertion expressed without device coordinates.
Definition track_edit_intent.hpp:63
std::optional< timeline::ItemId > before_track_id
Requested destination. Empty means last position.
Definition track_edit_intent.hpp:67
timeline::ItemId sequence_id
Definition track_edit_intent.hpp:64
timeline::Track track
Definition track_edit_intent.hpp:65
One track-arrangement step expressed without reference to the device that produced it.
Definition track_edit_intent.hpp:43
timeline::ItemId sequence_id
Definition track_edit_intent.hpp:47
std::optional< timeline::ItemId > expected_before_track_id
Optimistic gate: the neighbour the front-end believes track_id precedes.
Definition track_edit_intent.hpp:52
std::optional< timeline::ItemId > replacement_before_track_id
Requested destination: the neighbour track_id should precede.
Definition track_edit_intent.hpp:54
timeline::ItemId track_id
The track being moved.
Definition track_edit_intent.hpp:49
timeline::GesturePhase phase
Definition track_edit_intent.hpp:45
TrackEditIntentKind kind
Definition track_edit_intent.hpp:44