Immutable root of a Timeline document and its monotonic identity domain. More...
#include <model.hpp>
Public Member Functions | |
| ItemId | id () const noexcept |
| Returns the stable project identity. | |
| const std::string & | name () const noexcept |
| Returns the authored project name. | |
| std::uint64_t | next_item_id () const noexcept |
| Returns the next unallocated numeric ItemId. | |
| ItemId | root_sequence_id () const noexcept |
| Returns the identity of the arrangement's root sequence. | |
| std::span< const MediaAsset > | assets () const noexcept |
| Returns project-owned media assets in canonical identity order. | |
| std::span< const Sequence > | sequences () const noexcept |
| Returns project-owned sequences in canonical identity order. | |
| const timebase::TempoMap & | tempo_map () const noexcept |
| Returns the project's immutable tempo map. | |
| const timebase::MeterMap & | meter_map () const noexcept |
| Returns the project's immutable meter map. | |
| const std::optional< SessionStart > & | session_start () const noexcept |
| Returns the optional absolute source-clock origin. | |
| const std::optional< TuningReference > & | tuning () const noexcept |
| Returns the tuning every track plays in unless it states its own. | |
| const MediaAsset * | find_asset (ItemId id) const noexcept |
| Finds a media asset by identity, or returns nullptr. | |
| const Sequence * | find_sequence (ItemId id) const noexcept |
| Finds a sequence by identity, or returns nullptr. | |
| std::optional< ItemLocation > | locate (ItemId id) const noexcept |
| Returns canonical location data for active or inactive id, if known. | |
| std::size_t | shared_identity_nodes_with (const Project &other) const |
| Counts persistent identity-index nodes shared with other. | |
| bool | shares_storage_with (const Project &other) const noexcept |
| Returns whether both values share complete immutable project storage. | |
| SequenceCompileStructureToken | sequence_compile_structure_token () const noexcept |
| Process-local identity of the sequence-reference and registered-content placement shape used by incremental playback invalidation. | |
| ItemIdAllocator | item_id_allocator () const noexcept |
| Returns an allocator initialized to this snapshot's identity frontier. | |
Static Public Member Functions | |
| static runtime::Result< Project, ModelError > | create (ProjectInput input) |
| Validates referential integrity, ownership, durations, and identity monotonicity. | |
| static ProjectIdentityStats | identity_stats () noexcept |
| Returns process-wide persistent identity-index diagnostic counters. | |
Friends | |
| struct | ProjectEditAccess |
| class | detail::ProjectStateAccess |
Immutable root of a Timeline document and its monotonic identity domain.
|
noexcept |
Returns project-owned media assets in canonical identity order.
|
static |
Validates referential integrity, ownership, durations, and identity monotonicity.
|
noexcept |
Finds a media asset by identity, or returns nullptr.
Finds a sequence by identity, or returns nullptr.
|
noexcept |
Returns the stable project identity.
|
staticnoexcept |
Returns process-wide persistent identity-index diagnostic counters.
|
inlinenoexcept |
Returns an allocator initialized to this snapshot's identity frontier.
|
noexcept |
Returns canonical location data for active or inactive id, if known.
|
noexcept |
Returns the project's immutable meter map.
|
noexcept |
Returns the authored project name.
|
noexcept |
Returns the next unallocated numeric ItemId.
|
noexcept |
Returns the identity of the arrangement's root sequence.
|
noexcept |
Process-local identity of the sequence-reference and registered-content placement shape used by incremental playback invalidation.
The token is preserved across edits that cannot change dependency subscribers and is replaced before publishing a structurally incompatible snapshot.
|
noexcept |
Returns project-owned sequences in canonical identity order.
|
noexcept |
Returns the optional absolute source-clock origin.
| std::size_t pulp::timeline::Project::shared_identity_nodes_with | ( | const Project & | other | ) | const |
Counts persistent identity-index nodes shared with other.
|
noexcept |
Returns whether both values share complete immutable project storage.
|
noexcept |
Returns the project's immutable tempo map.
|
noexcept |
Returns the tuning every track plays in unless it states its own.
|
friend |
|
friend |