All games

WebXR experiment2025

Polytope XR

A spherical polytope, cut into pieces, reassembled in augmented reality.

The Polytope XR scene: an assembled coloured polytope hanging in the dark, with a floating panel to the left reading level one, one piece, solved, and a Next level button.
Level 1, solved and idling in its slow spin, with the panel offering the next level.

A geodesic sphere cut into small pieces, glued back into a few clusters that float in front of you in AR. Grab them with a controller or your bare hands and drag until neighbours snap together; the solved shape settles into a slow spin, then the next level deals it in one more cluster, cut from more pieces, up to sixty pieces in ten clusters at level ten.

What makes it interesting

  1. The scene graph is driven by a reactive core rather than a frame loop — meshes, materials and geometries are declared as signals and disposed automatically when they fall out of the graph.
  2. The status panel is ordinary DOM, authored as HTML and CSS and projected into the scene, so a controller ray landing on a button arrives at the markup as a click: written once, and working with a ray, a hand or a mouse.
  3. Every piece is a cone from the centre of the sphere out through its surface, around one of a set of evenly spread directions, so each one carries some of the coloured shell. A level glues neighbouring cones into clusters of about the same size, so no cluster is the clean half a single plane would leave.
  4. Subdivision and the merge test are pure geometry, kept apart from the scene and property-tested with fast-check.