A high-performance tweening module for the FastJava ecosystem. SIMD-accelerated interpolation and easing for smooth real-time animations.
- ⚡ SIMD Accelerated: Optimized easing and interpolation via AVX2/SSE (Planned).
- 📦 Zero GC Stalls: Minimal object creation for high-frequency updates using TweenPool.
- 🚀 Raw Performance: Optimized for massive parallel animation streams.
- 🖇️ Ecosystem Ready: Foundation for FastAnimation and FastGraphics.
# Clone the repository
git clone https://github.com/andrestubbe/fasttween.git
cd fasttween
# Build and register locally
.\compile.bat
# Run the Easing Showcase
.\run-demo.batAdd the JitPack repository and the dependencies to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<!-- FastTween Library -->
<dependency>
<groupId>io.github.andrestubbe</groupId>
<artifactId>fasttween</artifactId>
<version>0.1.0</version>
</dependency>
<!-- FastCore (Required Native Loader) -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastcore</artifactId>
<version>v1.0.0</version>
</dependency>
</dependencies>repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'io.github.andrestubbe:fasttween:0.1.0'
implementation 'com.github.andrestubbe:fastcore:v1.0.0'
}Download the latest JARs directly to add them to your classpath:
- 📦 fasttween-v0.1.0.jar (The Core Library)
- ⚙️ fastcore-v1.0.0.jar (The Mandatory Native Loader)
Important
Both JARs must be in your classpath for the native JNI calls to function correctly.
// Interpolate a value from 0 to 100 over 500ms
FastTween.to(0f, 100f, 500)
.ease(Ease.CUBIC_OUT)
.onUpdate(v -> panel.setOpacity(v))
.start();We've included a visual easing playground to showcase the motion curves:
- Run
compile.batto build the library. - Run
run-demo.batto launch the Easing Showcase.
- JDK 17+
- Maven 3.9+
- Windows 10/11
See COMPILE.md for detailed build instructions.
FastTween is evolving into a high-performance animation core:
- Native SIMD Support: JNI-based interpolation for AVX2 compatible processors.
- Global Ticker Engine: Centralized heartbeat for thousands of synchronized tweens.
- FastAnimation Integration: First-class support for state-based UI transitions.
See ROADMAP.md for detailed implementation plans and upcoming milestones.
MIT License — See LICENSE for details.
Part of the FastJava Ecosystem — Making the JVM faster.