Skip to content

Why Glass Has Color

A physics-first explainer of glass: what it is, how it is made and worked, and how it handles light, with every color computed from a spectrum.

Status
active
Role
Sole developer
Period
2026–present
Stack
Astro · JavaScript · Python · Color science
Links
Live siteRepository

The question. What is glass, physically, and why does it look and behave the way it does?

The project started in June 2026 as an explainer of the four mechanisms that color glass. It has since grown into an explainer of the material itself. Its rule is physics first: real mechanisms, every color computed from a spectrum, and every model labeled as a model.

What it covers.

  • The material. The silicate network, the glass transition, and the single viscosity curve that governs a glass studio, including whether old cathedral windows really flow.
  • Making it. Batch chemistry and what each oxide does, chemical durability, hot-glass forming, and annealing, with stress shown under crossed polarizers.
  • Light. Color by absorption. Colors computed from Mie theory for gold ruby and the Lycurgus Cup. Refraction and dispersion, cut-glass fire, uranium glass fluorescence, and one glass seen by different observers.
  • Labs. A Light Lab, a Structure Lab that runs two-dimensional molecular dynamics to show how quench rate decides between glass and crystal, and an oxide bench that estimates a glass’s properties from its batch.
  • Reference. A library of sources, and a public map of open glass software, models, and data.

How it’s built.

  • Colors from measured spectra. Colorant curves come from measured spectra where licenses allow: Meulebroeck et al. (2016), under CC BY 4.0, and SciGlass, under ODbL.
  • A tested color engine. The spectral engine is tested against the open-source colour-science library.
  • Models fitted to published data. For example, the viscosity curve is fitted to the NBS 710 standard glass measurements. The GlassNet model runs as a second opinion on the oxide bench in a GitHub Action.
  • Shown working. Notes on the page explain how the shipped numbers were computed.
  • Static site. It is built with Astro, and each interactive piece is a single plain script.

Status. In active development. The roadmap is tracked in Linear and re-ranked weekly. The source is public.