Sync to upstream Jecs 0.6.1 (#12)

Reviewed-on: #12
This commit is contained in:
marked 2025-06-13 02:11:47 +02:00
parent 753a73882a
commit b69adecc1d
7 changed files with 254 additions and 283 deletions

View file

@ -6,7 +6,7 @@ Install with pesde @ `marked/jecs`
<img src="assets/image-5.png" width=35%/>
</p>
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge)](LICENSE) [![Wally](https://img.shields.io/github/v/tag/ukendio/jecs?&style=for-the-badge)](https://wally.run/package/ukendio/jecs)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge)](LICENSE) [![Wally](https://img.shields.io/github/v/tag/ukendio/jecs?&style=for-the-badge)](https://wally.run/package/ukendio/jecs) [![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ukendio/jecs/unit-testing.yaml?&style=for-the-badge)](https://github.com/Ukendio/jecs/actions/workflows/unit-testing.yaml)
Just a stupidly fast Entity Component System
@ -16,7 +16,22 @@ Just a stupidly fast Entity Component System
- Zero-dependency package
- Optimized for column-major operations
- Cache friendly [archetype/SoA](https://ajmmertens.medium.com/building-an-ecs-2-archetypes-and-vectorization-fe21690805f9) storage
- Rigorously [unit tested](https://github.com/Ukendio/jecs/actions/workflows/ci.yaml) for stability
- Rigorously [unit tested](https://github.com/Ukendio/jecs/actions/workflows/unit-testing.yaml) for stability
### Installation
With [Wally](https://wally.run/):
```bash
jecs = "ukendio/jecs@0.6.0" # Inside wally.toml
```
With [pesde](https://pesde.dev/):
```bash
pesde add wally#ukendio/jecs@0.6.0
```
With [npm](https://www.npmjs.com/package/@rbxts/jecs) ([roblox-ts](https://roblox-ts.com/)):
```bash
npm i @rbxts/jecs
```
### Example
@ -59,6 +74,8 @@ end
-- sara is the child of alice
```
### Benchmarks
21,000 entities 125 archetypes 4 random components queried.
![Queries](assets/image-3.png)
Can be found under /benches/visual/query.luau