app
Base Scaffold Control Panel
Public Made by Adomby adom
The Base Scaffold System's control panel: electrical specifications and the connect/disconnect interface between a base scaffold and the workcell ecosystem.
← Commit history
3D viewers: brighter studio-matched lighting
2 files changed
+6−6
docs/3d-scaffold.html+3−3@@ -30,8 +30,8 @@ const scene=new THREE.Scene(); const bg=document.createElement('canvas');bg.width=2;bg.height=256;const bx=bg.getContext('2d'); const gr=bx.createLinearGradient(0,0,0,256);gr.addColorStop(0,'#1e2a3d');gr.addColorStop(.2,'#1e2a3d');gr.addColorStop(1,'#0a121f'); bx.fillStyle=gr;bx.fillRect(0,0,2,256);scene.background=new THREE.CanvasTexture(bg);-scene.add(new THREE.HemisphereLight(0xddeeff,0x222428,1.15));scene.add(new THREE.AmbientLight(0xffffff,.7));-const key=new THREE.DirectionalLight(0xfff0d8,1);key.position.set(.5,1,.8);scene.add(key);+scene.add(new THREE.HemisphereLight(0xdfeeff,0x2a3040,2.1));scene.add(new THREE.AmbientLight(0xffffff,1.15));+const key=new THREE.DirectionalLight(0xfff0d8,1.9);key.position.set(.6,1,.8);scene.add(key);const fill=new THREE.DirectionalLight(0xa8c8ff,0.9);fill.position.set(-.7,.4,.6);scene.add(fill); const bottomLight=new THREE.DirectionalLight(0xbfd7ff,0);bottomLight.position.set(0,-1,.2);scene.add(bottomLight); const camera=new THREE.PerspectiveCamera(35,innerWidth/innerHeight,.001,100); const controls=new OrbitControls(camera,renderer.domElement);controls.enableDamping=true;controls.zoomToCursor=true;@@ -51,7 +51,7 @@ try{ const animBtn=document.getElementById('anim'); animBtn.onclick=()=>{animOn=!animOn;animBtn.classList.toggle('on',animOn);animBtn.textContent=animOn?'Animation on':'Animation off';}; const bottomBtn=document.getElementById('bottom');-bottomBtn.onclick=()=>{const on=bottomLight.intensity===0;bottomLight.intensity=on?.9:0;bottomBtn.classList.toggle('on',on);};+bottomBtn.onclick=()=>{const on=bottomLight.intensity===0;bottomLight.intensity=on?1.4:0;bottomBtn.classList.toggle('on',on);}; function frame(){requestAnimationFrame(frame);if(mixer&&animOn)mixer.update(clock.getDelta());else clock.getDelta();controls.update();renderer.render(scene,camera);} frame(); addEventListener('resize',()=>{renderer.setSize(innerWidth,innerHeight);camera.aspect=innerWidth/innerHeight;camera.updateProjectionMatrix();});
docs/3d-workcell.html+3−3@@ -30,8 +30,8 @@ const scene=new THREE.Scene(); const bg=document.createElement('canvas');bg.width=2;bg.height=256;const bx=bg.getContext('2d'); const gr=bx.createLinearGradient(0,0,0,256);gr.addColorStop(0,'#1e2a3d');gr.addColorStop(.2,'#1e2a3d');gr.addColorStop(1,'#0a121f'); bx.fillStyle=gr;bx.fillRect(0,0,2,256);scene.background=new THREE.CanvasTexture(bg);-scene.add(new THREE.HemisphereLight(0xddeeff,0x222428,1.15));scene.add(new THREE.AmbientLight(0xffffff,.7));-const key=new THREE.DirectionalLight(0xfff0d8,1);key.position.set(.5,1,.8);scene.add(key);+scene.add(new THREE.HemisphereLight(0xdfeeff,0x2a3040,2.1));scene.add(new THREE.AmbientLight(0xffffff,1.15));+const key=new THREE.DirectionalLight(0xfff0d8,1.9);key.position.set(.6,1,.8);scene.add(key);const fill=new THREE.DirectionalLight(0xa8c8ff,0.9);fill.position.set(-.7,.4,.6);scene.add(fill); const bottomLight=new THREE.DirectionalLight(0xbfd7ff,0);bottomLight.position.set(0,-1,.2);scene.add(bottomLight); const camera=new THREE.PerspectiveCamera(35,innerWidth/innerHeight,.001,100); const controls=new OrbitControls(camera,renderer.domElement);controls.enableDamping=true;controls.zoomToCursor=true;@@ -51,7 +51,7 @@ try{ const animBtn=document.getElementById('anim'); animBtn.onclick=()=>{animOn=!animOn;animBtn.classList.toggle('on',animOn);animBtn.textContent=animOn?'Animation on':'Animation off';}; const bottomBtn=document.getElementById('bottom');-bottomBtn.onclick=()=>{const on=bottomLight.intensity===0;bottomLight.intensity=on?.9:0;bottomBtn.classList.toggle('on',on);};+bottomBtn.onclick=()=>{const on=bottomLight.intensity===0;bottomLight.intensity=on?1.4:0;bottomBtn.classList.toggle('on',on);}; function frame(){requestAnimationFrame(frame);if(mixer&&animOn)mixer.update(clock.getDelta());else clock.getDelta();controls.update();renderer.render(scene,camera);} frame(); addEventListener('resize',()=>{renderer.setSize(innerWidth,innerHeight);camera.aspect=innerWidth/innerHeight;camera.updateProjectionMatrix();});