pub enum SceneStart {
Auto(SceneStartAuto),
At(TimePoint),
}Expand description
When a scene starts, on the scenario’s absolute timeline. See
Scene::at.
Not #[derive(Deserialize)] (see [SceneStartDe] / its manual
Deserialize impl just below): a syntactically malformed at — "at": "banana" — must be rejected the moment the scenario is deserialized,
not discovered later as a silent fallback to automatic placement. A
derive can’t express that extra grammar check, only the untagged
try-"auto"-then-TimePoint shape.
Variants§
Auto(SceneStartAuto)
Immediately after the previous scene’s own window ends. Serializes
and deserializes as the bare string "auto".
At(TimePoint)
An explicit point on the scenario’s absolute timeline. Grammar is
validated at deserialize time via
TimePoint::validate_grammar
— resolving it (which additionally needs bpm for a beat unit) is a
separate, later step: rustmotion validate’s schema pass, which can
name the offending scene and report unresolved_beat_unit — see
crates/rustmotion/src/cli/commands/validate_schema.rs.
Trait Implementations§
Source§impl Clone for SceneStart
impl Clone for SceneStart
Source§impl Debug for SceneStart
impl Debug for SceneStart
Source§impl Default for SceneStart
impl Default for SceneStart
Source§impl<'de> Deserialize<'de> for SceneStart
impl<'de> Deserialize<'de> for SceneStart
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl JsonSchema for SceneStart
impl JsonSchema for SceneStart
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for SceneStart
impl PartialEq for SceneStart
Source§impl Serialize for SceneStart
impl Serialize for SceneStart
impl StructuralPartialEq for SceneStart
Auto Trait Implementations§
impl Freeze for SceneStart
impl RefUnwindSafe for SceneStart
impl Send for SceneStart
impl Sync for SceneStart
impl Unpin for SceneStart
impl UnsafeUnpin for SceneStart
impl UnwindSafe for SceneStart
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more