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, sniff};
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, PmxMaterialSplit, PmxMaterialSplitManifest, PmxMaterialSplitManifestMesh,
31    PmxMaterialSplitMesh, PmxMaterialSplitMorphIndexMap, PmxMaterialSplitResult, PmxMorphNames,
32    PmxParsedModel, PmxPartsBoneDescriptor, PmxPartsDescriptor, PmxPartsDisplayFrameDescriptor,
33    PmxPartsDisplayFrameItem, PmxPartsGroupMorphOffset, PmxPartsIndexSizes, PmxPartsInput,
34    PmxPartsJointDescriptor, PmxPartsMaterialDescriptor, PmxPartsMaterialFlags,
35    PmxPartsMorphDescriptor, PmxPartsRigidBodyDescriptor, PmxPartsVertexMorphOffset, PmxRigSpec,
36    PmxRigSpecBone, PmxRigSpecGrant, PmxRigSpecIkChain, PmxRigSpecIkLink, PmxRigSpecLocalAxis,
37    PmxRuntimeImport, build_pmx_model_from_parts, export_pmx_model, import_pmx_model,
38    import_pmx_runtime, parse_pmx_material_split, parse_pmx_model, parse_pmx_rig_spec,
39    split_pmx_model_by_material, validate_pmx_export_model,
40};
41pub use vmd::{
42    VmdCameraState, VmdClipBuildOptions, VmdIkEntry, VmdImportResult, VmdParsedAnimation,
43    VmdPropertyIkFrame, build_clip_from_import, build_pair_clip, build_pair_clip_with_options,
44    build_property_binding_with_ik_resolver, export_vmd_animation, import_vmd_motion,
45    parse_vmd_animation, sample_vmd_camera_frames,
46};
47pub use vpd::{VpdParsedPose, export_vpd_pose, parse_vpd_pose};
48pub use xfile::{AccessoryParsedManifest, export_accessory_manifest, parse_accessory_manifest};