A JavaScript 3D library that makes it easier to build and render 3D scenes in the browser with WebGL and WebGPU.
protectwise/troika
A JavaScript toolkit and framework for interactive 3D/WebGL and 2D data visualizations in the browser, built on Three.js.
- Stars
- 1,986
- Forks
- 160
- Open issues
- 94
- Last commit
- 4 days ago
What is it?
Troika is a collection of JavaScript tools for building interactive graphics in the browser, with a focus on 3D WebGL rendering and data visualization. It targets the parts of interactive graphics work that are common but hard to manage by hand, such as scene management and interactivity.
The project has two parts: a full framework for managing entire scenes with rich interactivity and high performance, and a growing set of standalone tools for Three.js that do not depend on that framework. The documentation includes examples such as 3D bar charts, globe connection views, layered timelines, 3D text rendering and GPU instancing.
Troika is written in JavaScript and sits on top of Three.js and WebGL. Its topics also list WebXR and canvas, indicating support for those browser graphics APIs.
Key features
- 01Full framework for managing 3D scenes with interactivity
- 02Standalone Three.js tools that work without the framework
- 033D text rendering
- 04GPU instancing support
- 05Examples for 3D bar charts, timelines and globe visualizations
Use cases
- Building interactive 3D bar charts or globe-based data views in the browser
- Rendering text and labels in WebGL scenes
- Adding GPU-instanced objects to large Three.js scenes
- Creating layered timelines or threat-graph style visualizations
In collections
Topics
FAQ
- What is troika?
- A JavaScript toolkit and framework for interactive 3D/WebGL and 2D data visualizations in the browser, built on Three.js. Troika is a collection of JavaScript tools for building interactive graphics in the browser, with a focus on 3D WebGL rendering and data visualization. It targets the parts of interactive graphics work that are common but hard to manage by hand, such as scene management and interactivity.
- Is troika free to use? What license does it have?
- troika is open source under the MIT license. Check the license terms before using it in commercial products.
- Is troika still maintained?
- Actively maintained. The last commit to troika was on Nov 2, 2026.
- What can I use troika for?
- Building interactive 3D bar charts or globe-based data views in the browser Rendering text and labels in WebGL scenes Adding GPU-instanced objects to large Three.js scenes Creating layered timelines or threat-graph style visualizations
- Where can I get troika?
- The source code and installation instructions are on GitHub: https://github.com/protectwise/troika
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A JavaScript/TypeScript 3D game and rendering engine that runs in the browser on WebGL, WebGPU and WebXR.
A fast 2D rendering library for the web that draws graphics, sprites and text with WebGL and WebGPU.
A React renderer for Three.js that lets you build 3D scenes declaratively with JSX components.
A collection of ready-made React helper components and hooks for building 3D scenes with react-three-fiber.
A React wrapper for the postprocessing library that lets react-three-fiber scenes apply post-processing effects declaratively as JSX components.