One track-arrangement step expressed without reference to the device that produced it. More...
#include <track_edit_intent.hpp>
Public Attributes | |
| TrackEditIntentKind | kind = TrackEditIntentKind::Reorder |
| timeline::GesturePhase | phase = timeline::GesturePhase::Single |
| timeline::ItemId | sequence_id |
| timeline::ItemId | track_id |
| The track being moved. | |
| std::optional< timeline::ItemId > | expected_before_track_id |
| Optimistic gate: the neighbour the front-end believes track_id precedes. | |
| std::optional< timeline::ItemId > | replacement_before_track_id |
| Requested destination: the neighbour track_id should precede. | |
One track-arrangement step expressed without reference to the device that produced it.
The kind field remains the discriminator for the reorder vocabulary and preserves the aggregate shape existing arrangers build. Track creation uses TrackCreateIntent below because its complete Track payload must be required by construction rather than added here as an optional field.
Insertion is expressed as "before this track", matching MoveTrack, so a front-end that resolved a drop position to a neighbour does not have to convert it to an index that the document would then have to interpret. A std::nullopt destination means last position — the same meaning the command gives it, deliberately not a separate "append" verb.
| std::optional<timeline::ItemId> pulp::timeline_editor::TrackEditIntent::expected_before_track_id |
Optimistic gate: the neighbour the front-end believes track_id precedes.
| TrackEditIntentKind pulp::timeline_editor::TrackEditIntent::kind = TrackEditIntentKind::Reorder |
| timeline::GesturePhase pulp::timeline_editor::TrackEditIntent::phase = timeline::GesturePhase::Single |
| std::optional<timeline::ItemId> pulp::timeline_editor::TrackEditIntent::replacement_before_track_id |
Requested destination: the neighbour track_id should precede.
| timeline::ItemId pulp::timeline_editor::TrackEditIntent::sequence_id |
| timeline::ItemId pulp::timeline_editor::TrackEditIntent::track_id |
The track being moved.