Repository navigation
Releases: ffalcinelli/astroceleste-engine
Releases · ffalcinelli/astroceleste-engine
Release list
v0.0.14
Added
- True (osculating) lunar node:
node_typeon chart requests ("mean"default, or
"true"), echoed as the chart'snode_type. The node is where the Moon's instantaneous
geocentric orbit crosses the true ecliptic of date, from the kernel's state vectors;
it matches Swiss Ephemeris'TRUE_NODEwithin 1″. Python takesnode_type=onchart,
horary,electionandtransit; WASM requests takenode_type. - Sripati house system (
S): Porphyry's cusps as the middles of the houses, the cusps
halfway between them. - Vedic astrology (docs/vedic.md):
vedic_calendar(alsovedic_calendaron chart
requests), the panchanga of a moment and place: sunrise, vara, tithi, nakshatra, yoga and
karana with their start and end, the amanta and purnimanta month with adhika months,
ritu, ayana, samvatsara and the Shaka and Vikram years; andjyotish(no kernel
needed), a chart's sidereal placements with nakshatras and vargottama, the twenty vargas
D1-D60 and the Vimshottari dasha to five levels. PythonEngine.vedic_calendar,
jyotish,vedic_calendar=; WASMengine.vedicCalendar,jyotish.
The true node, Sripati houses, nakshatras and vargas are ported from Priyank Gahtori's
Khagole fork (https://github.com/PriyankGahtori/Khagole).
Changed
ChartRequesthas new public fields (node_type,vedic_calendar), and
planets_and_sidereal_timetakes aNodeType.
v0.0.13
Added
- Minor bodies: Ceres, Pallas, Juno, Vesta, Astraea, Eris, Sedna, Makemake, Orcus and Ixion
in every chart (after Lilith, before the angles), from embedded tables sampled from JPL
Horizons for 1849-2151 (within 3″ of it; outside,unavailable_bodies). They form
aspects within their own orb (default 3°, whatever the orb method) but none with each
other, and take no part in fixed-star conjunctions or the temperament.
MINOR_BODIES/is_minor_bodyare public, andMINOR_BODIESis exported to Python. - Python:
Engine.chinese_calendar(moment),excerpt_kernel(path, start, end),
election(chinese_calendar=), and every exception carries the API error code in.code.
WASM:Engine.chineseCalendar(utc)and anEngine.kernelsgetter.
Changed
- About 3× faster charts from file-backed kernels (cached kernel reads, one nutation per
chart); outputs are bit-identical. time_lordsreturnsResult<TimeLords, EngineError>.
Fixed
- Corrupt or hostile kernels can no longer request huge buffers or overflow addresses;
kernels whose bodies are split into several time segments use the segment covering the
date. - Nonsensical input (latitudes beyond ±90°, non-finite numbers and orbs, impossible dates,
a quesited house outside 1-12) is rejected asinvalid_inputinstead of computed. - Election searches confirm each window on exact positions before counting it.
v0.0.12
Added
- Ba Zi: the
dateoption gives the year, month and day pillars of a date (flow: 流年,
流月, 流日, with the jie that opened the month), from an embedded table of the jie terms of
1900-2100 (no kernel needed).
v0.0.11
Added
- Zi Wei Dou Shu: the
dateoption casts the horoscope down to the month (流月) and day
(流日) of a date, read in an embedded lunar calendar for 1900-2100 (no kernel needed). - 120 charts and 80 horoscopes checked against iztro, the reference implementation of the
common school.
v0.0.10
Added
- Zi Wei Dou Shu: each palace's
minor_stars(the 38 minor stars of the common school),
gods(the 長生, 博士, 歲前 and 將前 cycles) andflyingtransformations of its stem;
theyearoption adds thehoroscopeof that year: the decade (or childhood) limit, the
small limit and the year, each with its palace names, transformations and moving stars,
and the year's gods. - Ba Zi: the
yearoption adds the year's pillar (annual), seen from the Day Master.
v0.0.9
Added
- Zi Wei Dou Shu:
zi_wei(calendar, birth, longitude, utc_offset_minutes, options)(no
kernel needed; Pythonzi_wei, JavaScriptziWei) casts the Purple Star chart from a
chart's Chinese calendar: life and body palaces, palace stems, the five-element bureau,
the 14 major stars and 14 auxiliary and malefic stars with their brightness, the natal
Four Transformations, the life and body masters, and (given the native's sex) the decade
and small limits. Leap months split at the 15th by default. Seedocs/chinese.md.
v0.0.8
Added
- Chinese calendar:
ChartRequest::chinese_calendar(chinese_calendarin Python and
JavaScript) adds achinese_calendarkey to a chart: the solar terms from the last 立春
to the next jie term, the lunar months around the date (leap months by the modern rule,
including the 2033 case) and the equation of time. Alsochinese_calendar(kernels, instant). - Ba Zi:
bazi(calendar, birth, longitude, utc_offset_minutes, options)(no kernel needed;
Python and JavaScriptbazi) casts the Four Pillars on true solar or civil time, with
either Zi-hour convention: hidden stems, Ten Gods, NaYin, life stages, element balance,
the lunar date and, given the native's sex, the luck pillars. Seedocs/chinese.md.
v0.0.7
Added
- Time-lords:
time_lords(birth, sun_longitude, ascendant_longitude, start, end)(no kernel
needed; Pythontime_lords, JavaScripttimeLords) gives the annual profections (age,
sign, lord of the year, activated house) and the firdaria with their sub-periods, in the
day or night sequence with the nodes last, after Bonatti. chart_dignities(chart, scheme)(no kernel needed; Pythonchart_dignities, JavaScript
chartDignities) judges a computed chart's condition, sect and receptions again under the
Lilly or the Dorothean scheme.
Fixed
- The Python type stubs list
dignity_schemeandquesited_house.
v0.0.6
Added
- Essential dignities on every chart. Each of the seven planets carries a
condition: its
domicile, exaltation, triplicity, bound and face (with the lords of its place), detriment,
fall or peregrine, Lilly's points, its sect and whether it is in sect, above the horizon,
cazimi, combust or under the beams, oriental or occidental, and fast, slow or stationary.
The chart adds itssect, thereceptionsamong the planets,antisciaand
contra-antiscia, and itsplanetary_hours(left out of transit skies). Sources and rules:
docs/dignities.md. dignity_schemerequest option:lilly(default; Lilly's triplicities and Ptolemaic
terms) ordorothean(three triplicity lords and the Egyptian bounds).- Horary judgment.
calculate_horary_charttakes the quesited house (Python
quesited_house=, JavaScriptquesited_house) and addshorary_data.judgment: the
significators of the querent and of the quesited, the aspect they perfect within their
signs, the Moon's aspect to the quesited's lord, prohibition, refranation (a station found
in the ephemeris), translation and collection of light, and the receptions between the
significators. - Considerations before judgment: the Moon in the via combusta (
MOON_VIA_COMBUSTA), in
the last degrees of her sign (MOON_LATE_DEGREES), and the lord of the Ascendant combust
(ASC_RULER_COMBUST).
Changed
ChartRequesthas adignity_schemefield, andcalculate_horary_charta third argument
(quesited_house).- The demo site has a dignity scheme selector and a dignity column.
v0.0.5
Added
- Degree qualities after William Lilly (Christian Astrology, 1659, p. 116):
degree_qualitiesgives the masculine or feminine, light, dark, smoky or void, pitted,
lame (azimene) and fortune-increasing qualities of a longitude's degree, and
degree_quality_tablereturns the whole table. Python:degree_qualities/
degree_quality_table. JavaScript:degreeQualities/degreeQualityTable. - Elections weigh the degree qualities of the Moon and the Ascendant:
MOON_PITTED_DEGREE,
MOON_AZIMENE_DEGREE,MOON_FORTUNE_DEGREE,ASC_PITTED_DEGREE,ASC_AZIMENE_DEGREE,
ASC_FORTUNE_DEGREE,ASC_LIGHT_DEGREEandASC_DARK_DEGREE. Scores change for moments
where they apply.