presets = {
mutable previousPresetIndex = 0;
return [
{
caption: "Welcome! Click to proceed"
},
{
caption: "Let's explore different versions of this strange world"
},
{
caption: "Small spheres",
sphereRadius: 0.3
},
{
caption: "Tiny spheres",
sphereRadius: 0.1
},
{
caption: "Medium spheres",
sphereRadius: 1.75,
spiralAmplitude: 0
},
{
caption: "Touching spheres, retracting to reveal the next layer",
sphereRadius: 2.5,
spiralAmplitude: 0
},
{
caption: "Intersecting a little",
sphereRadius: 3,
spiralAmplitude: 0
},
{
caption: "Intersecting a bit more",
sphereRadius: 2.5 * Math.sqrt(2) * 0.95,
spiralAmplitude: 0
},
{
caption: "Overlapping the view centerline",
sphereRadius: 5,
spiralAmplitude: 0
},
{
caption: "Overlapping even more, and we're spiralling again",
sphereRadius: 10
},
{
caption: "Very large spheres, heavily overlapping",
sphereRadius: 20.0
},
{
caption: "Default sphere size again, spiralling more",
spiralAmplitude: 25
},
{
caption: "Fast forward",
forwardSpeed: 25,
spiralAmplitude: 0.3,
rollSpeed: 2
},
{
caption: "Reduced ray march iteration count gives a metablob-like effect",
maxSteps: 20
},
{
caption: "Reducing max iteration count too far",
maxSteps: 10
},
{
caption: "Much too far",
maxSteps: 6
},
{
caption: "Seemingly moving, but actually static",
spiralAmplitude: 0,
forwardSpeed: 0,
rollSpeed: 0,
colorCycleSpeed: 10
},
{
caption: "Thanks for watching! The End",
forwardSpeed: -10,
spiralAmplitude: 0,
colorCycleSpeed: 0,
rollSpeed: 0,
colorAmplitude: 0,
apertureAmplitude: 0
}
];
}