0.3.40 • Published 2 years ago

bitecs v0.3.40

Weekly downloads
169
License
MPL-2.0
Repository
github
Last release
2 years 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

2 years ago

0.3.39

2 years ago

0.3.38

3 years ago

0.3.37

3 years ago

0.3.36

3 years ago

0.3.35

3 years ago

0.3.34

3 years ago

0.3.31

4 years ago

0.3.30

4 years ago

0.3.33

4 years ago

0.3.32

4 years ago

0.3.29

4 years ago

0.3.28

4 years ago

0.3.27

4 years ago

0.3.26

4 years ago

0.3.25

4 years ago

0.3.24

4 years ago

0.3.23

4 years ago

0.3.22

4 years ago

0.3.21-10

4 years ago

0.3.21-11

4 years ago

0.3.21-12

4 years ago

0.3.21-13

4 years ago

0.3.21-8

4 years ago

0.3.21-9

4 years ago

0.3.21-7

4 years ago

0.3.21-6

4 years ago

0.3.21-5

4 years ago

0.3.21-4b

4 years ago

0.3.21-4a

4 years ago

0.3.21-4

4 years ago

0.3.21-3a

4 years ago

0.3.21-3

4 years ago

0.3.21-1

4 years ago

0.3.21-2

4 years ago

0.3.21

4 years ago

0.3.20-2

4 years ago

0.3.20-1

4 years ago

0.3.20

4 years ago

0.3.19

4 years ago

0.3.19-1

4 years ago

0.3.18-1

4 years ago

0.3.18

4 years ago

0.3.17-1

4 years ago

0.3.17

4 years ago

0.3.16-5

4 years ago

0.3.16-4

4 years ago

0.3.16-3-alpha1

4 years ago

0.3.16-3

4 years ago

0.3.16-3-alpha

4 years ago

0.3.16-1

4 years ago

0.3.16-2

4 years ago

0.3.16

4 years ago

0.3.15-1

4 years ago

0.3.15

4 years ago

0.3.14

4 years ago

0.3.13

4 years ago

0.3.13-1

4 years ago

0.3.13-4

4 years ago

0.3.13-2

4 years ago

0.3.13-3

4 years ago

0.3.12

4 years ago

0.3.11

4 years ago

0.3.10-3

4 years ago

0.3.10-2

4 years ago

0.3.10-1

4 years ago

0.3.10

4 years ago

0.3.9-3

4 years ago

0.3.9-2

4 years ago

0.3.9

4 years ago

0.3.9-1

4 years ago

0.3.8-a3

4 years ago

0.3.8-a2

4 years ago

0.3.8-a1

4 years ago

0.3.8-a

4 years ago

0.3.8

4 years ago

0.3.7

4 years ago

0.3.2-a1

4 years ago

0.3.2-a2

4 years ago

0.2.27

4 years ago

0.2.26

4 years ago

0.2.25

4 years ago

0.2.24

4 years ago

0.2.23

4 years ago

0.2.22

4 years ago

0.2.21

4 years ago

0.2.20

4 years ago

0.2.19

4 years ago

0.2.18

4 years ago

0.3.0

4 years ago

0.3.6

4 years ago

0.3.5

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.4

4 years ago

0.3.3-a

4 years ago

0.3.3

4 years ago

0.2.30

4 years ago

0.3.3-a1

4 years ago

0.2.31

4 years ago

0.2.29

4 years ago

0.2.28

4 years ago

0.3.2-a

4 years ago

0.2.16

4 years ago

0.2.15

4 years ago

0.2.14

4 years ago

0.2.13

4 years ago

0.2.12

4 years ago

0.2.11

4 years ago

0.2.10

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago