Skip to content

skymap v0.3.0

Choose a tag to compare

@rulkens rulkens released this 11 May 23:47
· 1094 commits to main since this release
a185923

What's new in v0.3.0

206 commits since v0.2.0 (2026-05-06). Highlights:

New visualisation layers

  • CF-4 dark-matter density volume — Bayesian DM density reconstruction from the Courtois 2025 CF4++ ensemble (1000 Mpc box, supergalactic Cartesian). Ray-marched as a divergent coolwarm overlay; warm = overdense, cool = underdense, transparent at the cosmic mean.
  • MCPM Cosmic Web volume — slime-mould trace density from the SDSS DR17 Cosmic Slime VAC (Wilde 2023). Ray-marched as a fire-on-black inferno volume with HDR blow-out at the densest filament cores. Three tiered cubes (small / medium / large) matching the catalog tiers.
  • POI label layer — cluster names, Local Volume void names, and CF-4 supercluster peaks as in-scene labels.
  • You-are-here marker — the Milky Way labelled at the world origin so the viewer always has a "here" to anchor on.
  • MSDF text rendering — in-scene labels rendered with multi-channel signed-distance fields for crisp text at any zoom.

Both volume overlays are opt-in in production via ?volumes=1 (default-on in dev builds); per-cube intensity / contrast / trim / exposure / density sliders live in the Settings panel.

Engine + renderer architecture

  • WESL shader migration — every shader now lives in .wesl files imported via wesl-plugin, replacing the inline WGSL strings. Better tooling, sourcemap-able, and shareable lib modules (lib/camera, lib/util, lib/math, lib/orientation, lib/tonemap, …).
  • Engine rewrite (Specs A-D + WESL) — engine.ts shrunk by 55% across 18 PRs; per-renderer factories, named subsystems, sub-handle EngineHandle namespace.
  • Column-major matrix conventions + Vec/Mat type aliases project-wide — eliminates the row-major-vs-column-major drift that prompted earlier ad-hoc transposes.
  • Renderer base type + factory consolidation across all renderers (points, filaments, quads, disks, procedural disks, MSDF labels, marker lines, scalar volumes).
  • Centralised selection encoding in TS + WESL — pick-buffer round-trip math lives in one place.

Testing + tooling

  • jsdom + Testing Library for component tests (replaces the prior factory-only smoke tests).
  • 1171 tests across 161 files at this tag (up from ~700 / 95 at v0.2.0).
  • Per-tier .scfd volume format (v2) + sync-r2 coverage for the new MCPM .npy and .scfd artefacts.
  • R2-hosted .npy tiers for both CF-4 and MCPM so contributors don't need a Python toolchain to render the volumes locally — curl + npm run build-{cf4-density,mcpm} is enough.

Documentation

  • README now has a "Cosmic-web volumes (CF-4 + MCPM)" section walking through the contributor + maintainer flows.
  • ATTRIBUTIONS adds the upstream citations for both volumes (Courtois 2025, Tully 2023, Wilde 2023, Elek 2021 Polyphorm/MCPM, Burchett 2020).

Cite this release

DOI: https://doi.org/10.5281/zenodo.20037028 (concept DOI — always resolves to the latest version)

A versioned DOI for v0.3.0 specifically will be minted by Zenodo within minutes of this release going live.