# Syna calculation method Syna calculates charts locally in JavaScript. No birth dates, birth times, names, or readings are sent to a chart or language-model service. City searches are sent to Open-Meteo; manual coordinates and IANA time zones can be entered instead. Inputs are not saved by the app. ## Astronomy Astronomy Engine 2.1.19 (MIT, Donald Cross) calculates geocentric apparent ecliptic longitudes for the Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto. GeoVector(body, instant, true) includes the library's light-travel/aberration treatment; Ecliptic converts J2000 equatorial vectors to the true ecliptic and equinox of the birth date. These are tropical zodiac positions, not heliocentric positions or J2000 longitudes. The library targets approximately one arcminute accuracy; this is not a claim of sub-arcsecond precision. Astronomy Engine documentation and source: https://github.com/cosinekitty/astronomy/tree/master/source/js ## Local time and place Temporal 0.5.1 converts the birth location's IANA time zone to UTC, using the runtime's historical time-zone data. Current offsets are never substituted for historical offsets. A nonexistent clock time is rejected. A repeated clock time requires the user to select the first or second occurrence. Precision for older historical local civil times depends on the IANA information available for that location. Temporal documentation: https://tc39.es/proposal-temporal/docs/zoneddatetime.html Geocoding: https://open-meteo.com/en/docs/geocoding-api Location data: GeoNames, https://www.geonames.org/ (CC BY 4.0). The free Open-Meteo endpoint is for non-commercial use. A commercial launch requires an appropriate geocoding plan or replacement provider; the manual coordinate/time-zone path has no dependency on this service. ## Angles and houses The ascendant is the eastern horizon/ecliptic intersection, calculated from local apparent sidereal time, latitude, and the true obliquity of date. The midheaven is the ecliptic intersection with the local upper meridian. Whole-sign houses begin at 0 degrees of the ascendant's sign. Equal houses begin at the exact ascendant and divide the ecliptic into 30-degree sections. These are explicitly selectable. This version does not offer Placidus or a sidereal zodiac. All ten planet positions are shown, along with rising sign, midheaven, and house placement when a time is known. House positions are calculated; this release's personalised prose uses planetary signs and cross-chart aspects, not house-overlay interpretations. ## Aspects and interpretations The engine compares each of one person's ten planets with each of the other's ten planets. It finds the shortest angular separation on the circle and compares it with conjunction (0), sextile (60), square (90), trine (120), and opposition (180 degrees). Orbs are 6 degrees except sextiles, which use 4 degrees. These are Syna's explicit editorial choices, not universal astrological standards. An orb is the difference from the exact angle. Results are ranked by relative closeness; personal planets are emphasised in the summary, and planet-pair relevance also affects each category's selection. Public reference for the major aspects and terminology: https://www.astro.com/astrowiki/en/Aspect The interpretation rules are original prose based on traditional symbolism: Moon/emotional needs, Mercury/communication, Venus/affection and values, Mars/initiative and desire, Jupiter/growth, and Saturn/responsibility. Each highlighted interpretation cites an actual detected aspect and its orb. Conjunctions are treated as emphasis, not automatically harmony. A missing aspect never becomes an invented aspect or a zero compatibility score. Sign-context sentences and aspect interpretations are separate. No machine-learning model or random number generation is used. Identical inputs and runtime time-zone data yield identical results. Astrology has not been scientifically validated as a predictor of relationship compatibility. Syna offers reflection prompts, not factual personality assessments, a match percentage, or a prediction of a relationship's future. ## Unknown birth time When a time is unknown, local noon is only a display reference. The rising sign, midheaven, houses, and Moon aspects are omitted. Moon-based emotional prose is also held back. The engine samples each hour of the complete local civil day plus its final instant, displays possible signs, and estimates the largest movement from noon with an extra 0.05-degree safety margin. Other aspects are included only when they remain inside the chosen orb across the combined movement bounds. Those orbs are marked approximate. The sampled ranges are conservative estimates, not exact numerical extrema. ## Verification The test suite checks fixed planetary/angle fixtures generated independently with Swiss Ephemeris (Moshier), UTC conversion, daylight-saving gaps and overlaps, invalid input, aspect wraparound and cutoffs, unknown-time exclusions, deterministic output, and changes in output when birth details change. Third-party software notices: /vendor/LICENSES.txt