pub struct Puppet {
pub meta: Meta,
pub physics: Physics,
pub nodes: Node,
pub params: HashMap<u32, Param>,
pub automation: Automation,
pub animations: HashMap<String, Animation>,
pub groups: Vec<Group>,
pub vendors: Vec<VendorData>,
pub textures: Vec<Texture>,
}Expand description
Root structure of the Inochi2D puppet model. Contains metadata, physics, node tree, animation parameters and visual organization.
Fields§
§meta: MetaCreator, version and rights information.
physics: PhysicsGlobal physics configuration (gravity, scale).
nodes: NodeHierarchical node tree (root + recursive children).
params: HashMap<u32, Param>Animatable parameters that control the puppet (sliders/dials).
automation: AutomationParameter automation tracks (not implemented in this model).
animations: HashMap<String, Animation>Pre-recorded animation clips.
groups: Vec<Group>Node groups for visual organization in the editor. The folders/hierarchies you see in the editor UI.
vendors: Vec<VendorData>Extra vendor extension data.
textures: Vec<Texture>List of textures.
Implementations§
Source§impl Puppet
impl Puppet
Sourcepub fn open<P>(path: P) -> Result<Self>
pub fn open<P>(path: P) -> Result<Self>
Load a puppet from a file.
Examples found in repository?
examples/parsing.rs (line 10)
3fn main() -> std::io::Result<()> {
4 let time = std::time::Instant::now();
5
6 let path = std::env::args()
7 .nth(1)
8 .expect("\n ✦ Usage: parsing <.inx/.inp file>\n\n ✦ Example: parsing ArchChan.inx\n");
9
10 let puppet = Puppet::open(path)?;
11
12 let time = time.elapsed();
13
14 println!("\nMeta: {:#?}", puppet.meta);
15
16 println!("\nNodes Hierarchy:");
17 let mut tab = String::new();
18 recursive_nodes(&puppet.nodes, &mut tab);
19
20 println!("\nParams: {}", puppet.params.len());
21
22 println!("\nAnimations: {}", puppet.animations.len());
23
24 // puppet.save(format!("{}_serialized.inx", path))?;
25
26 println!("\nDone: {:?}", time);
27 Ok(())
28}Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self>
pub fn from_bytes(bytes: &[u8]) -> Result<Self>
Load a puppet from in-memory bytes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Puppet
impl RefUnwindSafe for Puppet
impl Send for Puppet
impl Sync for Puppet
impl Unpin for Puppet
impl UnsafeUnpin for Puppet
impl UnwindSafe for Puppet
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