ecsly 0.0.1-dev.2
ecsly: ^0.0.1-dev.2 copied to clipboard
Experimental ECS core for Dart/Flutter (early prerelease).
ECS (Entity Component System) for Dart/Flutter #
⚠️ This package is published as super-experimental prerelease (0.0.1-dev.2).
APIs are actively changing and may break across releases.
ecsly is a high-performance Dart ECS runtime focused on deterministic simulation and low-GC hot loops. It provides schedules, plugins, isolation-friendly components, and typed-column world storage.
Install #
Add to pubspec.yaml:
dependencies:
ecsly: ^0.0.1-dev.2
Import path:
import 'package:ecsly/ecsly.dart';
Quick Start #
final world = World();
world.createSchedule('Update').add(movementSystem);
final entity = world.entities.create();
final entityExt = world.getEntityExtension(entity);
entityExt.create<PositionComponent, Position>()
..x = 0
..y = 1;
entityExt.create<VelocityComponent, Velocity>()
..dx = 1
..dy = 1;
world.runSchedule('Update');
world.flush();
What this package is and is not #
- ✅ Core runtime package: schedules, entities, archetypes, resources, events, plugin install flow.
- ✅ Optimized for hot paths with
dart:typed_datacolumns and compact identifiers. - ❌ Not code generation:
ecs_codegenis a separate package. - ❌ Not a single all-in-one app stack: advanced graphics/input/collision are in plugin packages.
For code generation, add ecs_codegen and tooling dependencies only in packages that define annotated components.
Documentation for users #
- DX_FAQ.md — API how-to, usage patterns, and examples.
- DESIGN_FAQ.md — Design rationale and trade-offs.
- Autogenerated API docs — Public API reference.
- CHANGELOG.md — Pre-release changes and release notes.
- Package page — Release metadata and changelog links.
Package Structure #
core_packages/ecs/— Runtime core implementation.plugins/ecs_plugins/— Framework-agnostic plugins.plugins/ecs_flutter_plugins/— Flutter-specific plugin examples and integration.
Acknowledgements #
ecsly is built on top of many years of open ecosystem work. We are grateful for the foundational ideas and practical lessons from
Bevy, EnTT, and many other ECS, Dart/Flutter, and simulation contributors.
Their work helped shape our own design choices.
API Stability and expectations #
This is an early prerelease package. The maintainers prioritize experimental velocity over strict API stability, so consumers should pin versions carefully and review the changelog before upgrading.