Skip to content

v0.8.1 - Steadicam

Choose a tag to compare

@kvvasuu kvvasuu released this 12 Sep 20:22
· 323 commits to main since this release

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. Follow writes it, rotated the same way as its own offset (so it reflects whatever the current bindingMode derived), and HardLookAt/RotationComposer read it when building their look-at rotation. Body still never touches rotation and Aim still never touches position - referenceUp is just a value passed between them, interpolated during blends like every other CameraState field.

🐛 Bug Fixes

  • HardLockToTargetBody no longer pops on a retarget mid-blend - it published out.target as the raw, undamped target position while out.position was the damped one still catching up. BlendHints.cylindricalPosition/sphericalPosition derive an orbit offset from position - target, so retargeting mid-catch-up made that offset jump instantly, popping any blend that read it. Fixed by publishing out.target as an exact copy of the (already damped) out.position - HardLockToTargetBody has no persistent offset by definition, so this is always correct.
  • FollowBody had the same bug, fixed the same way in spirit - Follow has a real, persistent, non-zero offset though, so out.target is now derived algebraically from the damped position minus the rotated offset, keeping the offset BlendHints read 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

  • math bumped from a canary prerelease to the first stable ^0.1.0 release.
  • 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