# Changelog

## [0.3.8] - 2026-08-13

### Changed

- Updated the package documentation for the optional Bullet integration.

## [0.3.7] - 2026-08-13

### Changed

- Extracted BulletSharp, native Bullet plugins, and the Bullet physics implementation into `com.koiusa.libmmd.bullet`.
- Kept the backend registry and Unity physics backend in Core, including an integration hook for offline pose generation.
- Reduced the Core package to the runtime, built-in Unity physics, and shared integration APIs.

## [0.3.6] - 2026-08-13

### Fixed

- Reset physics after restoring the target pose so Bullet and Unity physics reset from the intended animation state.
- Continued backend physics updates while motion playback is paused, allowing Bullet-driven hair and clothing to settle.

## [0.3.5] - 2026-08-10

### Changed

- Moved PNG, JPEG, BMP, and supported TGA file reading and decoding off the main thread.
- Split texture alpha analysis across frames, cached its result per texture, and reduced cache-hit logging.
- Split model construction, renderer setup, blend shapes, and supported physics construction according to the configured loading frame budget.
- Added per-stage load diagnostics including wall time, main-thread time, and maximum frame slice.

### Fixed

- Preserved completed model display replacement and Unity physics behavior while loading incrementally.
- Escaped plus signs in asynchronous local texture URLs so valid PNG/JPEG filenames no longer return a false 404.

## [0.3.4] - 2026-08-09

### Changed

- Scaled standard VMD root, foot-IK, and toe-IK translations to the target model's measured leg length.

## [0.3.3] - 2026-08-09

### Fixed

- Made model-instance option application initialize its animator safely during EditMode construction.

## [0.3.2] - 2026-08-09

### Changed

- Optimized the Unity physics backend by reducing unnecessary solver work, disabling colliders with no collision targets, and allowing idle dynamic bodies to sleep sooner.
- Added conservative velocity, mass, depenetration, and joint-drive limits to improve simulation stability.

### Fixed

- Prevented motion animation bindings from driving bones owned by the Unity physics backend.
- Avoided assigning linear or angular velocity to kinematic rigid bodies during physics reset.

## [0.3.1] - 2026-08-08

### Fixed

- Prevented asynchronous motion loads from applying poses after the model hierarchy has been destroyed.

## [0.3.0] - 2026-08-08

### Changed

- Added `MmdModelInstance`, `IMmdModelInstance`, `MmdModelOptions`, and `MmdPhysicsMode` as the supported runtime surface.
- Model and motion loading now consistently returns `IEnumerator` requests without an `Async` suffix.
- Hid the concrete `MmdGameObject` implementation and removed deprecated 0.2 members.

## [0.2.0] - 2026-08-08

### Added

- Added `IMmdModelInstance` and the `MmdModelInstance` factory.
- Added create-time model, physics, rigging, and cloth selection options.

### Changed

- Model load options are copied when an instance is created and exposed read-only afterward.
- Physics-dependent objects are rebuilt per instance while model resources remain cached.

## [0.1.4] - 2026-08-07

### Added

- Added TGA texture loading support.

### Changed

- Split texture decoding into format-specific loader responsibilities.

### Fixed

- Prevented animation evaluation while a model is still loading or being replaced.

## [0.1.3] - 2026-08-04

### Fixed

- Preserved the IK evaluation order authored in PMD files instead of reordering constraints by link bone index, fixing ankle orientation on models with multiple IK chains sharing one controller.

## [0.1.2] - 2026-08-04

- Synchronized the package release version for the LibMmd 0.1.6 package set.

## [0.1.1] - 2026-07-29

### Added

- Added VMD IK enable/disable track support.
- Added frame-parallel animation clip baking.

### Fixed

- Improved PMD/PMX leg IK, knee direction, ankle rotation, and transform propagation for models that previously produced twisted or unapplied poses.
- Fixed animation baking interpolation and stale bake-cache cleanup.
- Fixed small bone-length drift when composing FK, IK, and grant rotations.

## [0.1.0] - 2026-07-24

- Initial UPM release of the core runtime.
