pub fn from_source<S: DeserializeOwned, C: ShotCheck<S>>(
file: &str,
stem: &str,
source: &str,
audio: &AudioManifest,
shots: C,
) -> Result<CinematicDef<C::Shot>, Vec<ContentError>>pub fn from_source<S: DeserializeOwned, C: ShotCheck<S>>(
file: &str,
stem: &str,
source: &str,
audio: &AudioManifest,
shots: C,
) -> Result<CinematicDef<C::Shot>, Vec<ContentError>>