The Prison Realm: Perception, Ambiguity, and Coni WebGL
Can you reverse the cube with your mind?
When we look at a rotating wireframe cube, something strange happens. Because there are no depth cues—no shadows, no occlusion, no definitive perspective—our brain is forced to make a choice. Is the front face moving left, or is it moving right? This is known as the Necker Cube illusion, a classic demonstration of bistable perception.

The Philosophy of Ambiguity
The Necker Cube isn’t just a fun optical trick; it is a profound philosophical statement about how we interact with reality. We do not passively receive the world through our eyes; our minds actively construct it. When presented with ambiguity, the brain doesn’t just crash or return an error. Instead, it collapses the probability wave, choosing one interpretation and rendering it as absolute truth.
But if you focus, if you exert willpower, you can force your brain to switch interpretations. You can make the cube spin the other way. You realize that the “reality” you were experiencing was entirely subjective. How much of our daily lives, our conflicts, and our anxieties are just one interpretation of an ambiguous geometry?
Enter the Prison Realm
To explore this, I recreated the Prison Realm (Gokumonkyō) from Jujutsu Kaisen using the Coni WebAssembly engine. In the series, the Prison Realm is an inescapable cubic artifact that traps its target in an isolated dimension where physical time does not pass. It is the ultimate manifestation of subjective reality—a psychological prison.

To capture the oppressive, maddening nature of the artifact, the cube could not just be a sterile wireframe. It had to feel alive, dense, and cursed.
The Technical Execution
Instead of drawing lines, this WebGL application generates a dense, shimmering point cloud directly on the GPU.
- Extreme Density: The faces aren’t solid polygons. They are composed of 120,000 independent floating points (20,000 per face), creating a thick wall of translucent static. This specific opacity is the mathematical sweet spot that allows the back edges to bleed through just enough to trigger the Necker illusion.
- Fuzzy Boundaries: The structural edges aren’t perfect 1-pixel vectors. We inject raw mathematical noise into the edge coordinates, causing them to tear and shift like thick, glowing static bands.
- The Staring Eyes: To complete the curse, the coordinate math evaluates local proximities to generate 5 scattered, blinking eyes per face (one in the center, four in the corners).
The entire engine is written in pure Coni LISP, compiled Ahead-Of-Time (AOT) to native WebAssembly-GC, and runs completely offline in the browser.
Through code, mathematics, and raw GPU shaders, we built a digital Prison Realm. The question remains: when you look at the static, which way is it spinning? And more importantly… are you the one spinning it, or is it spinning you?
Try it yourself: