 // }
 
 vec2 opU(vec2 d1, vec2 d2) {
-  return (d1.x<d2.x) ? d1 : d2;
+  return d1.x<d2.x ? d1 : d2;
 }
 
 // float sdPlane(vec3 p) {

    // return vec2(sdPlasmaSphere(p, 0.5), hue);
    vec2(length(p)-.5 + plasma * sin(a / 100.0), sin(plasma) * 100. + a),
    // plane
    vec2(p.y + .5, 0.)
  );

  /* ---------- DEBUGGING ---------- */

    // castRay(ro, rd)
    float tmin = .2;
    float mat = -1.;
    for( float i=-32.; i<32.; i++ ) { // 64 = maxIterations
      vec2 rayRes = map( ro+rd*tmin );
      //float precis = .000001*tmin;
      //if( rayRes.x<precis) break; // TODO: nice optimisation, but eats space
