LATEST Join RVA Research for a reading at no-cost. Learn more

Software Updates

Changelog

Day-to-day changes across every RVA software — features, fixes and improvements. 53 updates across 3 softwares.

  1. Print Report v2 — 3-page layout, in-page preview, live SVG charts

    • Page 1: Panchang · Natal + Progression SI charts side-by-side (live DOM SVGs from engine) · Planet Analysis · House Analysis.
    • Page 2: Alan Leo progression bar chart (canvas capture via toDataURL) · Vimshottari Dasha grid with current period highlighted.
    • Page 3: D7/D9/D10 divisional grids · KP planets + cusps · Significators planet/house · Western aspect matrix.
    • Header: clean black — name + meta on left, RVA logo + 'RVA' on right, bottom border. No purple banner.
    • Footer: single line — RVA logo · website URL · report info · practitioner contact.
    • Preview opens as in-page modal (not a popup). User reviews, then clicks Print.
    • Fix: logos in header/footer now use fully inline SVG (presentation attributes) — no external fetch, renders correctly in srcdoc iframe.
  2. Strongest Planet — Mercury now wins Libra when multiple DB planets and DB winner is debilitated

    • Bug: when multiple planets had Dig Bala but none had R1, the code fell through to Sequence Order. planets.sort() mutated the array; debilitation-skip then picked Mars (next in sequence) instead of Mercury (next DB planet).
    • Root cause: missing else-clause for the 'multiple DB, no R1' case — it never resolved within the Dig Bala rule category.
    • Fix: added else-clause that sorts DB planets by sequence and skips debilitated ones, so the winner stays within the Dig Bala category. Applied to strongest-planet.astro, powerful-planet.ts, and dasha-influencer.js.
  3. Print Report — one-click printable Kundali report from live chart data

    • New teal Print FAB button (bottom-right, above AI Prompt) opens a print-optimised window with the full chart data.
    • Page 1: Birth Chart + Progression Chart (SVG, full fidelity) | KP Planets + House Cusps tables.
    • Page 2: KP Significators (Planet View + House View) | Vimshottari Dasha bhukti tables (3 mahashas per row).
    • Page 3: Planet Capacity (Light / Performance / Resource) | House Analysis — both pulled from live in-memory state.
    • Page 4 (optional): Western Aspects matrix, shown only when the Aspects tab has been opened.
    • Charts are captured as SVG (not canvas screenshots) so they print at full vector quality.
    • print-report.js exposes window.printReport(); rva-engine.js exposes window.rvaPrintData() for cross-script data access.
  4. KP Planets & House Cusps tables now appear side-by-side at 150% zoom on Safari Mac

    • At 150% browser zoom on Mac, the CSS viewport shrinks below 1024px so the lg: breakpoint no longer triggered the 2-column layout — both tables stacked vertically.
    • Fix: changed the grid breakpoint from lg (1024px) to md (768px) so the side-by-side layout holds at ~960px viewport (150% of 1440px).
  5. Strongest Planet — Mars now wins Leo when multiple planets have Dig Bala

    • Bug: when multiple planets in a sign all qualified for Dig Bala, the rule was skipped entirely and Sequence Order took over — making Moon win over Mars in Leo (Scorpio ascendant chart).
    • Fix: added R1 tiebreaker — if any planet is physically in its own Dig Bala house (R1), it wins over planets that qualify only via indirect rules (R2–R8).
    • Applied to all 4 copies of the logic: powerful-planet.ts (rva-softwares, planet-capacity), strongest-planet.astro, dasha-influencer.js, and dasha-analysis-calculator.astro.
  6. Rewrote /rva-software/ feature documentation

    • Added Planet Capacity (Light/Performance/Resource), Dasha Influencer, Alan Leo Progression Graph, Ashtakavarga Transit Strength, Panchang bar, KP ayanamsa variants, Verify Birth Time, and Strongest Planet Finder sections.
    • Removed outdated 'Upcoming Features' section (Ashtakavarga is now live).
  7. Progression chart — Venus (and any planet) showing 00:00:00 at sign boundary

    • Root cause: ephemeris-120 API rounded planet lon to 3 decimal places (149.9996→150.000), but stored sign from the unrounded value. The display computed 150%30=0 → 00:00:00 in the wrong sign.
    • Fix: new roundLon() helper caps the rounded value just inside the original sign (149.999) when rounding would cross a sign boundary. Applied to all standard planets, outer planets, and house cusps.
    • Also fixed formatDegree min+1=60 overflow (29:60:00→30:00:00) and added sign-boundary tolerance in adjustChartDataForKP for the D1/progression chart path.
  8. Profile Notes — moved to form bar; date/time narrower; AI Prompt label inside button

    • Notes icon moved from floating bottom-right button into the form bar (between gear and Submit). Shows when a profile is loaded, hidden otherwise. Only one FAB (AI Prompt) remains at bottom right.
    • Date input narrowed: 140px → 120px. Time input narrowed: 110px → 95px. Frees horizontal space in the form bar.
    • AI Prompt label moved inside the button (CSS ::after) so it sits directly below the icon. Button shape changed from circle to rounded rectangle (14px radius, 52×56px).
  9. Profile Notes — icon size, name chip width, resizable textarea; AI Prompt label

    • Trigger button reduced from 40px to 36px to match other icon sizes; drawer header icon constrained to 15px.
    • Profile name chip max-width increased (140px → 200px) so longer names like 'Hari Babu Bonda' show more.
    • Notes textarea: resize:none → resize:vertical with min-height 60px — drag bottom-right corner to expand.
    • Added 'AI Prompt' text label above the AI FAB button so users know what it does.
  10. Profile Notes — Add/Save button text now white in light mode

    • Button text was hardcoded #000 (black), showing as black on purple (#663399) in light mode. Changed to var(--primary-foreground) so it uses white in both light and dark themes.
    • Fixed timing issue: profile-notes.js now polls for an already-loaded profile on init, so the pen icon appears even when ProfileIntegration fires before the deferred script loads.
  11. Profile Notes — add, edit, delete per-profile notes from a desktop drawer

    • A pen icon appears in the bottom-right corner (above the AI FAB) when a profile is loaded. Click it to open a 330px notes drawer.
    • Notes are stored in D1 (profile_notes table) per user + profile. Fetched lazily on drawer open — zero impact on page load.
    • Toolbar: B (bold), I (italic), • List (bullet), — (divider). Select text then click B or I to wrap.
    • Full CRUD: add, inline edit, delete. Newest note shown first. Desktop-only (hidden below 1024px).
  12. Engine moved to deferred external file — HTML now parses before 256KB of JS executes

    • The entire 5250-line RVA Engine IIFE was inlined in the page, forcing the browser to parse and execute ~256KB of JavaScript before it could render anything. It's now in public/js/rva-engine.js loaded with `defer` — same code, just delivered as an external resource so HTML parsing is unblocked.
    • Inline CSS (221 lines, ~5KB) moved to public/css/rva-softwares.css and loaded via a <link> tag. Reduces initial HTML payload and allows the browser to cache the stylesheet independently.
    • Auto-submit timeout replaced: was 500ms outer + 800ms inner (1.3s total). If lat/lon are already in the URL params / storedData they're available immediately, so we submit right away. Otherwise polls every 100ms up to 2s for profile-integration to fill them. Profile auto-load from saved profiles now triggers chart ~1s faster.
    • Translation helpers (_tPlanet, _tSign, _tRetro) no longer query localStorage on every render call. Language is cached at IIFE init and updated via the languageChanged custom event.
  13. Chart-first render: defer capacity chain until Planet Capacity scrolls into view + other loading wins

    • Previously every form submit fired 7+ API calls in parallel or cascaded (ephemeris + retrograde/analyze + 6-step capacity chain: powerful-planet + light + performance + resource + combine + planet). The chart had to wait in line behind all of them. Now retrograde/analyze + the capacity chain only fire when the Planet Capacity section (rva-planet-mount) scrolls into view — users who only want to see the chart save 7 API calls per submit.
    • Deferred head scripts: chart.min.js, config.js, tooltips.js all gained `defer` — they no longer block the HTML parse. Safe because all three are only touched inside function bodies (new Chart, window.AppConfig, window.tooltipUtils) that fire after DOMContentLoaded.
    • Google Fonts: combined Inter + Lato into a single stylesheet request (was two), and added `crossorigin` to the googleapis.com preconnect (was missing — preconnect was wasted without it).
    • sessionStorage cache for /api/auth/me: was fetched on every page load for logged-in users. Now cached for 10 minutes, keyed on the token so logout/login invalidates.
    • Killed the setInterval polling (100ms × 50 tries) that was looking for the profile dropdown wrapper. Replaced with a one-shot MutationObserver + 'ui:initialized' event listener so we attach the moment the component is ready, no polling.
    • IntersectionObserver rootMargin tightened from 200px to 50px — lazy blocks (Alan Leo, KP, Aspects, now Planet Capacity too) no longer pre-fetch when the user is still 200px away.
  14. Panchang is now opt-in (default OFF) — saves one API call per submit for users who don't need it

    • Previously the panchang bar was shown by default and /api/astro-modules/daily-panchang was fetched on every form submit, even for users who never look at it. Now the toggle in Settings defaults to OFF, and the API call is skipped entirely when disabled (Promise.resolve(null) fills its place in the pipeline).
    • Bar also starts with 'hidden' in HTML so there's no skeleton flash on page load. applyPanchangState() reveals it only when the user has opted in AND the data is populated.
    • Users who had explicitly turned the toggle ON (localStorage.panchangEnabled === 'true') keep it ON. Users who never touched the toggle (no localStorage entry) will now see it OFF — this is the intended behaviour change.
  15. Chart planets + house cusps: pink hover effect for a friendlier UI cue (light + dark mode)

    • Mousing over a planet glyph or a house cusp (Roman numeral) in the SVG chart now fades its colour to pink (#ec4899) with a 150ms transition. Tooltips still appear as before — the hover colour is an additional cue that the glyph is interactive.
    • Scoped to 'svg .planet-text', 'svg .house-element', and 'svg .house-text' so it only targets SVG text elements; the div-based South Indian chart styles are unaffected. '!important' is required because charts.js sets each text element's fill via an inline style/fill attribute.
    • Dark mode fix: global.css recolors these glyphs via '[data-theme="dark"] svg text[fill="..."] { fill: #ffffff !important }' at specificity 0,2,2 — the base hover rule tied and cascade-order made the hover lose. Added a matching 'html[data-theme="dark"] svg .planet-text:hover' override at specificity 0,3,2 so the pink colour wins in dark mode too.
  16. Reload button: positioned top-right of KP cards; removed duplicate on Western Aspects

    • KP Planets card: wrapped the heading in a flex/justify-between row so the lazy-block 'Reload' button now lands at the top-right of the card instead of dropping to the bottom (the lazy-block code anchors the button to the heading's flex parent — the card had a bare h4 with no flex wrapper, so 'parentElement' was the card div and the button got appended after the table).
    • House Cusps card: same flex wrapper applied for visual consistency (no Reload button here — the lazy-block only registers one button per container, on the first heading).
    • Western Aspects: removed the duplicate dynamic 'Reload' button. The section already has a static 'Recalculate' button on the right side that does the exact same thing (clears the aspects cache and re-renders). Added a 'skipButton: true' option to registerLazyBlock and pass it for Western Aspects only — so the lazy-block's auto-load-on-scroll behavior is preserved but no extra button is added.
  17. KP tables mobile: remove unwanted gaps between columns (especially House Cusps Star column)

    • Root cause: Tailwind's 'w-full' set table width to 100% of the card, and our 'min-width: 540px' forced it wider than content needed on mobile. With auto table-layout, the browser distributed that extra ~200px across columns — and most of it landed on the Star column, producing the big empty gap between Star and Sign Lord on House Cusps.
    • Fix: on mobile, override the table width to 'auto' (size to content) and drop the min-width. Columns now sit at their natural width with no extra padding distributed. Horizontal scroll still kicks in if natural content exceeds the card (e.g. on the wider KP Planets table).
  18. KP tables mobile: 'Bhava' → 'B' header + tighter cell spacing

    • Mobile (<lg) header abbreviation: Bhava → B (in KP Planets table). Desktop keeps the full word. Done via responsive Tailwind spans.
    • Reduced cell padding from py-2 px-2 (8px) to 6px 4px on mobile, and dropped table min-width from 620px to 540px. The whitespace between columns is now noticeably tighter — same number of columns, less wasted gap.
  19. KP tables: remove sticky-column shadow line + further header abbreviations on mobile

    • Removed the 2px box-shadow that was rendering as a vertical line beside the frozen Planet/House column. Sticky behavior still works (via solid cell background); just no visual divider.
    • More mobile header abbreviations: Planet → PL (capitalized to match style), Sign → SI (both Planets and House Cusps tables). House → H stays. Desktop (≥1024px) still shows the full words.
  20. KP tables mobile: 'Planet' → 'Pl' / 'House' → 'H' header + reliable horizontal scroll

    • First-column header is abbreviated on mobile (<lg): 'Planet' → 'Pl', 'House' → 'H'. Desktop (≥1024px) keeps the full word. Done via responsive spans, no JS.
    • Re-added `min-width: 620px` on `.kp-sticky-table` under the mobile media query. Previous attempt removed it assuming the table would shrink to fit — but at 12px font with nowrap cells the content is ~534px min, which under some browser table-layout heuristics can end up clipping columns without triggering scroll. Forcing min-width > card width guarantees overflow, which guarantees the horizontal scrollbar appears and the sticky first column becomes meaningful.
    • Cleaned up duplicate scrollbar CSS, explicit `overflow-x: auto` on the scroll container.
  21. KP tables: restore default 12px font on mobile (matches Significators table)

    • Previous mobile CSS shrunk KP tables to 10–10.5px to squeeze in all columns. User feedback: that reads smaller than the neighbouring Significators table which stays at text-xs (12px). Removed the font-size and padding overrides — KP tables now use the same 12px / py-2 px-2 as the rest of the page.
    • Kept the width-saving tricks (2-line lord headers, Star cell wrapping, no forced min-width) so all columns still fit the card without horizontal scroll at 12px.
  22. KP tables mobile: drop min-width, keep 2-line 'Sign / Lord' headers, let Star cell wrap — fits a phone screen with no horizontal scroll

    • Earlier mobile CSS was flattening the 2-line 'Sign Lord' / 'Star Lord' / 'Sub Lord' / 'SS Lord' / 'SSS Lord' headers onto one line (via `th br { display: none }`), which made the lord columns eat horizontal space. Restored the 2-line headers on mobile to match the desktop look.
    • Allowed the Star cell to wrap (`white-space: normal`) so 'U. Bhadrapada (4)' breaks into two lines instead of stretching the column. Every other cell stays single-line.
    • Removed the forced `min-width: 520px/560px` on mobile — the table now shrinks to fit the card width, so on a 375–430px phone all 10/9 columns are visible without horizontal scroll. Sticky first column is preserved in case the table still overflows on very narrow screens.
  23. KP Star column: Uttara/Purva prefix abbreviation now actually matches the source names

    • Previous fix used map keys like 'U.Bhadrapada' — but the nakshatra source in kp-sublords.ts uses full Indian names ('Uttara Bhadrapada', 'Purva Phalguni'). So the map never matched and the column still read 'Uttara Bhadrapada (4)'. Updated keys to the actual source names: 'Uttara Bhadrapada' → 'U. Bhadrapada', 'Purva Phalguni' → 'P. Phalguni', etc.
  24. KP tables mobile: horizontal swipe was broken — removed overflow-y:hidden

    • Prior fix set 'overflow-y: hidden' on the scroll container, which on iOS can block horizontal swipe gestures. Removed that rule and added 'touch-action: pan-x pan-y' so the browser explicitly allows both horizontal table scroll and vertical page scroll.
  25. KP tables mobile: actually freeze Planet/House column during horizontal scroll (was silently broken)

    • The sticky first column was intended but not working — Tailwind's Preflight sets 'border-collapse: collapse' on tables by default, and that breaks 'position: sticky' on <td>/<th>. Added 'border-collapse: separate; border-spacing: 0' on .kp-sticky-table to let sticky actually take effect.
    • Hardened the sticky rules: solid backgrounds on the frozen first cell (so scrolled row text never bleeds through), a row-hover override on the frozen cell, and an 'overflow-y: hidden' on the scroll container so the horizontal scroll is clean.
    • Rules are no longer gated behind max-width:1024px — they're always on (desktop fits the card, so there's nothing to stick). Added min-width to the first column (44px / 38px on <480) to keep the Planet/House label from visually collapsing.
  26. KP tables: keep full 'Bhadrapada', only abbreviate the Uttara/Purva prefix with a space (U. Bhadrapada)

    • Previous abbreviation was too aggressive — 'U.Bhadra' lost the distinctive '-pada' ending. New rule: only the prefix is shortened (Uttara → 'U. ', Purva → 'P. ') with a space after the period, and the core name is kept full: 'U. Bhadrapada (4)', 'P. Bhadrapada', 'U. Phalguni', 'P. Phalguni'.
    • Ashadha is kept as the shorter 'Ashada' spelling (P. Ashada / U. Ashada) to match the most common display form. Single-line wrapping preserved via nowrap on mobile.
  27. KP Planets + House Cusps tables: compact mobile layout with 2-letter signs and shortened nakshatra names

    • Sign column now uses 2-letter codes (Ar, Ta, Ge, Cn, Le, Vi, Li, Sc, Sg, Cp, Aq, Pi) instead of 3-letter (Ari, Tau, Gem, …) — Cn disambiguates Cancer from Cp (Capricorn).
    • Nakshatra names shortened in the Star column: Ashwini → Aswini, Mrigashira → Mrigasira, Ardra → Aridra, Pushya → Pushyami, P./U.Ashadha → P./U.Ashada, Shravana → Sravana, Shatabhisha → Satabhisha, P./U.Bhadrapada → P./U.Bhadra. Format changed from 'Name - pada' to 'Name (pada)'.
    • Mobile: reduced table min-width from 680px to 560px (520px on <480px phones), tightened cell padding, added nowrap on cells — less horizontal scroll on phones while all columns remain visible.
  28. Alan Leo year-aspect table: short planet names + mobile-responsive columns

    • Dropped the redundant long planet name from the Natal/Progressed cells (was 'Ju Jupiter', now just 'Ju'; Midheaven stays as 'X') — short codes were already shown and the full name was pure noise.
    • On mobile (<md), hide the R, +/-, and Base columns so the table fits a phone screen — Natal, EffR, Deg, Progressed, EffR, Deg, Aspect, Orb, and Final remain visible. Reduced cell padding to px-1 on mobile for more room.
    • Mobile-only header abbreviations: Natal → Nat, Progressed → Pro, Aspect → Asp. Aspect names also abbreviated on mobile: conjunction → Conj, sextile → Sex, trine → Tri, square → Sqr, opposition → Opp. Full words remain at md+ breakpoint.
  29. North chart: house numbers no longer overlap planets in crowded houses; removed tooltip from house numbers

    • Houses 5, 6, 8, 9 (corner triangles) had their green house number label sitting on top of planet text when multiple planets occupied the same sign — numbers now placed at the outer edge of each triangle, away from the planet text anchor
    • Removed hover tooltip from green house-number labels (1–12) — tooltip was redundant since the sign code is already visible inline
  30. Planet tooltip: 2-letter sign code + HH:MM:SS (Me | Ta 15:23:45 | Krittika-4 (Su))

    • Tooltip now reads e.g. 'Me | Ta 15:23:45 | Krittika-4 (Su)' — 2-letter sign code matching the NI chart house labels (Ar Ta Ge Cn Le Vi Li Sc Sg Cp Aq Pi) and HH:MM:SS for degree within sign (was Tau 15°23'45").
  31. North chart: show sign short code next to each house number (1 Ar, 2 Ta, …)

    • Each of the 12 green house labels now carries the 2-letter sign code for that house based on the current ascendant (Ar Ta Ge Cn Le Vi Li Sc Sg Cp Aq Pi) — e.g. a Virgo ascendant reads '1 Vi', '2 Li', '10 Ge'.
  32. North chart: constant-size labels — drop degrees (to tooltip) when a house is crowded

    • Previously crowded houses either dropped planets or shrank the font; now the label stays at 13px and instead drops the degree suffix — so a busy house shows 'Me Su' side-by-side while a calm one still shows 'Me 19:31'. Full DD:MM remains on the hover tooltip via data-longitude.
  33. North chart: never drop planets, fix house tooltip sign, keep green house numbers in dark mode

    • Crowded houses previously dropped any planet past maxY (e.g. Mercury silently missing next to Sun+cusp) — now compresses through tiers (13px → 11px → 2-per-line → name-only) so every planet renders; full degrees still visible on hover tooltip
    • House-number hover used to always label H1 as Aries regardless of ascendant (buildChartData was falling back to Aries); now populates window.astrologyApp.chartsLoaded.natal with the actual signData + ascendant
    • Dark mode was repainting the green NI house numbers pink (#f68e8e); restored to the light-mode green
  34. Advanced Settings: remove Graha Hiding; House System fixed to Placidus

    • Graha Hiding dropdown removed from the Advanced Settings panel
    • House System dropdown now shows only Placidus (other options removed)
    • Settings grid reflowed from 4 to 3 columns to match the remaining fields
  35. Verify Birth Time popup: correct sunrise (was off by ~2h)

    • The /api/astro-modules/daily-panchang endpoint returns sunrise as an epoch-ms number, not a string — the popup was treating it as a string and sending garbage to /api/btr/verify
    • Now converts the epoch ms to HH:MM:SS using the birth place's timezone offset (matches /btr/ behavior, plus the +4 min Vedic adjustment)
    • Summary strip sunrise, LMT, and LMT & Sunrise values now match the full /btr/ page for the same input
  36. Verify Birth Time popup: global styles + HH:MM:SS + explicit Use button

    • Tatwa pills, dark Nadi header, and match badges weren't rendering because Astro's scoped CSS doesn't cover innerHTML-injected rows — styles made global (vbt-* prefix keeps them isolated)
    • Nadi table now has a 'Use' button column instead of row-click auto-apply — birth time only changes when you explicitly choose a row
    • Use buttons (both Ranked candidates and Nadi table) now write the full HH:MM:SS value, matching the seconds-precision time picker on the form
  37. Verify Birth Time popup: /btr/ look + click-row-to-rectify

    • Added summary strip above the Nadi table — Weekday, Sunrise, LMT, LMT & Sunrise, Star Lord, Nadi Row, Tatwa, Planet 90/V, Gender/Star, Ascendant — same 10 tiles as the full /btr/ page
    • Tatwa cells are now colored pill badges (FemJala / MalePrithvi / MaleAkash / FemVayu / MaleTejo) in both Ranked candidates and the Nadi table, not plain colored text
    • Nadi table has the dark-navy header bar and highlighted active weekday + sign-type columns
    • Click ANY row in the Nadi table to rectify birth time to that row's T2 (HH:MM) — same behavior as /btr/
    • API /api/btr/verify now returns sunrise/LMT/final-time strings so the popup can render the summary without extra calls
  38. Verify Birth Time popup: visual polish

    • Cleaner panel shell — rounded card with soft shadow, gradient header, subtle section dividers
    • Scan controls: uppercase micro-labels, focus ring on inputs and selects, primary-tinted Run button with lift-on-hover
    • Candidate table: sticky column headers, row hover, best/current rows now use a left-edge color bar + subtle tint (no more heavy full-row wash)
    • Match indicators turned into small circular badges (green tick / muted cross) instead of plain characters
    • Use button is now a pill; mobile tightens padding and font-size for narrow viewports
    • Status bar shows as a left-accent info block; error state uses a matching red accent
  39. Verify Birth Time: clock icon button next to the settings gear

    • Moved Verify Birth Time from a standalone button below the form to an icon button inside the form bar, right before the settings gear
    • Keeps the Submit split-menu (Save / Edit / Delete) reserved for profile management — Verify stays a pre-submit data action
    • Same popup and Nadi Tatwa engine; only the toggle location changed
  40. Verify Birth Time popup (Nadi Tatwa) — rectify without leaving the form

    • New 'Verify Time' button below the birth-data form opens an inline popup
    • Set a scan window (default −10 / +5 minutes), pick gender, optionally auto-detect sign type
    • Runs the Nadi Tatwa rectification via a new /api/btr/verify endpoint — same engine as /btr/
    • Shows ranked candidate times with T1 / T2 / row / tatwa / antar / gender / 90-min planet / Vinod planet, plus a visual Nadi table slice centered on your row
    • Click 'Use' on any candidate — writes the bucket-midpoint T2 back into the birth time field, ready to submit
    • Engine extracted to src/lib/rva/nadi-tatwa.ts so the API and /btr/ page share the same math
  41. Planets Analysis progressed capacity uses v4 total (no double-light)

    • Sub-row capacity values in Planets Analysis were recomputed locally with the pre-v4 formula (perf×0.6 + res×0.4)×light — this double-applied light and used stale weights
    • Now reads capacity.total directly from the API response, matching the v4 formula (perf×0.7 + res×0.3) used by the Dasha Bar and natal main row
    • Fixes the Jupiter sub-row showing 49/11 when Dasha Bar showed 64 for the same progressed year
  42. RVA_MASTER: section checkboxes, age range, and presets

    • Age range inputs (0-120) with auto-synced year display — think in ages, not just years
    • Section checkboxes: Chart, D9 Navamsha, Dynamic Natal, Capacity, House Analysis, Dasha/Bhukti, Progression
    • Uncheck any section to trim prompt size for NotebookLM's paste limits
    • Presets: Quick (Chart+Capacity+Dasha), Full (all on), Timing (Dasha+Progression+Dynamic)
    • Preferences saved to localStorage — your selections persist across visits
    • Focus filter (Career/Marriage/Health/Wealth) still narrows house analysis
  43. RVA_MASTER: dasha/bhukti show DI-connected bhavas and houses

    • Each Mahadasha and Bhukti line now includes Dasha Influencer's bhava (whole-sign) and house (Placidus)
    • Shows the sign where the DI planet sits + strongest planet in that sign
    • Gives AI the house connections needed for timing and area-of-life predictions
  44. RVA_MASTER: Dynamic Natal Chart positions in AI prompt

    • Shows progressed positions of Ma/Me/Ju/Ve/Sa at start/end of range when they differ from natal
    • Su/Mo/Ra/Ke and cusps remain frozen per Dynamic Natal Chart Rule 1
    • Lists sign-change years within the selected range
    • Helps AI identify when dynamic planets have moved signs or flipped retro/direct
  45. RVA_MASTER: structured AI prompt with range filter and focus areas

    • RUN RVA_MASTER header signals AI this is a structured data prompt
    • Range picker (From/To year) + quick chips (5y/10y/60y/All) — filters dasha and progression to selected years only
    • Focus filter (Career/Marriage/Health/Wealth) narrows house analysis to relevant houses
    • Pre-computed capacity scores (Light/Perf/Res/Total) inline — AI interprets numbers instead of guessing
    • Dasha timeline range-filtered with capacity + DI scores per Maha/Bhukti period
    • Progression summary: year-by-year +/- score with top positive and negative aspect
    • Compact ~60-80 line format optimized for NotebookLM paste limits
    • House analysis includes Planet/Occ/Lord/Karaka yearly change sub-rows (range-filtered)
  46. KP Tables: consistent planet degrees across all tabs

    • KP Tables API was dropping seconds from birth time during local→UTC conversion
    • Increased planet degree precision from 2 to 6 decimal places in retrograde/analyze API
    • All tabs (Birth Chart, KP Tables, etc.) now show identical planet positions
  47. KP New ayanamsa: fix ~22-second planetary degree offset

    • KP New (NKPA) was using Swiss Ephemeris built-in Krishnamurti (KP Old) instead of the custom NKPA formula
    • Applied custom adjustment (Lahiri - NKPA) to all planet longitudes, house cusps, and outer planets
    • Fixed in birth-chart, retrograde/analyze, alan-leo, capacity/progression, ashtakavarga/transit-strength APIs
    • Degrees now match V1 XE Man reference software within 1-2 arc-seconds
  48. Alan Leo: slow planet star-lord follows raw retro, not degree

    • Ju/Sa/Ur in progression now keep their NATAL nakshatra when raw motion is Direct
    • Switch to progressed nakshatra only when the planet is physically retrograde
    • Degrees always take the progressed value (unchanged)
    • Fixes wrong Ra/Ke flip on Jupiter — e.g. 2029 Ju square Ma now scores -36 (was +36)
  49. AI Prompt: one-click chart export for LLM analysis

    • Floating AI bot button (bottom-right) copies a ready-to-paste chart summary to the clipboard
    • Includes D1 planets with sign, degree, nakshatra, pada, star lord, retrograde and bhava
    • Includes D9 Navamsha with position from the D9 ascendant
    • House Analysis scores with yearly progression changes (Occupant / Lord / Karaka / Total)
    • Full Mahadasha + Bhukti scorings with DI and R4 values
    • Alan Leo yearly progression aspects — choose 60 / 80 / 100 / 120 years on hover
    • Preamble + 7 interpretation prompts included so the LLM knows exactly what to analyse
  50. Dasha Bar: R4 scores + dasha planet scoring

    • Pulled R4 scores from the Rule 4 table in Dasha Bar
    • Score the dasha planet itself (not the star lord) in Dasha Bar
    • Default scores for the Dasha Influencer
  1. Mobile birth form readability

    • Widened mobile date field so 'dd-mm-yyyy' shows in full
    • Shrunk Name field so Date and Time stay readable side-by-side

No updates yet. Check back soon.

No updates yet. Check back soon.

No updates yet. Check back soon.

No updates yet. Check back soon.

No updates yet. Check back soon.

No updates yet. Check back soon.

  1. Click any Nadi row to rectify the birth time

    • Rows are now clickable — the birth time updates to that row's T2 (bucket midpoint, so recomputation lands back on the same row) and the calc re-runs automatically
    • Hover cursor turns into a pointer; the currently matched row stays non-clickable to avoid no-op re-runs
    • Pairs naturally with the T2 column — scan the table for a row whose planet/tatwa pattern fits known life events and click to lock it in
  2. Nadi table shows T2 (clock time) alongside T1

    • New T2 column next to T1 in the 480-row Nadi table
    • T2 = T1 reversed through the LMT and sunrise adjustments — i.e. the real wall-clock birth time that maps to that row
    • Makes it easier to scan rows and pick a rectified birth time without running the math in your head