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, VmdExportMorphKind, VmdExportName, VmdIkEntry,
47    VmdImportResult, VmdLightState, VmdParsedAnimation, VmdPoseExport, VmdPoseExportBindings,
48    VmdPoseExportError, VmdPoseExportReport, VmdPropertyIkFrame, VmdSelfShadowState,
49    build_clip_from_import, build_pair_clip, build_pair_clip_with_options,
50    build_property_binding_with_ik_resolver, export_reduced_pose_to_vmd, export_vmd_animation,
51    import_vmd_motion, parse_vmd_animation, sample_vmd_camera_frames, sample_vmd_light_frames,
52    sample_vmd_self_shadow_frames,
53};
54pub use vpd::{VpdParsedPose, export_vpd_pose, parse_vpd_pose};
55pub use xfile::{AccessoryParsedManifest, export_accessory_manifest, parse_accessory_manifest};