Skip to content

v0.9.0 - Ensemble

Choose a tag to compare

@kvvasuu kvvasuu released this 13 Sep 17:10
· 287 commits to main since this release

v0.9.0 - Ensemble

✨ New Features

  • GroupFraming gains fitMode, minDistance/maxDistance, and framingMode - fitMode: 'ceiling' (default, unchanged) only dollies back, never closer than Body/Aim already placed the camera; 'rigid' always sits exactly at the fit distance, dollying in as the group shrinks too. minDistance/maxDistance clamp the fit distance this extension computes. framingMode ('horizontal' / 'vertical' / 'horizontalAndVertical') lets the fit ignore one screen axis entirely, for framing that only cares about one dimension.

🐛 Bug Fixes

  • GroupFraming now fits sphere/box members per-axis, not an isotropic bound - it used to treat a member's offset from the group center as a single, direction-agnostic length, so an offset mostly along the WIDER screen axis was penalized as if it could be along the narrower one, dollying the camera much farther back than actually needed. Fixed with the exact per-axis frustum-plane distance against the camera's current up/right/forward.
  • GroupFraming's debug padding box now matches that same per-axis math - it used to project a flat point (tan) instead of the sphere the fit actually solves for (sin), so the drawn box sat noticeably farther out than where members actually needed to stay.

🔧 Internal Changes

  • New regression tests for the per-axis fit and for fitMode/minDistance/maxDistance/framingMode.

What's Changed

Full Changelog: v0.8.1...v0.9.0