Skip to main content

media/
manifest.rs

1//! Recording session manifest.
2//!
3//! Lands in **M-MEDIA.20 (AUT-116)**. This file is the scaffolded module
4//! so the crate compiles before that chunk.
5//!
6//! Planned surface:
7//!
8//! ```text
9//! RecordingManifest {
10//!   session_id:      Uuid,
11//!   created_at:      DateTime<Utc>,
12//!   video_tracks:    Vec<VideoTrack>,
13//!   audio_tracks:    Vec<AudioTrack>,
14//!   cursor_track:    Option<CursorTrack>,
15//!   timeline_origin: MediaTime,
16//!   duration:        MediaDuration,
17//! }
18//! ```
19//!
20//! Serializable (serde JSON + a stable on-disk format). Describes the
21//! session — does not render it. The app reopens a recording by loading a
22//! manifest + lazily resolving track files relative to the manifest's
23//! parent directory.