Repository navigation
v0.8.1 - Steadicam
v0.8.1 - Steadicam
✨ New Features
CameraState.referenceUp- a shared "up" hint a Body can hand to a paired Aim, instead of every rotation-building Aim defaulting to a hardcoded world-up.Followwrites it, rotated the same way as its own offset (so it reflects whatever the currentbindingModederived), andHardLookAt/RotationComposerread it when building their look-at rotation. Body still never touches rotation and Aim still never touches position -referenceUpis just a value passed between them, interpolated during blends like every otherCameraStatefield.
🐛 Bug Fixes
HardLockToTargetBodyno longer pops on a retarget mid-blend - it publishedout.targetas the raw, undamped target position whileout.positionwas the damped one still catching up.BlendHints.cylindricalPosition/sphericalPositionderive an orbit offset fromposition - target, so retargeting mid-catch-up made that offset jump instantly, popping any blend that read it. Fixed by publishingout.targetas an exact copy of the (already damped)out.position-HardLockToTargetBodyhas no persistent offset by definition, so this is always correct.FollowBodyhad the same bug, fixed the same way in spirit -Followhas a real, persistent, non-zero offset though, soout.targetis now derived algebraically from the damped position minus the rotated offset, keeping the offsetBlendHintsread always exactly what's configured, regardless of damping lag.
📖 Examples
- New interactive examples site - collection of live demos, each with a Leva control panel and a "spectator" inset watching the primary camera from outside.
Only a handful of pieces are covered so far - more scenes land incrementally.
🔧 Internal Changes
mathbumped from a canary prerelease to the first stable^0.1.0release.- New regression tests for both fixes above, each confirmed to fail against the pre-fix code before the fix landed.
What's Changed
- feat: propagate roll to a paired Aim via CameraState.referenceUp by @kvvasuu in #36
- Fix/hard lock to target blend hint pop by @kvvasuu in #37
- Feat/examples site by @kvvasuu in #38
Full Changelog: v0.8.0...v0.8.1