PSArborTouch is a particle / spring physics engine optimised for 2D content layout and eye-catching visual effects.
Objective-C CSS
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore Minor updates to Readme and gitignore. Jul 2, 2012


PSArborTouch is a particle / spring physics engine optimised for 2D content layout and eye-catching visual effects.

The goal of PSArborTouch is to build a high-quality physics based graph layout engine designed specifically for the Mac OSX and iOS. The inspiration / structure comes from [arbor] (, a dynamic and well structured javascript engine for the same purpose.

Example Projects

This distribution contains several examples that demonstrate the features of PSArborTouch. This includes those found in arbor.js and a few more that explore other uses.

iOS Simulator Screen shot 22 04 2013 2 20 54 AM


This library is functional but it is still a work in progress, see issues and milestones

PSArborTouch is a drop in solution that uses a GCD to keep the main application loop free and responsive. Those looking for a reference counted implementation should look for a "Non ARC 1.0" branch.

This project follows the SemVer standard. The API may change in backwards-incompatible ways before the 1.0 release.


You can generate documentation with doxygen. The example project includes a documentation build target to do this within Xcode. For more details, see the Documentation page in this projects wiki.


If you'd like to contribute to PSArborTouch, start by forking this repository on GitHub:

The best way to get your changes merged back into core is as follows:

  1. Clone down your fork
  2. Create a thoughtfully named topic branch to contain your change
  3. Hack away
  4. Add tests and make sure everything still passes
  5. If you are adding new functionality, document it in the README
  6. Do not change the version number, I will do that on my end
  7. If necessary, rebase your commits into logical chunks, without errors
  8. Push the branch up to GitHub
  9. Send a pull request to the epreston/PSArborTouch project.

Or better still, [donate] ( via the [project website] (

Copyright and License

Copyright 2012 Preston Software.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Bitdeli Badge