GitHub

Thyseus

Thyseus is an Entity Component System (ECS) framework written in Typescript. Taking much inspiration from Bevy, it aims to provide a best-in-class developer experience without sacrificing performance.

ECS is a data-oriented design approach to development typically found in games that promotes modularity and reusability by separating data and behavior. It consists of entities, which are unique identifiers; components which are plain data; and systems, which operate on data. For a good introduction to the paradigm, read the ECS FAQ by Sander Mertens.

Thyseus is a powerful foundation for you to build your own complex applications on that remains deeply configureable and composeable. It supports a number of features out of the box, including:

  • Effortless integration with third-party libraries like three.js.
  • Archetypal storage for lean memory use and cache-friendly iteration.
  • Complex queries with filters like Maybe, And, Or, With, and Without.
  • First class support for Resources (singletons) and Events.
  • Boilerplate-free and safety-first worker thread support - no eval()!
  • Deeply customizable execution logic for easy handling of patterns like fixed updates.

Let's dive into it!