• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

excaliburjs / Excalibur / 7619756988
89%

Build:
DEFAULT BRANCH: main
Ran 23 Jan 2024 01:35AM UTC
Jobs 1
Files 202
Run time 43s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jan 2024 01:31AM UTC coverage: 91.314% (-0.08%) from 91.397%
7619756988

push

github

web-flow
refactor: New ECS simplification (#2900)

This PR includes the new ECS simplification to remove the "stringly" typed components/systems. 

- New simplified way to query entities `ex.World.query([MyComponentA, MyComponentB])`;
- New way to query for tags on entities `ex.World.queryTags(['A', 'B'])`
- Systems can be added as a constructor to a world, if they are the world will construct and pass a world instance to them
  ```typescript
  world.add(MySystem);
  ...

  class MySystem extends System {
    query: Query;
    constructor(world: World) {
      super()
      this.query = world.query([MyComponent]);
    }

    update(elapsed) {
      for (const entity of this.query.entities) {
        // do stuff
      }
    }
  }
  
  ```

- ECS implementation has been updated to remove the "stringly" typed nature of components & systems
  * For average users of Excalibur folks shouldn't notice any difference
  * For folks leveraging the ECS, Systems/Components no longer have type parameters based on strings. The type itself is used to track changes.
  * `class MySystem extends System<'ex.component'>` becomes `class MySystem extends System`
  * `class MyComponent extends Component<'ex.component'>` becomes `class MyComponent extends Component`
  * `ex.System.update(elapsedMs: number)` is only passed an elapsed time

4975 of 6264 branches covered (0.0%)

11164 of 12226 relevant lines covered (91.31%)

26943.94 hits per line

Jobs
ID Job ID Ran Files Coverage
1 7619756988.1 23 Jan 2024 01:35AM UTC 0
91.31
GitHub Action Run
Source Files on build 7619756988
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #7619756988
  • 8f4d9901 on github
  • Prev Build on main (#7602741209)
  • Next Build on main (#7619756975)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc