I’ve reproduced it
const engine = new BABYLON.Engine();
this.scene = new BABYLON.Scene(engine);
and the error is
TypeError: Cannot read property 'trackUbosInFrame' of undefined
at new e (https://preview.babylonjs.com/babylon.js:16:635642)
at t._createUbo (https://preview.babylonjs.com/babylon.js:16:237048)
at new t (https://preview.babylonjs.com/babylon.js:16:226446)
...
I now see that in some specs we construct the Engine without a canvas. We don’t nee a canvas for this spec and for many of the specs. There are no materials involved in the spec. The whole spec after that is
this.scene = new BABYLON.Scene(engine);
this.stepBabylonNode = new BABYLON.Node("node", this.scene);
this.stepBabylonNode.metadata = {
...
};
const node = this.scene.getNodeByID("node")
expect(...that we can read metadata from the node...)
I checked if the constructor for Engine requires a canvas and it is
new Engine(canvasOrContext: Nullable<HTMLCanvasElement | WebGLRenderingContext>,
It is Nullable. It should be possible to pass null?
Thanks.
I would try to reproduce it in playground, I will have to see how to construct an engine there .