function finalScene (p) {
p = add(p, [0, -1, -2.2]);
const rotY = 0.3;
p[1] = Math.cos(rotY) * p[1] + Math.sin(rotY) * p[2];
p[2] = -Math.sin(rotY) * p[1] + Math.cos(rotY) * p[2];
p[0] += 0.02 * Math.cos(8 * p[1] + 3 * p[2]);
p[1] += 0.02 * Math.sin(6 * p[2] + 7 * p[0]);
p[2] += 0.02 * Math.cos(8 * p[0] + 9 * p[0]);
p = opRep(p, [ 10, 14, 4 ]);
const sphere = sdSphere(p, 0.7);
p = add(p, [0, 0.8, 0]);
const cylinder = sdCappedCylinder(p, [0.4, 0.5]);
const shape = smin(sphere, cylinder, 0.5);
return shape
}