vroum
v0.6.12
Published
The initial goal of this library was to provide a way to define reusable components that could be painted on a `canvas` at 60fps.
Downloads
17
Readme
The initial goal of this library was to provide a way to define reusable components that could be painted on a canvas
at 60fps.
It then evolved into something less specific and now tries to provide the following features:
- Abstract specific behaviors by encapsulating them in reusable node classes.
- Connect these nodes as a tree to compose them into more complex behaviors.
- Schedule actions precisely by defining tasks that run on a timed loop.
Example
The following program will run a loop and log the elapsed time at regular intervals.
import { Loop, Task } from "vroum";
class App extends Loop {
build() {
return [LogTask.new()]
}
}
class LogTask extends Task {
delay = 500; // wait 500ms before writing the first log
duration = 1000; // then log on every frame for 1s
repeat = 3; // repeat the log cycles only 3 times
interval = 2000; // but wait 2s inbetween cycles
tick() {
console.log(`${this.Loop.elapsedTime}ms have passed.`)
}
}
App.start();
Installation
Run npm install vroum
to install the library in your project.
You can them import its contents the regular way: import { Node, Task, Loop } from "vroum"
Documentation
The typedoc is accessible at the following address: https://jfalxa.gitlab.io/vroum