Lift slider runs from 0 to infinity

This commit is contained in:
teahubxyz committed 2026-10-23 19:54:28 +00:00
1 parent 94a5a0e723
commit 4954d42534
1 file changed
+3 -3
+3 -3
View File
@@ -58,7 +58,7 @@ input[type=range]{width:100%;accent-color:var(--down)}
<button id="t-spin" aria-pressed="true">auto-spin</button>
</div>
</div>
<label class="sl" for="lift">lift <input id="lift" type="range" min="-1.3" max="4" step="0.01" value="0"> <span class="val" id="liftv">1.00</span></label>
<label class="sl" for="lift">lift <input id="lift" type="range" min="-3" max="4" step="0.01" value="0"> <span class="val" id="liftv">1.00</span></label>
<div class="row">
<span class="chip"><span class="dot" style="background:var(--up)"></span>4 up · Śiva</span>
<span class="chip"><span class="dot" style="background:var(--down)"></span>5 down · Śakti</span>
@@ -135,7 +135,7 @@ function build(){
document.getElementById('note').textContent=(!showSphere?'The plane on its own: the yantra and its inversion in the outer circle. ':'')+(mode==='stereo'
?'Straight sides lift to circles through the top pole. Concurrences are kept exactly; only curvature changes.'
:'Straight sides lift to great circles (central projection), the Kulaichev–Rao spherical form. Lift → 0 is the flat limit.')
+` Yantra rim at ${deg.toFixed(1)}° from the bindu pole.`+(mode==='stereo'&&lift>1e6?' The rim has closed onto the north pole: 0 and ∞ hold the bindu and its dual.':'')+(mode!=='stereo'&&lift>20?' Great circles cap at the equator; switch to stereographic to reach the north pole.':'');
+` Yantra rim at ${deg.toFixed(1)}° from the bindu pole.`+(lift===0?' At zero lift the whole yantra shrinks into the bindu at the south pole, and its inverse fills the rest of the sphere.':'')+(mode==='stereo'&&lift>1e6?' The rim has closed onto the north pole: 0 and ∞ hold the bindu and its dual.':'')+(mode!=='stereo'&&lift>20?' Great circles cap at the equator; switch to stereographic to reach the north pole.':'');
}
function resize(){renderer.setSize(W(),H());cam.aspect=W()/H();cam.updateProjectionMatrix()}
addEventListener('resize',resize);resize();build();
@@ -150,7 +150,7 @@ $('t-sphere').onclick=e=>{showSphere=!showSphere;e.currentTarget.setAttribute('a
$('t-inv').onclick=e=>{showInv=!showInv;e.currentTarget.setAttribute('aria-pressed',showInv);build()};
$('t-plane').onclick=e=>{showPlane=!showPlane;e.currentTarget.setAttribute('aria-pressed',showPlane);build()};
$('t-spin').onclick=e=>{ctl.autoRotate=!ctl.autoRotate;e.currentTarget.setAttribute('aria-pressed',ctl.autoRotate)};
$('lift').oninput=e=>{const v=+e.target.value;lift=v>=3.99?1e7:Math.pow(10,v);$('liftv').textContent=v>=3.99?'∞':(lift<10?lift.toFixed(2):lift.toFixed(0));build()};
$('lift').oninput=e=>{const v=+e.target.value;lift=v>=3.99?1e7:v<=-2.99?0:Math.pow(10,v);$('liftv').textContent=v>=3.99?'∞':v<=-2.99?'0':(lift<0.01?lift.toFixed(3):lift<10?lift.toFixed(2):lift.toFixed(0));build()};
</script>
</body>
</html>