This lab boots like a tiny product: a cold open, a systems card, then the live viewport. You’re looking at the studio title card — a quick framing pass before we drop into the instruments.
The camera, star, and planet rig are already online in the background. When you enter the lab, the viewport simply fades up and you’re “inside the shot” instantly.
What this lab is doing
TRANSIT 3D // PRESTIGE is simulating a simplified exoplanet transit: a planet orbits a star, and every time it crosses the stellar disk, the apparent brightness drops. The 3D viewport shows the orbit and alignment geometry. The light-curve panel on the right converts that geometry into a live flux value F(t), drawing the dip in real time as the planet passes in front of the star.
The lab is wired like a miniature product: there is a resilient boot path, a presentation mode, an AI advisor surface, and a small automation API (window.transitBot) so you can script a demo or have another app drive the camera.
Step-by-step: how to drive the demo
When you click ENTER LAB, this overlay fades away, but the layout and boot logic stay in place. Reloading the page always brings you back through this double-splash sequence so it feels like a deliberate cold open, not a raw demo.
TRANSIT 3D // PRESTIGE is a single-file WebGL lab for exploring exoplanet transits. It is built to show real engineering craft: resilience, a11y, and just enough cinematic drama to impress a recruiter.
Use the system chips to jump between curated star systems, then tune noise, speed, orbit radius, and impact parameter to watch how the light curve responds. The right-hand panel stays in sync with the simulation.
The app is structured like a tiny product: boot screen, live viewport, instrumentation, AI advisor, and a debug backdoor. It’s opinionated, but everything lives in one portable HTML file.
localStorage under a single namespaced key.setSystem() so the viewport and HUD are consistent.persistState() is called only from user-driven paths (sliders, buttons, persona changes).A tiny automation surface is exposed as window.transitBot with helpers like setSystem(), togglePresentation(), setVisualMode() and sendRobotPrompt() for scripted demos.
robots.txt lives in the dev console for deployments./404 route (or using #404 in the URL) will trip a tiny “Lost in transit” page overlay.Concept & direction: Devin O'Rourke — building an AI-first portfolio of single-file labs that behave like real products, not demos.
Engineering: Layout, WebGL shell, telemetry stubs, state store, and automation hooks live side-by-side to show how a production codebase might be organized in miniature.
Easter eggs: Konami code dev panel, chaos button, insult mode, and a small 404 overlay. Try poking at the header and keyboard to find them.
This page is meant to feel like the film credits at the end of a short — the app knows it’s a portfolio piece and owns it.
The planet you were looking for isn't transiting this star.
Double-check the URL, or drop back to the main lab and pick a new configuration. The instruments are still humming.