I stumbled on another library to get inspiration from today: SceneJS (and xeoEngine, which I think builds on top of SceneJS). Notes:
- It’s WebGL only
- has an interesting API feature where scenes are created declaratively with JSON
- has a plugin system.
- Can set the FPS on a per-scene basis.
- Uses event system for everything, so creating an update loop is like the following:
let node = scene.getNode('nodeId') scene.on('tick', function() { node.setAngle(node.getAngle() + 0.5) })