0.3.40 ā€¢ Published 9 months ago

bitecs v0.3.40

Weekly downloads
169
License
MPL-2.0
Repository
github
Last release
9 months ago

āœØ Features

šŸ”® Simple, declarative APIšŸ”„ Blazing fast iteration
šŸ” Powerful & performant queriesšŸ’¾ Serialization included
šŸƒ Zero dependenciesšŸŒ Node or browser
šŸ¤ ~5kb minzippedšŸ· TypeScript support
ā¤ Made with lovešŸ”ŗ glMatrix support

šŸ“ˆ Benchmarks

noctjs/ecs-benchmarkddmills/js-ecs-benchmarks

šŸ’æ Install

npm i bitecs

šŸ“˜ Documentation

šŸ Getting Started
šŸ“‘ API
ā” FAQ
šŸ› Tutorial

šŸ•¹ Example

import {
  createWorld,
  Types,
  defineComponent,
  defineQuery,
  addEntity,
  addComponent,
  pipe,
} from 'bitecs'

const Vector3 = { x: Types.f32, y: Types.f32, z: Types.f32 }
const Position = defineComponent(Vector3)
const Velocity = defineComponent(Vector3)

const movementQuery = defineQuery([Position, Velocity])

const movementSystem = (world) => {
  const { time: { delta } } = world
  const ents = movementQuery(world)
  for (let i = 0; i < ents.length; i++) {
    const eid = ents[i]
    Position.x[eid] += Velocity.x[eid] * delta
    Position.y[eid] += Velocity.y[eid] * delta
    Position.z[eid] += Velocity.z[eid] * delta
  }
  return world
}

const timeSystem = world => {
  const { time } = world
  const now = performance.now()
  const delta = now - time.then
  time.delta = delta
  time.elapsed += delta
  time.then = now
  return world
}

const pipeline = pipe(movementSystem, timeSystem)

const world = createWorld()
world.time = { delta: 0, elapsed: 0, then: performance.now() }

const eid = addEntity(world)
addComponent(world, Position, eid)
addComponent(world, Velocity, eid)
Velocity.x[eid] = 1.23
Velocity.y[eid] = 1.23

setInterval(() => {
  pipeline(world)
}, 16)

šŸ”Œ Powering

0.3.40

9 months ago

0.3.39

9 months ago

0.3.38

2 years ago

0.3.37

2 years ago

0.3.36

2 years ago

0.3.35

2 years ago

0.3.34

2 years ago

0.3.31

2 years ago

0.3.30

2 years ago

0.3.33

2 years ago

0.3.32

2 years ago

0.3.29

3 years ago

0.3.28

3 years ago

0.3.27

3 years ago

0.3.26

3 years ago

0.3.25

3 years ago

0.3.24

3 years ago

0.3.23

3 years ago

0.3.22

3 years ago

0.3.21-10

3 years ago

0.3.21-11

3 years ago

0.3.21-12

3 years ago

0.3.21-13

3 years ago

0.3.21-8

3 years ago

0.3.21-9

3 years ago

0.3.21-7

3 years ago

0.3.21-6

3 years ago

0.3.21-5

3 years ago

0.3.21-4b

3 years ago

0.3.21-4a

3 years ago

0.3.21-4

3 years ago

0.3.21-3a

3 years ago

0.3.21-3

3 years ago

0.3.21-1

3 years ago

0.3.21-2

3 years ago

0.3.21

3 years ago

0.3.20-2

3 years ago

0.3.20-1

3 years ago

0.3.20

3 years ago

0.3.19

3 years ago

0.3.19-1

3 years ago

0.3.18-1

3 years ago

0.3.18

3 years ago

0.3.17-1

3 years ago

0.3.17

3 years ago

0.3.16-5

3 years ago

0.3.16-4

3 years ago

0.3.16-3-alpha1

3 years ago

0.3.16-3

3 years ago

0.3.16-3-alpha

3 years ago

0.3.16-1

3 years ago

0.3.16-2

3 years ago

0.3.16

3 years ago

0.3.15-1

3 years ago

0.3.15

3 years ago

0.3.14

3 years ago

0.3.13

3 years ago

0.3.13-1

3 years ago

0.3.13-4

3 years ago

0.3.13-2

3 years ago

0.3.13-3

3 years ago

0.3.12

3 years ago

0.3.11

3 years ago

0.3.10-3

3 years ago

0.3.10-2

3 years ago

0.3.10-1

3 years ago

0.3.10

3 years ago

0.3.9-3

3 years ago

0.3.9-2

3 years ago

0.3.9

3 years ago

0.3.9-1

3 years ago

0.3.8-a3

3 years ago

0.3.8-a2

3 years ago

0.3.8-a1

3 years ago

0.3.8-a

3 years ago

0.3.8

3 years ago

0.3.7

3 years ago

0.3.2-a1

3 years ago

0.3.2-a2

3 years ago

0.2.27

3 years ago

0.2.26

3 years ago

0.2.25

3 years ago

0.2.24

3 years ago

0.2.23

3 years ago

0.2.22

3 years ago

0.2.21

3 years ago

0.2.20

3 years ago

0.2.19

3 years ago

0.2.18

3 years ago

0.3.0

3 years ago

0.3.6

3 years ago

0.3.5

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.4

3 years ago

0.3.3-a

3 years ago

0.3.3

3 years ago

0.2.30

3 years ago

0.3.3-a1

3 years ago

0.2.31

3 years ago

0.2.29

3 years ago

0.2.28

3 years ago

0.3.2-a

3 years ago

0.2.16

3 years ago

0.2.15

3 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago