Cascade
SSC2026 winner
overview
When the 2026 Swift Student Challenge opened, I knew I wanted to make something about space. Reading about Kessler Syndrome gave me a subject I wanted to explore, with collisions creating debris that can cause further collisions. I wanted to see that process unfold and be able to change its starting conditions.
Cascade became an educational simulator for iPad, with arcade-style controls over a 3D scene in RealityKit. You can change the starting satellite count and the variation in their orbits, or set off a satellite yourself. Messing with a simulator is the part I like most. That freedom to try something and watch the result became the core of the app.
The learning material has its own place in Learn More, including a chart of the growth of cataloged objects in Earth orbit. Keeping it separate lets someone experiment first and read when a question comes up. The controls stay beside the scene, so changing a setting does not mean losing sight of what it affects.
I’m not a physicist, so I leaned on AI tools for the orbital-gravity math. Much of my own work went into keeping the simulation usable as debris accumulated. Fragments share a mesh, and collision checks use a spatial grid to narrow the search. The tetrahedral fragments have four vertices each. That shape began as a performance decision, and I liked the angular appearance enough to keep it.
Cascade was selected as a Swift Student Challenge winner. I was proud of the result after the research and rounds of optimization. There is a demo below, and the project is on GitHub.
demo
design
The simulation gives the colors a job. Satellites start green and debris red against a dark background, but those are defaults people can change. The appearance controls also let them resize objects and adjust the lighting.
Earth can be hidden altogether, which makes for the prettiest view. With the globe gone, the debris cloud can be followed around the whole orbit.
SF Pro Display sets the interface type.

Fixed-width digits keep the satellite and debris counts steady as they change.







