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