Skip to main content

mmd_anim_format/
lib.rs

1//! Runtime-only PMX/VMD binary importer.
2//!
3//! This crate scans PMX/VMD sections and extracts only the runtime-required
4//! data into `mmd-anim-runtime` arenas and clips. It does not retain a full
5//! PMX/VMD object graph — mesh, material, texture, toon, display-frame UI,
6//! rigid body, joint, and soft-body metadata are dropped during import.
7
8pub mod error;
9pub mod format;
10pub mod nmd;
11pub mod normalize;
12pub mod pmd;
13pub mod pmm;
14pub mod pmx;
15pub mod vmd;
16pub mod vpd;
17pub mod xfile;
18
19pub use format::{MmdFormatKind, detect_mmd_format};
20pub use nmd::{NmdParsedManifest, parse_nmd_manifest};
21pub use normalize::normalize_vmd_name;
22pub use pmd::{
23    PmdParsedModel, PmdRuntimeImport, export_pmd_model, import_pmd_runtime, parse_pmd_model,
24};
25pub use pmm::{
26    PmmParsedManifest, PmmSceneExportOptions, PmmSceneExportReport, export_pmm_manifest,
27    export_pmm_scene_from_pmx_vmd, parse_pmm_manifest,
28};
29pub use pmx::{
30    PmxBoneImport, PmxMorphNames, PmxParsedModel, PmxPartsBoneDescriptor, PmxPartsDescriptor,
31    PmxPartsDisplayFrameDescriptor, PmxPartsDisplayFrameItem, PmxPartsGroupMorphOffset,
32    PmxPartsIndexSizes, PmxPartsInput, PmxPartsJointDescriptor, PmxPartsMaterialDescriptor,
33    PmxPartsMaterialFlags, PmxPartsMorphDescriptor, PmxPartsRigidBodyDescriptor,
34    PmxPartsVertexMorphOffset, PmxRuntimeImport, build_pmx_model_from_parts, export_pmx_model,
35    import_pmx_model, import_pmx_runtime, parse_pmx_model, validate_pmx_export_model,
36};
37pub use vmd::{
38    VmdCameraState, VmdClipBuildOptions, VmdIkEntry, VmdImportResult, VmdParsedAnimation,
39    VmdPropertyIkFrame, build_clip_from_import, build_pair_clip, build_pair_clip_with_options,
40    build_property_binding_with_ik_resolver, export_vmd_animation, import_vmd_motion,
41    parse_vmd_animation, sample_vmd_camera_frames,
42};
43pub use vpd::{VpdParsedPose, export_vpd_pose, parse_vpd_pose};
44pub use xfile::{AccessoryParsedManifest, export_accessory_manifest, parse_accessory_manifest};