ECSY — легковесный ECS фреймворк для JavaScript
Команда, работающая над A-Frame Mixed Reality, опубликовала ECSY - легковесный экспериментальный Entity Component System фреймворк для JavaScript.
Особенности:
- Не завязан на конкретный фреймворк.
- Ориентирован на предоставление простого, но эффективного API.
- Разработан с идеей сократить нагрузку на сборщик мусора.
- Системы, сущности и компоненты находятся в инстансе world.
- Несколько запросов на систему.
- Реактивный.
- Предсказуемость:
- - Системы работают в порядке регистрации или на основе заданного при регистрации приоритета.
- - Реактивные события не будут генерировать случайные колбеки при вызове, но будут поставлены в очередь и будут обрабатываться по порядку.
- Современный Javascript: ES6, классы, модули, ...
- Пул для компонентов и сущностей.
Распространяется по MIT лицензии, весь код на гитхабе.
Примеры:
- three.js: https://ecsy.io/examples/ball-example/three.
- babylon: https://ecsy.io/examples/ball-example/babylon.
- 2D Canvas https://ecsy.io/examples/canvas.
- Factory pattern with Not operator: https://ecsy.io/examples/factory.
- System state component example: https://ecsy.io/examples/systemstate.
Более подробно можно почитать в анонсе Mozilla.
34 комментария