Troika is a collection of JavaScript tools for creating interactive graphics in the browser, with a focus on 3D/WebGL, and optimized for data visualization use cases.
The provided tools fall into two main categories:
- The Troika Framework, a fully featured framework for managing entire scenes with rich interactivity and high performance, and
- A growing set of other tools for Three.js, that do not depend on that framework.
The Troika project's main goal is to take aspects of developing interactive graphics that you almost always need, but are difficult to manage yourself, and make them as easy as possible.
This repository is a Lerna monorepo with 13 packages. For the best development experience, use the VS Code multi-root workspace:
# Clone the repository
git clone https://github.com/protectwise/troika.git
cd troika
# Install dependencies and bootstrap packages
npm install
# Open in VS Code with workspace configuration
code troika.code-workspace- Per-package IntelliSense with correct import resolution
- Build/test tasks accessible via Ctrl+Shift+B / Ctrl+Shift+T
- Debugging configs for Jest tests and Examples dev server
- Organized sidebar with emoji-labeled package folders
See VS_CODE_WORKSPACE_GUIDE.md for full details.
# Build all packages
npm run build
# Build examples
npm run build-examples
# Run tests
npm test
# Run examples dev server
npm run examplesSee BUILD_NOTES.md for release process and publishing.