<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Starcharts]]></title><description><![CDATA[Starcharts]]></description><link>https://cosmoplot.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 04 Nov 2026 02:15:22 GMT</lastBuildDate><atom:link href="https://cosmoplot.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Free 3D fly-to Celestial Chart Plotter Rendered from the AstroPhysics and Real NASA Survey Data]]></title><description><![CDATA[A 3D fly-to space chart plotter where every object is rendered downstream from physics, computed from real NASA survey data: the Exoplanet Archive and JWST…]]></description><link>https://cosmoplot.hashnode.dev/free-3d-fly-to-celestial-chart-plotter-rendered-from-the-astrophysics-and-real-nasa-survey-data</link><guid isPermaLink="true">https://cosmoplot.hashnode.dev/free-3d-fly-to-celestial-chart-plotter-rendered-from-the-astrophysics-and-real-nasa-survey-data</guid><dc:creator><![CDATA[Todd Hendrixx]]></dc:creator><pubDate>Sun, 05 Jul 2026 19:57:53 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a338dc87bf3ea1f3591dbb9/d53d440d-e632-45d6-a502-77eb8dd4f96f.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is my 3D space chart plotter. You launch from the Sun and fly out to real objects, and every object you see is rendered downstream from actual physics, computed from real NASA survey data, not painted by hand. Nothing on screen is decoration pretending to be data.</p>
<p>The inputs are real NASA surveys: the NASA Exoplanet Archive for system and stellar parameters, and JWST spectra served through MAST for atmospheres. Pick a planet and you get a derived physics profile: likely interior composition, habitable-zone placement, atmospheric escape regime, a transmission-spectrum inference from real JWST data, and how detectable its heat would be to JWST.</p>
<p>Live: <a href="https://cosmoplot.io">cosmoplot.io</a>. Source: <a href="https://github.com/H-XX-D/Cosmoplot">github.com/H-XX-D/Cosmoplot</a>.</p>
<h2>Two rules</h2>
<p>The whole project runs on two rules.</p>
<p><strong>Numeric truth stays with the source.</strong> Every physical parameter comes from a real NASA survey: the NASA Exoplanet Archive for system and stellar parameters, and JWST spectra via MAST for atmospheres. Everything the app computes is derived from those values with a published relation, and it is labeled as derived, not observed.</p>
<p><strong>Every value carries its provenance.</strong> Each number belongs to a tier, and the tier is shown next to it:</p>
<table>
<thead>
<tr>
<th>Tier</th>
<th>Meaning</th>
<th>Example</th>
</tr>
</thead>
<tbody><tr>
<td>Observed</td>
<td>Straight from the survey</td>
<td>Planet radius, orbital period, host temperature</td>
</tr>
<tr>
<td>Derived</td>
<td>Computed from observed values by a law</td>
<td>Bulk density, surface gravity, equilibrium temperature</td>
</tr>
<tr>
<td>Inferred</td>
<td>Estimated from a population relation</td>
<td>Interior composition class, mass forecast from radius</td>
</tr>
<tr>
<td>Proxy</td>
<td>A deliberately simplified stand-in</td>
<td>Magnetosphere strength</td>
</tr>
<tr>
<td>Artistic</td>
<td>A rendering choice, no observational claim</td>
<td>Surface texture, corona glow</td>
</tr>
</tbody></table>
<p>Once you make that split explicit, the app becomes honest by construction. A rendered planet can never be mistaken for a photo, and a population estimate can never be mistaken for a measurement.</p>
<h2>The astrophysics</h2>
<p>The relations are standard and cited at the point of use. A few of them:</p>
<ul>
<li><p><strong>Interior composition</strong> is read from the mass-radius point against the reference curves of Zeng, Sasselov &amp; Stewart (2016), <code>R/Re = C (M/Me)^(1/3.7)</code>, with C set by composition (iron 0.86, Earth-like 1.00, rock 1.07, water-rich above).</p>
</li>
<li><p><strong>Habitable zone</strong> follows the stellar-flux limits of Kopparapu et al. (2013), with the boundary distance <code>d = sqrt((L/Lsun) / S_eff)</code>.</p>
</li>
<li><p><strong>Earth Similarity Index</strong> uses Schulze-Makuch et al. (2011) over radius, density, escape velocity, and equilibrium temperature.</p>
</li>
<li><p><strong>Atmospheric escape</strong> is screened with the Jeans parameter evaluated at the exobase, not the surface, because for a puffy hot atmosphere the large scale height lifts the exobase well above the surface and changes the answer.</p>
</li>
<li><p><strong>Transmission spectra</strong> are inverted with scale-height physics, <code>H = kT/(mu g)</code>, on real reduced JWST spectra to estimate the mean molecular weight and separate a light hydrogen envelope from a heavy or cloudy one.</p>
</li>
<li><p><strong>White dwarfs</strong> use the degenerate mass-radius relation of Nauenberg (1972) shown against the real Tremblay et al. (2019) Gaia sample.</p>
</li>
</ul>
<p>Rather than reporting single derived values, the app draws each input from its survey error bars with a per-planet seeded sampler, recomputes the full derived chain thousands of times, and reports the 16th, 50th, and 84th percentiles. You get an interval, not false precision.</p>
<h2>Testing then deleting my own theory</h2>
<p>I did not start here. I started with a phenomenological "correction" of my own, a tidy little framework I was fond of. Then I tested it against real catalogs. It failed my own tests: negative R-squared on one dataset, a coupling parameter that only worked if I let it change sign per situation, cross-checks that did not hold. So I threw it out and kept only standard, published relations, and I went back through the committed system write-ups and stripped the framework in favor of actual escape physics.</p>
<p>That was the moment the project became more than puff puff pass. I would rather propagate boring correct physics than incorrect, aesthetically pleasing propaganda, because feelings, beliefs, and confidently wrong AI have replaced the scientific method for the majority. Building the provenance system forced me to be honest about which was which.</p>
<h2>Stack</h2>
<p>Next.js (App Router), React 19, TypeScript, three.js via React Three Fiber, deployed on Vercel. Data from the NASA Exoplanet Archive TAP service, with JWST transmission spectra from MAST for supported targets.</p>
<h2>Thanks, and an ask</h2>
<p>Thanks for checking it out. I got carried away because I thought it was cool, and I shared it for the same reason. I hope you enjoy it, find it useful, and learn, as much as I did building it for you. If you want to help, whether that is a fix, a dataset, or just a bug report, you become a non-zero participant in a brighter humanity.</p>
<h2>P.S.</h2>
<p>If you like the web app and want to throw me a bone, install <a href="https://github.com/H-XX-D/recall-memory-substrate">recall-memory-substrate</a>. It will change the way you work with agentic AI, pinky swear.</p>
]]></content:encoded></item></channel></rss>