ecsly 0.0.1-dev.2 copy "ecsly: ^0.0.1-dev.2" to clipboard
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_data columns and compact identifiers.
  • ❌ Not code generation: ecs_codegen is 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.

1
likes
0
points
0
downloads

Publisher

unverified uploader

Weekly Downloads

Experimental ECS core for Dart/Flutter (early prerelease).

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

directed_graph, from_json_to_json, meta

More

Packages that depend on ecsly