pasviegas / pyro

A linear Entity Component System

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pyro

A linear Entity Component System

LICENSE LICENSE Documentation Crates.io Version

Overview

Pyro is a tiny, fast and documented Entity Component System. It provides a basic features set as:

  • Iterating over entities and components
  • Adding and removing entities
  • Tracks which handles are valid

The intention is to have a minimal set of features that can be built upon.

Implementation details

  • Iteration is always linear.
  • Different component combinations live in a separate storage
  • Removing entities does not create holes.
  • All operations are designed to be used in bulk.
  • Borrow rules are enforced at runtime.
  • Entity is using a wrapping generational index.

Benchmarks

bench defense

ecs_bench

About

A linear Entity Component System

License:MIT License


Languages

Language:Rust 100.0%