|  |  | @@ -16,6 +16,12 @@ let entityX; | 
		
	
		
			
			|  |  |  | let canvasWidth; | 
		
	
		
			
			|  |  |  | let canvasHeight; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let dragScale = 1; | 
		
	
		
			
			|  |  |  | let dragScaleHandle = null; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let dragEntityScale = 1; | 
		
	
		
			
			|  |  |  | let dragEntityScaleHandle = null; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | const unitChoices = { | 
		
	
		
			
			|  |  |  | length: [ | 
		
	
		
			
			|  |  |  | "meters", | 
		
	
	
		
			
				|  |  | @@ -358,6 +364,7 @@ function deselect() { | 
		
	
		
			
			|  |  |  | clearViewList(); | 
		
	
		
			
			|  |  |  | clearEntityOptions(); | 
		
	
		
			
			|  |  |  | clearViewOptions(); | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-entity-scale").style.display = "none"; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function select(target) { | 
		
	
	
		
			
				|  |  | @@ -372,6 +379,7 @@ function select(target) { | 
		
	
		
			
			|  |  |  | configViewList(selectedEntity, selectedEntity.view); | 
		
	
		
			
			|  |  |  | configEntityOptions(selectedEntity, selectedEntity.view); | 
		
	
		
			
			|  |  |  | configViewOptions(selectedEntity, selectedEntity.view); | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-entity-scale").style.display = "block"; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function configViewList(entity, selectedView) { | 
		
	
	
		
			
				|  |  | @@ -859,9 +867,67 @@ window.onfocus = function () { | 
		
	
		
			
			|  |  |  | window.dispatchEvent(new Event("keydown")); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function doSliderScale() { | 
		
	
		
			
			|  |  |  | setWorldHeight(config.height, math.multiply(config.height, (9 + sliderScale) / 10)); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function doSliderEntityScale() { | 
		
	
		
			
			|  |  |  | if (selected) { | 
		
	
		
			
			|  |  |  | console.log(selected) | 
		
	
		
			
			|  |  |  | entities[selected.dataset.key].scale *= (9 + sliderEntityScale) / 10; | 
		
	
		
			
			|  |  |  | updateSizes(); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.addEventListener("DOMContentLoaded", () => { | 
		
	
		
			
			|  |  |  | prepareEntities(); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-scale").addEventListener("mousedown", e => { | 
		
	
		
			
			|  |  |  | dragScaleHandle = setInterval(doSliderScale, 50); | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-scale").addEventListener("touchstart", e => { | 
		
	
		
			
			|  |  |  | dragScaleHandle = setInterval(doSliderScale, 50); | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-scale").addEventListener("input", e => { | 
		
	
		
			
			|  |  |  | const val = Number(e.target.value); | 
		
	
		
			
			|  |  |  | if (val < 1) { | 
		
	
		
			
			|  |  |  | sliderScale = (val + 1) / 2; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | sliderScale = val; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-scale").addEventListener("change", e => { | 
		
	
		
			
			|  |  |  | clearInterval(dragScaleHandle); | 
		
	
		
			
			|  |  |  | dragScaleHandle = null; | 
		
	
		
			
			|  |  |  | e.target.value = 1; | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-entity-scale").addEventListener("mousedown", e => { | 
		
	
		
			
			|  |  |  | dragEntityScaleHandle = setInterval(doSliderEntityScale, 50); | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-entity-scale").addEventListener("touchstart", e => { | 
		
	
		
			
			|  |  |  | dragEntityScaleHandle = setInterval(doSliderEntityScale, 50); | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-entity-scale").addEventListener("input", e => { | 
		
	
		
			
			|  |  |  | const val = Number(e.target.value); | 
		
	
		
			
			|  |  |  | if (val < 1) { | 
		
	
		
			
			|  |  |  | sliderEntityScale = (val + 1) / 2; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | sliderEntityScale = val; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#slider-entity-scale").addEventListener("change", e => { | 
		
	
		
			
			|  |  |  | clearInterval(dragEntityScaleHandle); | 
		
	
		
			
			|  |  |  | dragEntityScaleHandle = null; | 
		
	
		
			
			|  |  |  | e.target.value = 1; | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | const sceneChoices = document.querySelector("#scene-choices"); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Object.entries(scenes).forEach(([id, scene]) => { | 
		
	
	
		
			
				|  |  | 
 |