Geometric reasoning for STEM undergrads, in WebXR.
A free, open-source WebXR sandbox of geometry exhibits aimed at undergraduate students of calculus, linear algebra, and differential equations. The thesis: VR earns its keep on math where the bottleneck for the learner is 3D spatial intuition — quadric surfaces, vector fields, eigenvectors and eigenspaces, ODE phase portraits in 3D.
Status: v0.8 — the four scenes of the v1.0 quadrics cluster have shipped (quadrics manipulator, tangent planes, gradient + level surfaces, saddle / extrema). v0.9 is in progress: the native pancake build for desktop has shipped; cross-cluster polish is the remaining v0.9 work, and a touch-driven mobile build is a follow-up.
v0.4.mp4
Drag the a, b, c, d sliders to morph the surface, or tap a
canonical-pose preset button (Sphere, Cone, H 1-sheet, …) for an
animated transition between named family members. The family label
classifies the result in real time as parameters cross degeneracy
boundaries (Ellipsoid → Hyperboloid → Cone → ...).
Live at https://skylinetrailcomputing.github.io/geometer/. The bare URL auto-detects whether to boot in immersive (Quest headset) or desktop mode; visit it on any modern browser without setup. To force a mode explicitly, append ?mode=vr or ?mode=desktop.
Headset paths:
- Quest browser (Quest 3, 3S, 2, Pro) — open the link directly on the headset, then tap Enter VR. See
DEV_QUEST_SETUP.mdfor first-run guidance. - Desktop Chrome with a tethered headset — useful for development and inspection.
A laptop or desktop browser with no immersive device gets the native pancake build: an orbit camera around the cluster envelope (drag empty space to rotate, scroll to zoom), and a mouse-driven pointer that drags sliders, taps presets, and switches section tabs through the same UI primitives the VR controllers drive. Designed from the ground up for non-VR; not a headset-emulator shim. Tracked in #105.
WebXR emulator extensions (Meta's Immersive Web Emulator, Mozilla's WebXR API Emulator) remain unsupported — see #80 for the structural reason (Meta's IWE doesn't polyfill the WebXR Layers API, which Chromium ≥147 forces Three.js to use). Use pancake mode for non-headset access; use a real Quest (3 / 3S / 2 / Pro) for the headset experience. A touch-driven mobile build is a follow-up.
Requires Node 20+ and npm.
git clone https://github.com/skylinetrailcomputing/geometer.git
cd geometer
npm install
npm run devThen open the printed URL on localhost. WebXR sessions require either localhost or HTTPS — local dev with a tethered headset works on localhost. For over-the-network testing on a Quest, deploy to GitHub Pages or use an HTTPS tunnel (ngrok, etc.).
npm test runs the unit suite (vitest) — currently scoped to pure-logic modules (classifier, future slider/routing math). Most of the exhibit's behavior is verified manually in headset; the unit suite covers what's silently breakable between sessions.
The roadmap sequences exhibits around specific undergraduate courses where 3D spatial intuition is the rate-limiting step, rather than as a generic feature list. The first targeted course is APPM 2350: Calculus 3 for Engineers at CU Boulder.
v1.0 ships a cluster of programmatically separate scenes — each focused on a distinct early-course stuck-point — that share infrastructure (camera, design language, scene navigation):
- Quadrics manipulator (shipped through v0.5) — slider-driven implicit-surface explorer with live family classification, cross-sections, and linear-term translation. §10.6.
- Tangent planes (shipped, v0.6) — moving tangent plane attached to the surface, sliding the contact point continuously. §11.4.
- Gradient / level surfaces (shipped, v0.7) — §11.6.
- Saddle / extrema (shipped, v0.8) — §11.7–11.8.
- Native pancake build (v0.9, desktop shipped) — non-VR form factor scaffolded alongside the Quest experience; touch-driven mobile is a follow-up (#196).
Higher-impact pedagogy, but architecturally novel scene shapes; sequenced after the v1.0 cluster ships:
- Stokes' / Green's / Gauss' coalescence — tiny curl- and divergence-integrals on surface and volume elements coalescing into the boundary path or surface integral. §13.E–G.
- Path integral unrolling — bending a 1D Calc 1/2 integral into a 2D arc and back. §13.A.
Targeting spring or summer 2027. Eigenvectors visualized as the unit-sphere → ellipsoid mapping, determinants as signed volume, ODE phase portraits in 2D and 3D, vector fields as flow.
- Headset — Quest 3, 3S, 2, Pro. Current default.
- Native pancake build (#105) — desktop shipped in v0.9; touch-driven mobile is a follow-up (#196).
Issues and PRs welcome. See CONTRIBUTING.md for workflow and conventions, and VISION.md for the project's thesis and what makes a topic a fit.
MIT, copyright © 2026 Skyline Trail Computing LLC.
A 2026 reincarnation of an Unreal Engine VR-for-undergrad-calculus POC originally explored in 2016 — re-platformed to WebXR for friction-free distribution.