Skip to content

Stellium v0.14.0: Chart Atlas, Antiscia and Visual Polish

Choose a tag to compare

@katelouie katelouie released this 19 Dec 02:28
· 78 commits to main since this release

v0.14.0: The Atlas Update – PDF Chart Books, Antiscia & Visual Polish

This release introduces the Chart Atlas, a powerful new way to generate multi-page PDF chart compilations, adds support for Antiscia/Contra-antiscia, and significantly overhauls the chart rendering engine for better label placement and PDF font support.

Highlights

Chart Atlas PDF Generation

The new AtlasBuilder allows you to generate professional multi-page PDF documents containing one chart per page—perfect for creating client files, research study sets, or printed reference books.

  • Bulk Generation: Create a PDF book of every "Notable Scientist" in the database in one line of code.
  • Mixed Types: Support for both standard wheel charts and Uranian 90° dials in the same document.
  • Typst Integration: Uses the typst engine for crisp, vector-based PDF rendering.
  • New "Atlas" Theme: A cream-colored (#FAF8F5) theme with purple and gold accents, designed specifically for printed output.
from stellium.visualization.atlas import AtlasBuilder

# Generate a PDF book of famous scientists
(AtlasBuilder()
    .add_notable("Albert Einstein")
    .add_notable("Marie Curie")
    .with_title_page("Famous Scientists")
    .with_theme("atlas")
    .save("scientists_atlas.pdf"))

Antiscia & Contra-Antiscia

Added a new AntisciaCalculator component to calculate solstice points (Antiscia) and equinox points (Contra-Antiscia). This component can detect "hidden" conjunctions between planets and these shadow points.

from stellium.components import AntisciaCalculator

# Detect hidden connections
chart = ChartBuilder.from_native(native).add_component(AntisciaCalculator(orb=1.5)).calculate()

Visual Engine Upgrades

  • Smart Collision Detection: Completely rewrote the planet glyph placement algorithm. It is now radius-aware, meaning it allows tighter spacing on outer rings and enforces wider angular separation on inner rings. This resolves the "overlapping glyphs" issue in complex bi-wheels and tri-wheels.
  • Info Corners: Charts (especially in Atlas mode) now support informational corners displaying an Aspect Count summary and an Element/Modality cross-table.
  • PDF Symbols Fixed: Fixed an issue where symbols for Chiron, Lilith, Vertex, and Retrograde (℞) rendered as missing boxes in PDF exports. They now use correct embedded fonts.

Full Changelog

Added

  • AtlasBuilder for generating multi-page PDF chart atlases.
  • AntisciaCalculator component and AntisciaSection for reports.
  • New atlas visualization theme.
  • AspectCountsLayer and ElementModalityTableLayer for chart corners.
  • Header support for Uranian Dial charts via .with_header().

Fixed

  • Glyph Collision: Implemented force-based iterative spreading for planet glyphs to prevent overlaps on crowded charts.
  • Font Rendering: Fixed missing glyphs for asteroids and points in PDF output (using Symbola/Noto fonts).
  • Dial Charts: Fixed header rendering alignment on dial charts.