three-freeform-controls
This library provides rotation and translation controls for THREE.JS objects.
Documentation

Local development:
- Install dependencies:
npm install - Build and watch the source code:
npm run start
Running examples:
- Make sure to build the source code
- Run examples:
npm run examples - To see a specific example in fullscreen, use the filename from
examples/folder(likelocalhost:10001/?example=basicorlocalhost:10001/?example=transition-limit)
The following features are currently supported:
- <input checked="" disabled="" type="checkbox"> translation controls with 3 degrees of freedom
- <input checked="" disabled="" type="checkbox"> rotation controls with 3 degrees of freedom
- <input checked="" disabled="" type="checkbox"> translation and rotation controls about arbitrary axes
- <input checked="" disabled="" type="checkbox"> plane controls for translation restricted to an arbitrary plane
- <input checked="" disabled="" type="checkbox"> rotation controls in the eye plane
- <input checked="" disabled="" type="checkbox"> free-pick controls for translation in the eye plane
- <input checked="" disabled="" type="checkbox"> fixed mode controls (retain orientation wrt. object rotation)
- <input checked="" disabled="" type="checkbox"> inherit mode controls (make controls follow object rotation)
- <input checked="" disabled="" type="checkbox"> custom objects as controls handles
- <input checked="" disabled="" type="checkbox"> enabling partial controls only
- <input checked="" disabled="" type="checkbox"> multiple instances of controls anchored to a single object
- <input checked="" disabled="" type="checkbox"> different instances of controls anchored to a different objects
- <input checked="" disabled="" type="checkbox"> snap to grid
- <input checked="" disabled="" type="checkbox"> translation limits along individual axes
Todo:
- <input disabled="" type="checkbox"> tests
About the project
License
three-freeform-controls is distributed with an MIT license.
Contributing
When contributing to this repository, please first discuss the change you wish to make via an issue on the Github Repo.