Installation
Option 1: With NPM and build tools
Install including requried peer dependecies:
npm i three eventemitter3 @vladkrutenyuk/three-kvy-core
Import and use like that:
import * as THREE from "three";
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
import * as KVY from "@vladkrutenyuk/three-kvy-core";
const ctx = KVY.CoreContext.create(THREE);
const mesh = new THREE.Mesh(new THREE.BoxGeometry(), new THREE.MeshNormalMaterial());
ctx.root.add(mesh);
const controls = new OrbitControls(ctx.three.camera, ctx.three.renderer.domElement);
ctx.three.mount(document.querySelector("#canvas-container"));
ctx.run();
Option 2: Without build tools
For example, using browser-ready ES Modules from esm.sh.
import * as THREE from "https://esm.sh/three/build/three.module.min.js";
import { OrbitControls } from "https://esm.sh/three/addons/controls/OrbitControls.js";
import * as KVY from "https://esm.sh/@vladkrutenyuk/three-kvy-core";
const ctx = KVY.CoreContext.create(THREE);
const controls = new OrbitControls(ctx.three.camera, ctx.three.renderer.domElement);