pub struct CharacterDefinition {
pub layers: Vec<LayerGroup>,
}Expand description
Complete character configuration
Fields§
§layers: Vec<LayerGroup>All layers in their original definition order
Implementations§
Source§impl CharacterDefinition
impl CharacterDefinition
Sourcepub fn parse(input: &str) -> Self
pub fn parse(input: &str) -> Self
Parses character definition from string content
Lenient: malformed lines (such as a variant before any layer) are
silently ignored. Use Self::try_parse to reject them instead.
Supports # for comments and empty lines are ignored
§Format
# Comment line
[internal_name]: [display_name] # Inline comment
- [variant_name]: [image_path]
- None # Special case to disable layer§Example
let input = r"
base
- Default: base.png
expression: Mood
- Happy: happy.png
- Sad: sad.png
";
let def = chara::CharacterDefinition::parse(input);Sourcepub fn try_parse(input: &str) -> Result<Self, ParseError>
pub fn try_parse(input: &str) -> Result<Self, ParseError>
Parses character definition, rejecting malformed input
Unlike Self::parse, this reports the first structural problem with
its line number instead of silently skipping it.
§Errors
Returns ParseError for an orphan variant, a layer without an
internal name, a layer with no variants, or a duplicated internal name.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CharacterDefinition
impl RefUnwindSafe for CharacterDefinition
impl Send for CharacterDefinition
impl Sync for CharacterDefinition
impl Unpin for CharacterDefinition
impl UnsafeUnpin for CharacterDefinition
impl UnwindSafe for CharacterDefinition
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
Mutably borrows from an owned value. Read more