moira

Moira 5.2.1 - Spatial House Boundary Geometry

Release date: 2026-07-23

Public upgrade path: 5.2.0 to 5.2.1

Moira 5.2.1 preserves the actual spatial objects behind admitted house boundaries. It is an additive patch release over the 5.2.0 Eclipse release and does not alter existing cusp-only calls unless the new geometry is requested.

Frame-explicit house boundaries

calculate_houses(...), houses_from_armc(...), and Moira.houses(...) now accept include_boundary_geometry=True. The returned HouseCusps then carries an immutable HouseBoundaryGeometrySet for the effective house system:

The geometry is expressed in the declared true_equator_and_equinox_of_date frame. A sidereal offset changes the zodiac labels and zodiac_offset_deg; it does not rotate the physical directions or plane normals.

Systems whose current public product admits only ecliptic cusp intersections return availability="cusp_intersections_only" with an explicit reason and no fabricated 3D walls. Polar and unknown-system fallback follow the effective system, never the originally requested label.

The house REST request accepts the same opt-in flag and serializes the geometry without reconstructing it in the transport layer.

Validation evidence

The release exercises frame-explicit great-circle and event-curve house boundaries, southern and high-latitude cases, effective-system fallback, sidereal label separation, exact cusp incidences, public exports, and REST serialization.

No NumPy, SciPy, Swiss Ephemeris, or jplephem runtime dependency is introduced.