Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
Preparing N9Life content
Preparing N9Life content
Preparing N9Life content
/human-design is the pack page for a real BodyGraph. Personality is birth UTC. Design is the instant when the Sun sits at Personality Sun longitude minus 88 degrees, solved by Layer 1 solveSunLongitudeTime. Pack owns interpretation. Layer 1 only returns longitudes.
Until time, timezone, latitude, and longitude exist, the engine returns buildHumanDesignPlaceholder with pending_inputs or pending_tz. It never invents Type.
ring/web/lib/astro/ephemeris.ts wraps MIT astronomy-engine ^2.1.19:
| Function | Role |
|---|---|
eclipticLongitudes(utc) | Sun, Moon, Mercury through Pluto, geocentric true ecliptic of date via Ecliptic(GeoVector(..., true)) |
moonTrueNodeLongitude(utc) | Osculating node: geometric vectors at t and t+60s, h = r × v, atan2(hx, -hy) |
solveSunLongitudeTime(targetLon, nearUtc) | SearchSunLongitude plus bisection; covers the Sun-minus-88 wrap |
moonIllumination(utc) | Illumination(Body.Moon).phase_fraction |
tz-lookup ^6.1.25 is CC0-1.0 (not MIT), used to infer IANA tz from coordinates. Tests: ring/web/lib/astro/__tests__/ephemeris.test.ts (J2000 Sun, illumination range, solver within 60s, node in [0,360)).
| Module | Contract |
|---|---|
wheel.ts | Gate 41 starts at 302° (2° Aquarius), 5.625° per gate, six lines of 0.9375°. Gate 25 straddles 0° Aries. |
graph.ts | 64 GATE_CENTER map, 36 channels (includes 34-57), nine centers, motors, definition type via connected components |
typing.ts | Type, authority ladder, 12 profiles, cross-angle keys (Right / Juxtaposition / Left). Cross names (192) are out of scope. |
local-time.ts | localBirthToUtc two-pass Intl offset (HHmm without colon accepted) |
index.ts | 13 bodies per side: Sun, Earth (Sun+180), Moon, North Node, South Node (node+180), Mercury through Pluto |
Type: Reflector if no centers; Generator if Sacral without motor-to-Throat; Manifesting Generator if Sacral plus motor-to-Throat; Manifestor if motor-to-Throat without Sacral; Projector otherwise.
Authority ladder: Emotional (Solar Plexus), Sacral, Splenic, Ego Manifested (Heart plus Heart-Throat), Ego Projected, Self Projected (G to Throat), Mental (Ajna or Head), Lunar.
strategyKey is a string (inform, wait_to_respond, wait_for_invitation, wait_a_lunar_cycle), not the whole strategyFromType object. Fixture tests assert typeof chart.strategyKey === 'string'.
BodyGraph SVG highlights defined centers and channels and prints gate numbers. Cards use meanings.humanDesign.type|strategy|authority|profile|center|gate|notSelf with English fallback. Profile key 5/1 is requested as 5-1 for next-intl. Show-math lists birth_utc, design_utc, each body gate.line and longitude. Status ready uses t('status.ready').
Council: HD type votes today_practice at confidence 0.4. HD authority votes decision_style. Family maps are in council-mappings.json.
Public-chart JSON under lib/human-design/__tests__/fixtures/ is labeled computed-by-this-engine. Dual-calculator verify is still pending. Ra Uru Hu on this engine: Manifestor 5/1 Splenic. Published charts often say Emotional Manifestor 5/1. Type and profile match; authority does not. Do not silently "fix" the math. Synthetic Reflector is reflector.json (empty activations → Lunar, definition none).
Color, tone, base, and incarnation cross titles are out of scope.
Truth lens: metaphysics-human-design-specialist.
/human-design is the pack page for a real BodyGraph. Personality is birth UTC. Design is the instant when the Sun sits at Personality Sun longitude minus 88 degrees, solved by Layer 1 solveSunLongitudeTime. Pack owns interpretation. Layer 1 only returns longitudes.
Until time, timezone, latitude, and longitude exist, the engine returns buildHumanDesignPlaceholder with pending_inputs or pending_tz. It never invents Type.
ring/web/lib/astro/ephemeris.ts wraps MIT astronomy-engine ^2.1.19:
| Function | Role |
|---|---|
eclipticLongitudes(utc) | Sun, Moon, Mercury through Pluto, geocentric true ecliptic of date via Ecliptic(GeoVector(..., true)) |
moonTrueNodeLongitude(utc) | Osculating node: geometric vectors at t and t+60s, h = r × v, atan2(hx, -hy) |
solveSunLongitudeTime(targetLon, nearUtc) | SearchSunLongitude plus bisection; covers the Sun-minus-88 wrap |
moonIllumination(utc) | Illumination(Body.Moon).phase_fraction |
tz-lookup ^6.1.25 is CC0-1.0 (not MIT), used to infer IANA tz from coordinates. Tests: ring/web/lib/astro/__tests__/ephemeris.test.ts (J2000 Sun, illumination range, solver within 60s, node in [0,360)).
| Module | Contract |
|---|---|
wheel.ts | Gate 41 starts at 302° (2° Aquarius), 5.625° per gate, six lines of 0.9375°. Gate 25 straddles 0° Aries. |
graph.ts | 64 GATE_CENTER map, 36 channels (includes 34-57), nine centers, motors, definition type via connected components |
typing.ts | Type, authority ladder, 12 profiles, cross-angle keys (Right / Juxtaposition / Left). Cross names (192) are out of scope. |
local-time.ts | localBirthToUtc two-pass Intl offset (HHmm without colon accepted) |
index.ts | 13 bodies per side: Sun, Earth (Sun+180), Moon, North Node, South Node (node+180), Mercury through Pluto |
Type: Reflector if no centers; Generator if Sacral without motor-to-Throat; Manifesting Generator if Sacral plus motor-to-Throat; Manifestor if motor-to-Throat without Sacral; Projector otherwise.
Authority ladder: Emotional (Solar Plexus), Sacral, Splenic, Ego Manifested (Heart plus Heart-Throat), Ego Projected, Self Projected (G to Throat), Mental (Ajna or Head), Lunar.
strategyKey is a string (inform, wait_to_respond, wait_for_invitation, wait_a_lunar_cycle), not the whole strategyFromType object. Fixture tests assert typeof chart.strategyKey === 'string'.
BodyGraph SVG highlights defined centers and channels and prints gate numbers. Cards use meanings.humanDesign.type|strategy|authority|profile|center|gate|notSelf with English fallback. Profile key 5/1 is requested as 5-1 for next-intl. Show-math lists birth_utc, design_utc, each body gate.line and longitude. Status ready uses t('status.ready').
Council: HD type votes today_practice at confidence 0.4. HD authority votes decision_style. Family maps are in council-mappings.json.
Public-chart JSON under lib/human-design/__tests__/fixtures/ is labeled computed-by-this-engine. Dual-calculator verify is still pending. Ra Uru Hu on this engine: Manifestor 5/1 Splenic. Published charts often say Emotional Manifestor 5/1. Type and profile match; authority does not. Do not silently "fix" the math. Synthetic Reflector is reflector.json (empty activations → Lunar, definition none).
Color, tone, base, and incarnation cross titles are out of scope.
Truth lens: metaphysics-human-design-specialist.
/human-design is the pack page for a real BodyGraph. Personality is birth UTC. Design is the instant when the Sun sits at Personality Sun longitude minus 88 degrees, solved by Layer 1 solveSunLongitudeTime. Pack owns interpretation. Layer 1 only returns longitudes.
Until time, timezone, latitude, and longitude exist, the engine returns buildHumanDesignPlaceholder with pending_inputs or pending_tz. It never invents Type.
ring/web/lib/astro/ephemeris.ts wraps MIT astronomy-engine ^2.1.19:
| Function | Role |
|---|---|
eclipticLongitudes(utc) | Sun, Moon, Mercury through Pluto, geocentric true ecliptic of date via Ecliptic(GeoVector(..., true)) |
moonTrueNodeLongitude(utc) | Osculating node: geometric vectors at t and t+60s, h = r × v, atan2(hx, -hy) |
solveSunLongitudeTime(targetLon, nearUtc) | SearchSunLongitude plus bisection; covers the Sun-minus-88 wrap |
moonIllumination(utc) | Illumination(Body.Moon).phase_fraction |
tz-lookup ^6.1.25 is CC0-1.0 (not MIT), used to infer IANA tz from coordinates. Tests: ring/web/lib/astro/__tests__/ephemeris.test.ts (J2000 Sun, illumination range, solver within 60s, node in [0,360)).
| Module | Contract |
|---|---|
wheel.ts | Gate 41 starts at 302° (2° Aquarius), 5.625° per gate, six lines of 0.9375°. Gate 25 straddles 0° Aries. |
graph.ts | 64 GATE_CENTER map, 36 channels (includes 34-57), nine centers, motors, definition type via connected components |
typing.ts | Type, authority ladder, 12 profiles, cross-angle keys (Right / Juxtaposition / Left). Cross names (192) are out of scope. |
local-time.ts | localBirthToUtc two-pass Intl offset (HHmm without colon accepted) |
index.ts | 13 bodies per side: Sun, Earth (Sun+180), Moon, North Node, South Node (node+180), Mercury through Pluto |
Type: Reflector if no centers; Generator if Sacral without motor-to-Throat; Manifesting Generator if Sacral plus motor-to-Throat; Manifestor if motor-to-Throat without Sacral; Projector otherwise.
Authority ladder: Emotional (Solar Plexus), Sacral, Splenic, Ego Manifested (Heart plus Heart-Throat), Ego Projected, Self Projected (G to Throat), Mental (Ajna or Head), Lunar.
strategyKey is a string (inform, wait_to_respond, wait_for_invitation, wait_a_lunar_cycle), not the whole strategyFromType object. Fixture tests assert typeof chart.strategyKey === 'string'.
BodyGraph SVG highlights defined centers and channels and prints gate numbers. Cards use meanings.humanDesign.type|strategy|authority|profile|center|gate|notSelf with English fallback. Profile key 5/1 is requested as 5-1 for next-intl. Show-math lists birth_utc, design_utc, each body gate.line and longitude. Status ready uses t('status.ready').
Council: HD type votes today_practice at confidence 0.4. HD authority votes decision_style. Family maps are in council-mappings.json.
Public-chart JSON under lib/human-design/__tests__/fixtures/ is labeled computed-by-this-engine. Dual-calculator verify is still pending. Ra Uru Hu on this engine: Manifestor 5/1 Splenic. Published charts often say Emotional Manifestor 5/1. Type and profile match; authority does not. Do not silently "fix" the math. Synthetic Reflector is reflector.json (empty activations → Lunar, definition none).
Color, tone, base, and incarnation cross titles are out of scope.
Truth lens: metaphysics-human-design-specialist.