
Who it is for
Anyone who has seen the viral spinning sphere and wants to push on it: students of perception, designers after a looping visual, people who want to make a clip to share.
How it works
The page drives a copy of three.js (revision 128) that it hosts itself; the script’s header records that it was moved off a CDN. The fifty versions are generated deterministically: each index seeds a sine hash that sets particle count, layers, particle size, radius, colour mode, opacity, speed, camera distance, field of view and the speed factor between layers. Version 27 is therefore the same sphere for everyone, and it can be linked as #v=27.
Colour is assigned per shell rather than per particle, on purpose: it hands the eye a second cue, hue as well as depth, so the flip can be triggered deliberately. The paper and dark skins have palettes of their own, one of them in labs.llc’s own inks. Every setting is a live control — speed, auto-reverse (0–20 s), particle count (150–4,000), layers (1–5), size, radius, opacity, camera distance and field of view — and the keyboard steps versions with the arrows, reverses with R, pauses with Space and jumps at random with G.
Two details show care. A visitor whose system asks for reduced motion finds the lab paused, with a line saying why and a button to start anyway. On a phone the fifty-version browser becomes a bottom sheet instead of vanishing. Stills are the canvas saved as PNG, named with the version number; clips are the canvas recorded at 30 frames a second as WebM.
What we tested
All times are UTC on 27 September 2026, measured against a copy of labs.llc build 537 served from our own machine, or against the public source the page itself calls.
- Page and scripts, locallyPage 200, 60,271 bytes; lab.js 43,956 bytes; three.min.js 603,445 bytes — the renderer is about ten times the size of the lab.
- The version generator, run outside the page50 versions; 251 to 2,324 particles; 1 to 5 layers; 12 parameters each; eight colour modes, from galaxy (9 versions) to mono and pastel (5 each).
We ran lines 35–53 of lab.js in macOS’s JavaScriptCore. That is how we know the versions are reproducible, rather than taking the page’s word for it.
How it compares
We checked each alternative’s own pages on 27 September 2026 and describe only what we saw there. Each gets the pick below when it does the job better.
Michael Bach — Kinetic Depth Effect
checked 27 Sep 2026Part of a vision scientist’s collection of about 156 interactive illusions, each explained. The demo spins dots on a vertical cylinder whose rotation can reverse of its own accord; a Depth option dims the far dots, which the page says effectively avoids the reversal. It cites Wallach & O’Connell (1953) and Ullman (1979).
Better at
- It explains the mechanism, with references to the research.
- A Depth switch that removes the ambiguity — a controlled experiment, not only a spectacle.
- It sits among some 156 illusions, each with an explanation.
Where Mind Sphere goes further
- Fifty reproducible, linkable versions with every parameter live, not one configuration.
- A PNG still and a 30 fps WebM clip to keep.
- Opens paused for visitors who ask for reduced motion.
The Illusions Index (University of Glasgow)
checked 27 Sep 2026A searchable, interactive collection of perceptual illusions run by the Centre for the Study of Perceptual Experience at the University of Glasgow, updated regularly, with a quiz drawn from its entries.
Better at
- Academic authorship, and a searchable range of illusions across the senses.
- An educational frame, quiz included.
Where Mind Sphere goes further
- A live instrument for one illusion rather than an entry about it, with speed, direction, count, layers, size, radius, colour, opacity, camera and field of view all adjustable.
- Keyboard stepping through fifty versions, and a random jump.
Where it falls short
- The clip recorder asks for exactly one format, VP9 WebM, with no check and no fallback, so a browser that cannot encode it gets no clip.
- It does not teach. There is no switch that adds a depth cue to show the ambiguity being removed, and the page cites no perception research.
- It still requests the Inter font from Google Fonts on every visit, despite moving three.js off a CDN.
Which one to pick
| If you need… | Pick |
|---|---|
| Make and share a looping illusion clip | Mind Sphereours |
| Explore fifty variants and send a friend the exact one | Mind Sphereours |
| Understand why the rotation flips | Michael Bach’s Kinetic Depth Effect |
| Browse illusions across the senses | The Illusions Index |
The fit
Best for
- Designers after a hypnotic loop they can export
- Changing the illusion’s variables one at a time
- Sharing an exact version by link
Not for
- Learning the science of depth perception
- Browsers that cannot record VP9 WebM, if a clip is the goal
- Visitors who want no third-party requests
Pick Mind Sphere if you want to play with the illusion and walk away with a clip of it.
Sources for this review
- mindsphere/assets/js/lab.js in build 537 — header lines 11–32, generateVersions() at 36–53, exports at 215–227, per-layer colour at 334–345, reduced motion at 616, keys at 657; mindsphere/index.html lines 210, 299–309 and 746–815
- Michael Bach’s Kinetic Depth Effect page and the Illusions Index, fetched on 27 September 2026 at about 20:03 UTC