Shared libraries
There are shared Javascript libraries used by various modules available in interpretate.shared
object.
Here is an example with THREE.js used by Graphics3D
.js
const dom = document.createElement('div');
let animation;
async function buildScene() {
await interpretate.shared.THREE.load(); //here
const THREE = interpretate.shared.THREE.THREE;
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera( 25, window.innerWidth / window.innerHeight, 0.1, 1000 );
const renderer = new THREE.WebGLRenderer();
renderer.setSize( 400, 300);
dom.appendChild( renderer.domElement );
const geometry = new THREE.BoxGeometry( 1, 1, 1 );
const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
const cube = new THREE.Mesh( geometry, material );
scene.add( cube );
camera.position.z = 5
function animate() {
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render( scene, camera );
animation = requestAnimationFrame(animate);
}
animate();
}
this.ondestroy = () => {
cancelAnimationFrame(animation);
console.log('removed');
}
buildScene();
return dom;