TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
Scroll from a tiny asteroid to the edge of the observable universe.
EducationGitHub @LegendaCROnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Interactive journey through the scale of the cosmos, from a tiny asteroid to the observable universe
Taken from the repository README
Loading the full README.
Read the full README ↗An interactive journey through 79 cosmic objects and 24 orders of magnitude,rendered in real time in your browser.
Size of Space shows how big things in the universe really are, one step at a time. Each object sits next to the one before it, so you always see its size against something you just saw. Scroll on and the camera keeps zooming out: asteroids give way to moons, planets, stars, black holes, nebulae and galaxies, and finally the whole observable universe, while the soundtrack swells with the scale.
Inspired by neal.fun/size-of-life, but for the cosmos.
#compare=earth,sun.#betelgeuse.| Scale | Objects |
|---|---|
| Small bodies | Bennu · Ryugu · Comet 67P · Halley's Comet · Deimos · a neutron star · Phobos · Mathilde · Hyperion |
| Moons and dwarf planets | Enceladus · Vesta · Ceres · Charon · Pluto · Europa · the Moon · Io · Titan · Ganymede |
| Planets | Mercury · Mars · Venus · Earth · Neptune · Uranus · Saturn · Jupiter |
| Stars | Sirius B · TRAPPIST-1 · Proxima Centauri · the Sun · Sirius · Vega · Pollux · Arcturus · Aldebaran · Rigel · Deneb · Antares · Betelgeuse · UY Scuti · VY Canis Majoris · Stephenson 2-18 |
| Black holes | Sagittarius A* · M87* · TON 618 |
| Orbits and the Solar System | Orbit of the Moon · Mercury · Earth · Jupiter · the Solar System · Heliosphere · Oort Cloud |
| Nebulae and clusters | Cat's Eye · Barnard 68 · Ring Nebula · Pillars of Creation · Crab · Orion · Eagle · Omega Centauri · Tarantula |
| Galaxies | Gould Belt · Radcliffe Wave · Magellanic Clouds · Milky Way · Andromeda · Malin 1 · IC 1101 · Alcyoneus |
| Largest structures | Local Group · Virgo Cluster · Virgo Supercluster · Boötes Void · Laniakea · Sloan Great Wall · Hercules–Corona Borealis Great Wall · the Observable Universe |
| Action | Mouse / trackpad | Keyboard | Touch |
|---|---|---|---|
| Travel | Scroll or drag | ← → / Space | Swipe |
| Object details | Click the object | Enter / I | Tap |
| Jump to the start or end | Timeline | Home / End | Timeline |
| Compare two objects | Compare button | Esc to leave | Compare button |
| Music on/off | Speaker button | Speaker button |
The music starts with your first click or key press, because browsers don't allow autoplay.
git clone https://github.com/LegendaCR/size-of-space.git
cd size-of-space
npm install
npm run dev
Then open http://localhost:5173. Run npm run build to make a production build in dist/, which you can host on any static server.
Every object is one entry in src/data/objects.ts:
{
id: 'mars', d: 6779 * KM, kind: 'textured', cat: 'planet', dist: 1.5 * AU, wiki: 'Mars',
look: { c: ['#ffffff', '#e8a878', '#ffffff'], p: [0.8, 0.4, 0.5, 0], tex: ['mars'] },
name: { en: 'Mars', ru: 'Марс' },
fact: { en: '…', ru: '…' },
}
Pick a kind (textured, asteroid, star, blackhole, nebula, galaxy, web, …), drop a map into public/textures/ if you have one, and insert the entry in size order. See CONTRIBUTING.md for details.
src/
├── data/objects.ts # the catalogue: sizes, distances, facts, visual parameters
├── render/scene.ts # layout, camera (log-space zoom) and texture streaming
├── render/realistic.ts # textured planets, ray-traced rings, ray-marched asteroids, stars
├── render/shaders.ts # procedural shaders for nebulae, galaxies, black holes, cosmic web
├── audio.ts # generative soundtrack
├── main.ts # input, labels, timeline, info panel
└── i18n.ts · format.ts # translations and unit formatting
Objects are placed side by side in real metres. The camera zooms between neighbours in logarithmic space, so every step feels the same, whether you go from 490 m to 900 m or from 10 to 93 billion light-years. Positions are computed in 64-bit numbers relative to the camera and handed to the GPU in screen pixels, which avoids floating-point problems across 24 orders of magnitude.
Sizes come from published values, mostly via Wikipedia and NASA. Some are uncertain (the largest stars, IC 1101, the Hercules–Corona Borealis Great Wall), and estimates for them vary widely. Black holes are sized by their event horizon. Planet and moon surfaces are real maps; deep-space objects are artistic procedural interpretations.
Contributions are welcome: new objects, better shaders, translations or fixes for the facts. See CONTRIBUTING.md.