A JavaScript animation library using CSS transforms and transitions
JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src Correct inversion of matrix multiplication order. Dec 17, 2011
tasks Add site deploy script. Apr 3, 2011
.gitignore Add Gemfile listing required RubyGems. Aug 19, 2011
.gitmodules Port matrix tests to JS.Test framework. Aug 22, 2011
CHANGELOG Correct release date for version 1.0.0. Apr 3, 2011
Gemfile Add Gemfile listing required RubyGems. Aug 19, 2011
Jakefile Don't copy text files to build directory. Jun 4, 2010
LICENSE Remove the buggy FirminCSSMatrix from this release. Apr 1, 2011
README.md Update README with new build and test instructions. Aug 22, 2011
jake.yml Add an 'all' build with both Firmin and FirminCSSMatrix, and use it i… Sep 6, 2010



Firmin is a JavaScript animation library based on CSS transforms and transitions.

var box = document.getElementById("box");

Firmin.animate(box, {
    scale:     {x: 2, y: 3},
    translate: {x: -100, y: 35}
}, 0.5);


To build Firmin from source you will need Ruby, RubyGems and Bundler. The test suite also depends on JS.Class, which is provided as a Git submodule. To get everything working, run the following shell commands in order.

# Download the source code
git clone git://github.com/beastaugh/firmin.git
cd firmin
git submodule update --init --recursive

# Install dependencies
gem install bundler
bundle install

# Build the test framework and Firmin
cd vendor/jsclass
cd -

# Run tests
open test/runner.html

The last command will (on OS X, anyway) open the test runner for Firmin's automated test suite. The test runner page also includes links to the manual tests which must be run by hand in a browser.

The FirminCSSMatrix test suite currently fails on non-WebKit browsers as the WebKitCSSMatrix class is not available as a reference implementation.