});
window.addEventListener("load", function () {
+ // Mesh viewing
async function loadObj(modelName) {
const mtlLib = await (new THREE.MTLLoader()).setPath("/assets/meshes/").setResourcePath("/assets/meshes/").loadAsync(modelName + ".mtl");
mtlLib.preload();
return await (new THREE.OBJLoader()).setPath("/assets/meshes/").setResourcePath("/assets/meshes/").setMaterials(mtlLib).loadAsync(modelName + ".obj");
}
- // Mesh viewing
const canvases = document.getElementsByTagName("canvas");
for (const canvas of canvases) {
const modelName = canvas.getAttribute("data-model");
});
window.addEventListener("load", function () {
- // Comment editing and deleting
+ // Comment editing
const commentEditLinks = document.getElementsByClassName("comment-edit-link");
for (const commentEditLink of commentEditLinks) {
commentEditLink.onclick = e => {