Sign in

Alex Marshall

@alxm.me
59 followers 144 following 42 posts

Visual artist, humanist, and creator of things. Science and engineering educated in California, raised in Europe. Based in London, UK. Creator of Stellata: stellata.xyz Other stuff, including artwork: alxm.me

PostsRepliesMedia
Alex Marshall @alxm.me · 03/09/2026
8/8 So that's how you know which way is "up"! And if you want to define your own up, you can always enable the REF flag, which allows you to set your own reference datum. Try it yourself, and find an orientation that you want around the Moon: stellata.xyz/v/BIXAgSUHlX...
stellata.xyz
Stellata — Explore the Universe in 3D
A 3D model of the real universe in your browser: planets, stars, dust and galaxies in true colour, exactly as your eyes would see them. Nothing invented.
000
Alex Marshall @alxm.me · 03/09/2026
7/8 Lastly, the galactic plane is aligned to the Milky Way's orientation. The 0 latitude plane is coincident with the galactic disc, and 0 longitude points to the centre of our galaxy. Coordinate spheres suit the needs of the context and help you know which way you're pointing.
100
Alex Marshall @alxm.me · 03/09/2026
6/8 The ecliptic is the plane that the sun traces through our sky. The planets' orbits are roughly aligned to this datum; it's a useful plane to orient on in our Solar System. 0 longitude is aligned with Earth's vernal equinox where the ecliptic and equatorial planes intersect.
100
Alex Marshall @alxm.me · 03/09/2026
5/8 Orbital is available for any object (planet, moon, or star) with an orbit. 0 latitude is coincident with the orbital plane, and 0 longitude always orients towards the object being orbited. This is the only mode where the AI moves in sync with the object's current position.
100
Alex Marshall @alxm.me · 03/09/2026
4/8 Stellata covers such a wide range of domains that a few different reference plains are available: equatorial, orbital, ecliptic and galactic. Equatorial is Earth-only and the 0 latitude is referenced to the equator's plane. This makes it easy to orient around and near Earth.
100
Alex Marshall @alxm.me · 03/09/2026
3/8 In orbit, the (0,0) reference on the AI is the desired orbital path. This is why this is so clearly marked on Apollo's FDAI with extra clarity on the 0 longitudinal marker. In transit between orbits (0,0) is re-oriented to the desired course so the crew can stay on track.
100
Alex Marshall @alxm.me · 03/09/2026
2/8 the orientation of your spacecraft or aircraft. The question is: relative to what? In an aircraft, the most important thing is knowing where the ground is so that you can safely fly with reference only to instruments. In space, there are many context-dependent choices. (Here's an original FDAI.)
An original Apollo space programme FDAI (Flight Director / Attitude Indicator) shown on its own on a white background.
100
Alex Marshall @alxm.me · 03/09/2026
1/8 Which way is up? I replicated the Apollo program's FDAI (Flight Director / Attitude Indicator) instrument to help users orient themselves while exploring in Stellata. An attitude indicator (the other type of AI) tells you… 🔭 #Astronomy #SpaceSky #BuildInPublic #AstroCoding
130
Alex Marshall @alxm.me · 03/09/2026
8/8 So that's how you know which way is "up"! And if you want to define your own up, you can always enable the REF flag, which allows you to set your own reference datum. Try it yourself, and find an orientation that you want around the Moon: stellata.xyz/v/BIXAgSUHlX...
stellata.xyz
Stellata — Explore the Universe in 3D
A 3D model of the real universe in your browser: planets, stars, dust and galaxies in true colour, exactly as your eyes would see them. Nothing invented.
000
Alex Marshall @alxm.me · 03/09/2026
7/8 Lastly, the galactic plane is aligned to the Milky Way's orientation. The 0 latitude plane is coincident with the galactic disc, and 0 longitude points to the centre of our galaxy. Coordinate spheres suit the needs of the context and help you know which way you're pointing.
100
Alex Marshall @alxm.me · 03/09/2026
6/8 The ecliptic is the plane that the sun traces through our sky. The planets' orbits are roughly aligned to this datum; it's a useful plane to orient on in our Solar System. 0 longitude is aligned with Earth's vernal equinox where the ecliptic and equatorial planes intersect.
100
Alex Marshall @alxm.me · 03/09/2026
5/8 Orbital is available for any object (planet, moon, or star) with an orbit. 0 latitude is coincident with the orbital plane, and 0 longitude always orients towards the object being orbited. This is the only mode where the AI moves in sync with the object's current position.
100
Alex Marshall @alxm.me · 03/09/2026
4/8 Stellata covers such a wide range of domains that a few different reference plains are available: equatorial, orbital, ecliptic and galactic. Equatorial is Earth-only and the 0 latitude is referenced to the equator's plane. This makes it easy to orient around and near Earth.
100
Alex Marshall @alxm.me · 03/09/2026
3/8 In orbit, the (0,0) reference on the AI is the desired orbital path. This is why this is so clearly marked on Apollo's FDAI with extra clarity on the 0 longitudinal marker. In transit between orbits (0,0) is re-oriented to the desired course so the crew can stay on track.
100
Alex Marshall @alxm.me · 03/09/2026
2/8 ...the orientation of your spacecraft or aircraft. The question is: relative to what? In an aircraft, the most important thing is knowing where the ground is so that you can safely fly with reference only to instruments. In space, there are many context-dependent choices.
100
Alex Marshall @alxm.me · 22/08/2026
View the scene for yourself here: stellata.xyz/v/BI2AgQUHPt... The camera is paused at the start of the eclipse: use the arrow keys to scrub time or the UI controls at bottom right.
stellata.xyz
Stellata — Explore the Universe in 3D
A 3D model of the real universe in your browser: planets, stars, dust and galaxies in true colour, exactly as your eyes would see them. Nothing invented.
000
Alex Marshall @alxm.me · 22/08/2026
Stellata's HDR lighting model is perceptual: it automatically adapts to what your eye would actually see. Note the background stars that appear at the peak of the eclipse and the burst of brightness at the exact angle that the Moon's regolith reflects the Sun's light directly back to the camera.
100
Alex Marshall @alxm.me · 22/08/2026
...followed by absorption dominated by ozone as sunlight is filtered through the upper atmosphere, then the much darker umbra, the true shadow of Earth. The deep red colour you see is sunlight refracted through the atmosphere: the light of every sunset on Earth simultaneously.
100
Alex Marshall @alxm.me · 22/08/2026
...just right to produce another eclipse event. Next week's partial eclipse is most easily visible from the Americas. Note the colour changes as different components in Earth's atmosphere influence light absorption at different frequencies. The penumbra starts imperceptibly around 1.25am UTC...
100
Alex Marshall @alxm.me · 22/08/2026
🧵 There's a partial lunar eclipse next week: see the entire ~6 hour event in just over a minute. It's not a coincidence that lunar eclipses follow solar eclipses a few weeks later. The Moon and Earth swap positions, and the alignment is often... 🔭 #Astronomy #SpaceSky #BuildInPublic #AstroCoding
130
Alex Marshall @alxm.me · 21/08/2026
See this view for yourself in Stellata: stellata.xyz/v/BI2AgQQH5-... You can change the model clock by hitting 'T' or clicking on the time at bottom right.
stellata.xyz
Stellata — Explore the Universe in 3D
A 3D model of the real universe in your browser: planets, stars, dust and galaxies in true colour, exactly as your eyes would see them. Nothing invented.
000
Alex Marshall @alxm.me · 21/08/2026
One month of lunar rotation in 2.5min (model clock sped up to 4.6hr/sec), with a guest appearance from Earth in early September. And what's up with that shadow in the middle? That's the next partial lunar eclipse happening next week on 28 August... 🔭 #Astronomy #SpaceSky #BuildInPublic #AstroCoding
230
Alex Marshall @alxm.me · 20/08/2026
... the pipeline itself, but I need to get to a common baseline across browsers regardless. WebGL on Chrome translates through ANGLE, whereas Safari on macOS goes straight to Metal, which makes a massive difference. Turns out _almost_ native is a pretty big compromise.
000
Alex Marshall @alxm.me · 20/08/2026
My current challenge is cross-browser-platform performance, so I'm migrating from WebGL to WebGPU. After implementing an HDR pipeline with a beautiful, adaptive scene model, perf has taken a hit. Certainly some optimisation to do within ... 🧵 🔭 #Astronomy #SpaceSky #BuildInPublic #AstroCoding
130
Alex Marshall @alxm.me · 18/08/2026
This is a view that shows (mostly) the side of the Moon that faces away from Earth.
000
Alex Marshall @alxm.me · 18/08/2026
The 🌕 has some pretty wild craters on it! This shows the maps that are stored to render surface lighting for any ray direction. Red is the horizon map, shown summed for all directions simultaneously, and blue is the normal surface deviation map. 🔭 #Astronomy #SpaceSky #BuildInPublic #AstroCoding
220
Alex Marshall @alxm.me · 18/08/2026
You can see this at work in this repo: github.com/alexmensch/s... Works extremely well for a large codebase. Then all you're left with is all of the millions of decisions you need to make yourself to end up with a good product...some things don't change :)
000
Alex Marshall @alxm.me · 18/08/2026
I use four layers: 1. Account-level CLAUDE.md for behavioural changes I always want from the LLM 2. Project-level CLAUDE.md 3. LLM-maintained documentation within every folder in the repo itself to document code and memorialise decisions 4. Skills only for narrow, repeated tasks, eg. reviews
100
Alex Marshall @alxm.me · 18/08/2026
Yes, the depth reads so much better! It's normal mapping, but derived from a dedicated digital elevation model (DEM) file that matches the photographic texture 1:1. Moon at 0.5m resolution (NASA Lunar Reconnaissance Orbiter), Mercury via NASA Messenger, and Mars via Mars Global Surveyor.
000
Alex Marshall @alxm.me · 17/08/2026
There's still something else missing, though, to make this render more realistic. Do you know what it is? More to come in a future post... Follow for more updates as I continue building out the astronomical model that powers Stellata! 📔 1968's Earthrise: stellata.xyz/v/BI3AgQUHZv...
stellata.xyz
Stellata — Explore the Universe in 3D
A 3D model of the real universe in your browser: planets, stars, dust and galaxies in true colour, exactly as your eyes would see them. Nothing invented.
000
Alex Marshall @alxm.me · 17/08/2026
With altitude and angle for each pixel, you can pre-calculate this information and then your live render engine just has to light the surface. Notice how much narrower the terminator is in the updated version and how much more realistic and dramatic it looks with crater shadows.
100
Alex Marshall @alxm.me · 17/08/2026
The trap is that you cannot assume that the spheroid is completely smooth up until the point that you evaluate surface topology relative to the normal. You also have to know whether light is even reaching a given point: its local horizon. The elegant part is that topology data gives you both...
100
Alex Marshall @alxm.me · 17/08/2026
You might think that's enough: less light where planes on the edge of the spheroid fall off more sharply, and more light where the planes are more oriented towards the camera. But there's an additional problem: each point on the bumpy spheroid has a different horizon over which it receives light.
100
Alex Marshall @alxm.me · 17/08/2026
The first order version needs to know the surface topology so that the renderer knows the orientation of individual planes on the surface. Then it knows how light reflects from them towards the camera. This involves vector multiplying the smooth surface light falloff against each angled surface.
100
Alex Marshall @alxm.me · 17/08/2026
It turns out that rendering bumpy surfaces is tricky! This is the same view as yesterday's post, but notice that the terminator detail looks different. It's the same underlying photographic texture, but can you tell what I improved? Solution in 🧵👇 🔭 #Astronomy #SpaceSky #BuildInPublic #AstroCoding
330
Alex Marshall @alxm.me · 17/08/2026
See "Earthrise" for yourself in Stellata: stellata.xyz/v/BI3AgQUHZv...
stellata.xyz
Stellata — Explore the Universe in 3D
A 3D model of the real universe in your browser: planets, stars, dust and galaxies in true colour, exactly as your eyes would see them. Nothing invented.
000
Alex Marshall @alxm.me · 17/08/2026
At 16.39 UTC you can see the far side of South America and dusk falling on Western Africa and Spain, just as you can in the original 1968 image. Stellata is available to anyone with a browser, desktop-only for now, and I'm going to share my progress as I add new functionality and fix issues.
100
Alex Marshall @alxm.me · 17/08/2026
Recreating these moments in Stellata is fun, but this serves an important purpose, which is to validate the accuracy of the model's physics across a 6,000-year range. Based on the original "Earthrise" image, Stellata's model lines up to within 15min.
110
Alex Marshall @alxm.me · 17/08/2026
This is not a photograph, but it is the same moment that the famous "Earthrise" photo was captured by the Apollo 8 crew on 24 December, 1968. What you're seeing is a screenshot of an in-browser 3D model of our solar system, the galaxy, and eventually our universe that I'm building. Link in thread →
3D rendered view from space in an app called Stellata with the Earth's moon in the foreground, and the Earth in the distance, captured at exactly the time and orientation of the famous "Earthrise" photograph taken by the Apollo 8 crew that orbited the Moon for the first time in December 1968.
110
Alex Marshall @alxm.me · 11/12/2024
This is really good, thanks for sharing this
010
Alex Marshall @alxm.me · 11/12/2024
Though weirdly this is perfectly understandable 🤦🏻‍♂️
100
Alex Marshall @alxm.me · 13/11/2024
Absolutely loved the 13 Minites to the Moon series, can’t wait to listen!
010
Reposted by Alex Marshall
Mubashar “Mubs” Iqbal @mubashariqbal.com · 11/11/2024
Starter packs are genius, but I was surprised there wasn't a list of them for people to find. So I built it: blueskydirectory.com/starter-pack... The website monitors the packs being shared and adds the ones it finds to the database. Missed your stater pack? Message me and I'll get it added.
blueskydirectory.com
All - Bluesky Directory
A curated collection of all things relating to the Blue Sky social media platform.
110465212947