41 return static_cast<DirtyFlags>(
static_cast<std::uint16_t
>(lhs) |
42 static_cast<std::uint16_t
>(rhs));
81 std::vector<DirtyContext>
contexts = {});
83 std::span<const DirtyItem>
items() const noexcept {
87 std::span<const DirtyContext>
contexts() const noexcept {
Result<T, E> — either holds a T or an E, never both.
Definition result.hpp:76
Owned canonical collection of incremental invalidations.
Definition transaction.hpp:74
std::span< const DirtyItem > items() const noexcept
Returns canonical item invalidations in stable sorted order.
Definition transaction.hpp:83
std::span< const DirtyContext > contexts() const noexcept
Returns unique context invalidations in stable sorted order.
Definition transaction.hpp:87
DirtySet(std::vector< DirtyItem > items={}, std::vector< DirtyContext > contexts={})
Takes ownership and canonicalizes dirty records.
std::size_t retained_size() const noexcept
Returns the owned object and vector-storage size estimate.
Immutable root of a Timeline document and its monotonic identity domain.
Definition model.hpp:1079
Immutable sample-anchored recording take referencing a project media asset.
Definition recording.hpp:29
CompileContextKind
A kind of timeline context a renderer's compile hook may read beyond its own clip's content.
Definition compile_context.hpp:46
@ ChordScale
Definition compile_context.hpp:47
@ TargetMissing
Definition note_transform.hpp:57
@ WrongTargetKind
Definition note_transform.hpp:58
runtime::Result< ReducedTransaction, TransactionError > reduce_transaction(const Project &project, const Transaction &transaction)
Purely applies a transaction to a project without session publication.
DirtyFlags
Bitmask describing which interpretation of an item became stale.
Definition transaction.hpp:18
ConflictCode
Stable reason a transaction cannot be reduced or committed.
Definition transaction.hpp:103
constexpr DirtyFlags operator|(DirtyFlags lhs, DirtyFlags rhs) noexcept
Combines independent dirty reasons.
Definition transaction.hpp:40
@ Freeze
Definition transaction.hpp:28
@ None
Definition transaction.hpp:19
@ Mixer
Definition transaction.hpp:36
@ Removed
Definition transaction.hpp:25
@ Context
Definition transaction.hpp:35
@ Structure
Definition transaction.hpp:20
@ Added
Definition transaction.hpp:24
@ Notes
Definition transaction.hpp:23
@ InactiveTarget
Definition transaction.hpp:112
@ NothingToUndo
Definition transaction.hpp:119
@ ExpectedValueMismatch
Definition transaction.hpp:115
@ WriterLimit
Definition transaction.hpp:121
@ CommandIdCollision
Definition transaction.hpp:108
@ InvalidIdentifier
Definition transaction.hpp:104
@ TransactionIdCollision
Definition transaction.hpp:107
@ SequenceExhausted
Definition transaction.hpp:122
@ UndoFull
Definition transaction.hpp:118
@ CapabilityDenied
The submitting writer's capability mask does not permit the class of one named command.
Definition transaction.hpp:143
@ NothingToRedo
Definition transaction.hpp:120
@ JournalFull
Definition transaction.hpp:117
@ CheckpointMismatch
A replay checkpoint matched the journal base revision but is not the document the journal was built o...
Definition transaction.hpp:129
@ AlreadyAppliedResultExpired
Definition transaction.hpp:109
@ Unspecified
Never produced deliberately.
Definition transaction.hpp:139
@ JournalDurability
Definition transaction.hpp:124
@ ReplayDivergence
Replaying a recorded entry did not reproduce what was recorded: the entry no longer reduces,...
Definition transaction.hpp:136
@ ParentMismatch
Definition transaction.hpp:114
@ GestureState
Definition transaction.hpp:113
@ ModelInvariant
Definition transaction.hpp:123
@ WriterQuotaExhausted
The transaction's retained size exceeds the writer's per-transaction budget, or would carry its cumul...
Definition transaction.hpp:147
@ IdentityNotAvailable
Definition transaction.hpp:116
@ StaleRevision
Definition transaction.hpp:106
@ EmptyTransaction
Definition transaction.hpp:105
@ Automation
Non-performed control of parameter values on a track: automation lanes, modulation sources,...
Definition document_session.hpp:57
@ Timing
How the document is interpreted musically: the project tempo and meter maps, and the tuning a project...
Definition document_session.hpp:74
@ Unspecified
Definition model.hpp:508
@ Marker
Definition model.hpp:961
@ None
Definition clip.hpp:176
@ Content
Definition schema_registry.hpp:23
Definition program_compiler.hpp:18
Writer-scoped, monotonically assigned command identity.
Definition command.hpp:32
Immutable state published by a successful session commit.
Definition transaction.hpp:187
std::vector< CommandId > applied_commands
Definition transaction.hpp:191
std::shared_ptr< const Project > snapshot
Definition transaction.hpp:188
std::shared_ptr< const Project > predecessor_snapshot
Definition transaction.hpp:192
DirtySet dirty
Definition transaction.hpp:190
DocumentRevision revision
Definition transaction.hpp:189
One sequence-owned context kind a transaction changed.
Definition transaction.hpp:64
constexpr auto operator<=>(const DirtyContext &) const =default
ItemId owner_sequence
Definition transaction.hpp:65
CompileContextKind kind
Definition transaction.hpp:66
Canonical invalidation record for one item and its owning location.
Definition transaction.hpp:49
ItemId owner_track
Definition transaction.hpp:51
ItemId item
Definition transaction.hpp:50
constexpr auto operator<=>(const DirtyItem &) const =default
ItemId owner_sequence
Definition transaction.hpp:52
DirtyFlags flags
Definition transaction.hpp:53
Monotonic document snapshot revision used for optimistic admission.
Definition command.hpp:54
Nonzero monotonic identity for a Timeline-owned object.
Definition item_id.hpp:19
Pure reduction result before revision publication.
Definition transaction.hpp:175
Project project
Definition transaction.hpp:176
DirtySet dirty
Definition transaction.hpp:177
std::vector< Command > inverses
Definition transaction.hpp:178
Structured transaction rejection.
Definition transaction.hpp:160
ConflictCode code
Definition transaction.hpp:161
TransactionId transaction
Definition transaction.hpp:162
ItemId item
Definition transaction.hpp:164
DocumentRevision current_revision
Definition transaction.hpp:167
DocumentRevision expected_revision
Definition transaction.hpp:166
CommandId command
Definition transaction.hpp:163
ItemId related_item
Definition transaction.hpp:165
std::optional< ModelError > model_error
Definition transaction.hpp:168
Writer-scoped, monotonically assigned transaction identity.
Definition command.hpp:43
Atomically admitted ordered command batch.
Definition command.hpp:824