The collaborative 3D HTML5 game maker
- Node.js version 24 or higher
- pnpm v12+ for workspaces (the repository pins it through the
packageManagerfield)
Click on one of the links to access the documentation of the package;
- @jolly-pixel/engine - Entity Component System (ECS)
- @jolly-pixel/controls - Input controls (Screen, Mouse, Touchpad, Keyboard, Gamepad)
- @jolly-pixel/loop - Frame scheduling and time primitives (FrameScheduler, GameLoop)
- @jolly-pixel/runtime - Browser/Electron runtime
- @jolly-pixel/asset - Platform-agnostic asset references and loading orchestration
We provide agnostic renderers and engines (often used by our editors below):
- @jolly-pixel/voxel.renderer - Voxel Engine
- @jolly-pixel/pixel-draw.renderer - Pixel Art Canvas API
- @jolly-pixel/event-store - Append-only log (Event Sourcing pattern)
- @jolly-pixel/network - Shared wire for multiplayer editors
- @jolly-pixel/asset-server - Back-end asset orchestration: event-sourced projection, reconciliation and catalog delivery
- @jolly-pixel/asset-source - Physical asset storage
- @jolly-pixel/studio - One project, its assets and one editor per tab
- @jolly-pixel/ui - Design System (declarative UI components + Facade API)
- @jolly-pixel/arbor - Stylable tree view widget with drag'n'drop support
- @jolly-pixel/resize-handle - Resize handles / splitters
- @jolly-pixel/three - Three.js utilities (Grid, Frustum, ...)
- @jolly-pixel/color - Color utilities (Parsing, Palettes, Color Spaces, Color Conversions ...)
- @jolly-pixel/bench - Shared benchmarking harness and CLI
- @jolly-pixel/e2e - Shared Playwright config, locators and editor fixtures for e2e suites
- @jolly-pixel/image - PNG codecs and browser raster decoding
- Editor Host: Shared launch, session and runtime boot for JollyPixel editors
- Voxel Map: 3D Voxel Terrain editor
- Voxel Model: Low-poly/voxel 3D model editor
- Pixel Art: 2D Pixel-Art texturing editor
These packages are available in the Node Package Repository and can be easily installed with npm or yarn.
$ npm i @jolly-pixel/engine
# or
$ yarn add @jolly-pixel/engineTo install and compile all workspaces, just run the following command at the root
$ pnpm install
$ pnpm run buildRun tests for one workspace, then run the repository type checks:
$ pnpm --filter <workspace> test
$ pnpm run typecheckRunning ESLint for all workspaces
$ pnpm run lintEach packages has his own prepublishOnly to build TypeScript source before publishing.
$ pnpm publish --filter <workspace>Thanks goes to these wonderful people (emoji key):
Thomas.G 💻 📖 🐛 |
Alexandre Malaj 💻 📖 🐛 |
PierreDemailly 💻 |
Clement Gombauld 💻 |
MIT