You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -333,6 +341,39 @@ export class RoxyVedicPlanetsTable extends RoxyDataElement<BirthChartResponse> {
333
341
</div>`;
334
342
}
335
343
344
+
/**
345
+
* Uranus, Neptune and Pluto, present only when the caller sent `modernPlanets: true`.
346
+
*
347
+
* @remarks
348
+
* They arrive in their OWN array rather than inside `meta`, which is deliberate on the API side and load-bearing here: a component iterating `meta` must not pick them up by accident, because classical Jyotish is defined over nine grahas. The moderns rule no sign, so they have no dignity and therefore no Baladi, Jagradadi or Deeptadi state and no house lordship.
349
+
*
350
+
* Those cells are left BLANK rather than filled with a zero or a dash, matching what the nodes and the Lagna already do two columns over. A zero would read as a measured state of zero strength, which is a different and false claim from "this system does not apply here".
* Display label for an ayanamsa identifier. `kp-newcomb` -> `KP Newcomb`.
146
146
*
147
-
* The raw values are API enums. KP is an initialism and must stay uppercase, which {@link humanize} alone cannot know, so the three known frames are mapped explicitly and anything else degrades to a humanized slug rather than rendering the enum.
147
+
* The raw values are API enums, and every one of them needs a human form that {@link humanize} cannot derive: KP is an initialism that must stay uppercase, and `raman` is a person, B.V. Raman, not a word. Anything unmapped degrades to a humanized slug rather than rendering the enum, which is a safe fallback and NOT a licence to skip the map: `raman` shipped as a frame months after this map was written and read as a bare "Raman" until 2026-08-03. `format.test.ts` now fails if the committed spec gains a frame this map lacks.
0 commit comments