4 up · Śiva5 down · Śakti
@@ -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()};