Releases
v4.0.0
Compare
Sorry, something went wrong.
No results found
Version 4.0.0
Breaking: Requires C++17
Breaking: tweeny::from() returns a builder; call .build() to create a tween
Breaking: Tweens are immutable after build() (keyframes, durations, and easings cannot be changed)
Breaking: Durations must be uint32_t (during(60U)); step() accepts int32_t frame deltas only (no percentage mode)
Breaking: seek() accepts uint32_t absolute frame positions only (no percentage mode)
Breaking: Multi-value tweens return std::tuple instead of std::array
Breaking: Callbacks use on(event::…) with event::response return values instead of onStep() / onSeek()
Breaking: forward() / backward() removed; use negative step() values to move backward
Breaking: Headers moved to include/tweeny/; include as #include <tweeny/tweeny.h>
Breaking: Removed easing::enumerated and string-based via("linear") easing selection
New event types: complete, keyframeEnter, keyframeLeave, update
New methods: peek(), peek(frame), progress(), jump(keyframe)
Restructured internals under tweeny::detail; easing split into per-function headers
Added Catch2 test suite and Doxygen manual with v3-to-v4 migration guide
CMake: C++17 enforcement, FILE_SET HEADERS, optional tests and single-header target (via uvx + quom)
Fixed exponential easing endpoints (position == 0 / == 1) to match Penner behavior
Expanded tests: Penner reference samples for bundled easings (direct + via); def/stepped (including multi-keyframe stepped); seek/step/jump vs peek consistency
GitHub Actions CI (Ubuntu, Catch2, build + ctest)
scripts/create-release.sh — release from an existing tag (docs sync to gh-pages, single-header asset, GitHub Release)
README: CMake install + find_package(Tweeny); fixed installed include interface so #include <tweeny/tweeny.h> works after install
Docs: event::update, progress(), honest zero-during() behavior; Doxygen styling aligned with the site
Removed sandbox CMake option/target
You can’t perform that action at this time.