UPDATE: 2021-08-16
project currently on hiatus, if you're looking for a typescript ECS I'd recommend https://github.com/3mcd/javelin
An Entity-Component System (ecs) library written in Typescript.
Dreki aims to offer a minimal, intuitive & modern ecs with good-enough performance. The main focus is not to offer the fastest ecs, but rather a library that is easy to work with & integrate with existing game-related web frameworks (eg. three.js, babylon.js etc.).
The API & many design choices is greatly inspired by bevy-ecs.
TODO
dreki | Core Entity-Component System library |
@dreki.land/3d | A 3D plugin created with three.js & rapier |
@dreki.land/shared | Shared utilities (types, funcs, data-structures etc.) used within dreki |
See README@dreki for more details.
-
Install pnpm.
npm i -g pnpm
-
Install project dependencies.
pnpm i
-
Build packages
pnpm build
The project uses changesets for version control & changelog generation.
Read Using Changesets with pnpm before using changesets commands.
To create a new changelog, run pnpm changeset
and follow the prompts.
The Changesets GitHub action will create and update a PR that applies changesets and publishes new versions of changed packages to npm when merged.
New packages that are scoped to @dreki.land
has to initially be manually published by running this from the package directory:
npm publish --access=publish