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
8mod binary;
9pub mod error;
10#[cfg(feature = "fbx")]
11pub mod fbx;
12pub mod format;
13pub mod nmd;
14pub mod normalize;
15pub mod pmd;
16pub mod pmm;
17pub mod pmx;
18mod sjis;
19pub mod vmd;
20pub mod vpd;
21pub mod xfile;
22
23pub use format::{MmdFormatKind, detect_mmd_format, sniff};
24pub use nmd::{NmdParsedManifest, parse_nmd_manifest};
25pub use normalize::normalize_vmd_name;
26pub use pmd::{
27    PmdParsedModel, PmdRuntimeImport, export_pmd_model, import_pmd_runtime, parse_pmd_model,
28};
29pub use pmm::{
30    PmmParsedManifest, PmmSceneExportOptions, PmmSceneExportReport, export_pmm_manifest,
31    export_pmm_scene_from_pmx_vmd, parse_pmm_manifest,
32};
33pub use pmx::{
34    PmxBoneImport, PmxMaterialSplit, PmxMaterialSplitManifest, PmxMaterialSplitManifestMesh,
35    PmxMaterialSplitMesh, PmxMaterialSplitMorphIndexMap, PmxMaterialSplitResult, PmxMorphNames,
36    PmxParsedModel, PmxPartsBoneDescriptor, PmxPartsDescriptor, PmxPartsDisplayFrameDescriptor,
37    PmxPartsDisplayFrameItem, PmxPartsGroupMorphOffset, PmxPartsIndexSizes, PmxPartsInput,
38    PmxPartsJointDescriptor, PmxPartsMaterialDescriptor, PmxPartsMaterialFlags,
39    PmxPartsMorphDescriptor, PmxPartsRigidBodyDescriptor, PmxPartsVertexMorphOffset, PmxRigSpec,
40    PmxRigSpecBone, PmxRigSpecGrant, PmxRigSpecIkChain, PmxRigSpecIkLink, PmxRigSpecLocalAxis,
41    PmxRuntimeImport, build_pmx_model_from_parts, export_pmx_model, import_pmx_model,
42    import_pmx_runtime, parse_pmx_material_split, parse_pmx_model, parse_pmx_rig_spec,
43    split_pmx_model_by_material, validate_pmx_export_model,
44};
45pub use vmd::{
46    VmdCameraState, VmdClipBuildOptions, VmdIkEntry, VmdImportResult, VmdLightState,
47    VmdParsedAnimation, VmdPropertyIkFrame, VmdSelfShadowState, build_clip_from_import,
48    build_pair_clip, build_pair_clip_with_options, build_property_binding_with_ik_resolver,
49    export_vmd_animation, import_vmd_motion, parse_vmd_animation, sample_vmd_camera_frames,
50    sample_vmd_light_frames, sample_vmd_self_shadow_frames,
51};
52pub use vpd::{VpdParsedPose, export_vpd_pose, parse_vpd_pose};
53pub use xfile::{AccessoryParsedManifest, export_accessory_manifest, parse_accessory_manifest};