vialactea
v0.0.1
Published
Via Lactea: a procedural cosmic sky engine for the browser (WebGPU + Three.js TSL). 0.0.1 is a name-reserving placeholder; the engine lands with the first release.
Maintainers
Readme
Via Lactea
A procedural cosmic sky engine for the browser, built on WebGPU and Three.js TSL.
Via Lactea renders a scientifically grounded night sky: a real star catalog, the Milky Way, procedural nebulae, and a celestial layer with the J2000 reference frame, the ecliptic, planets, constellation figures, and proper star names. Use it to build a planetarium, an education tool, a game sky, or anything that needs a living universe in a browser tab.
Status: pre-release. The engine source is here and the demo runs locally (see below). The repository mirrors a private working repository via the export tooling in
tools/; releases and the packaged npm API are still being shaped. The npm namevialacteaholds a 0.0.1 placeholder until then.
What the engine includes
- Render stack: WebGPU renderer, post-processing, temporal anti-aliasing, orbit camera, frame loop, and diagnostics.
- Cosmos: a real star catalog (HYG, packed binary), procedural background stars, the galaxy, and nebulae.
- Celestial layer: J2000 frame math, the ecliptic, constellation figures and lines, planets, picking, and a celestial clock.
- Labels: proper star names (IAU WGSN) and Bayer designations.
- Data pipeline: the tools that build the star catalog and constellation data from their upstream sources.
- Tests: the engine ships with its full test spine.
Run the demo
Requires Node 20+ and a WebGPU browser (Chrome).
git clone https://github.com/lucienerego/vialactea-engine.git
cd vialactea-engine
npm install
npm run dev # open http://localhost:5174 in ChromeThe demo boots the full default sky. Useful URL params: ?seed=42 (new
universe), ?preset=low|high|ultra (quality), ?orbit=m31 (fly to
Andromeda), ?still=1 (freeze all motion). Hover a constellation to light
its figure and name.
Checks: npm run typecheck, npm test (node math/data specs, what CI runs),
npm run test:smoke (WebGPU boot check, local machines with a GPU).
Install as a package
npm install vialactea(0.0.1 is a name-reserving placeholder; the packaged API ships with the first real release.)
License: free for free software, licensed for closed products
Via Lactea follows the dual-licensing model of the Swiss Ephemeris:
- AGPL-3.0-or-later (see LICENSE): if your project is free software under a compatible license, you can use, modify, and redistribute the engine at no cost. The AGPL's network clause applies: if you run a modified engine as part of a network service, you must offer its source to your users.
- Commercial license: if you want to embed Via Lactea in a closed-source product or service, a paid commercial license is available. See COMMERCIAL-LICENSE.md.
Bundled astronomical data keeps its own upstream licenses, documented in DATA-LICENSES.md. The data is not relicensed by this project.
Credits
Copyright (c) 2026 Luciene Webb.
Star data from the HYG database by David Nash. Constellation figures derived from Stellarium data. Proper star names from the IAU Working Group on Star Names. Built with Three.js. Full provenance in DATA-LICENSES.md.
