Repository navigation
v0.9.0 - Ensemble
v0.9.0 - Ensemble
✨ New Features
GroupFraminggainsfitMode,minDistance/maxDistance, andframingMode-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/maxDistanceclamp 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
GroupFramingnow 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