1parametric
2    A :: slider[0,50] = tau*4;
3    B :: slider[0,25] = tau*2;
4in
5// Mesh export: 'curv -o obj -O vsize=.2', then simplify to 300,000 triangles
6gyroid
7>> shell .75 >> lipschitz 2
8>> set_bbox [[-tau*5, -inf, -inf], [tau*6, 0, inf]]
9>> bend {d:0}
10>> into (smooth .375 .intersection) [torus {major: A, minor: B}]
11>> colour (sRGB.HSV [1/3, 1, .65])
12>> scale 2 // nice size for 3D printing
13