Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
Interactive Habitability Chance Index tuner — VetStar/STEHM scoring in a single-file static site
Translation pending
EducationHTMLGitHub @eagnespuertoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Live demo: eagnespuerto.github.io/exoworld-tuner
ExoWorld offers insight into the possible habitability of any exoplanet you can imagine. Be it for research or for science fiction writing, this tool is handy in ensuring you are working with a planet that may or may not be habitable. It can also be used as an interactive teaching tool for science educators looking to share knowledge on how worlds can or cannot be habitable.
A single-file static site — open index.html in any modern browser, or host it on GitHub Pages. The tuner is a UI port of the VetStar / STEHM habitability scoring engine in eagnespuerto/vetstar (backend/app/habitability.py).
Drag the sliders to set a hypothetical planet (orbital distance, radius, mass) and pick a host star spectral class plus pipeline/disposition flags. The Habitability Chance Index (HCI) recomputes live, breaking the result into six weighted sub-scores and a density modifier.
Presets are included for an Earth twin, the full TRAPPIST-1 system, a hot Jupiter, a super-Earth, and an eclipsing-binary false positive.
The header has a four-way theme switch:
| Theme | Use case |
|---|---|
| Night | Default — observatory dark palette |
| Black | OLED-friendly pure black |
| Warm | Sepia / paper-lamp tones for low-light reading |
| Light | Daytime / high-contrast monitors |
The chosen theme is persisted in localStorage. The system-diagram stage stays dark in every theme — space doesn't have a light mode, and locking it preserves the meaning of the spectral colour ramp.
Three ways to set the host:
Teff and R★ (good for quick what-ifs).Teff (K) and R★ (R⊙). The HZ ring, stellar-type sub-score, and the star's rendered colour all update from Teff.Teff and R★ from the literature (Sun, Proxima Centauri, TRAPPIST-1, Alpha Centauri A/B, Tau Ceti, the Kepler/TOI hosts, etc.) and switches the selector to Custom. This is the right choice when you want to speculate about hypothetical planets in a real system: pick the host, then drag the orbit/radius sliders to place a fictional world around it.Planet presets also auto-populate their real host star — picking TRAPPIST-1e now sets Teff = 2566 K, R★ = 0.119 R⊙ (the actual ultracool dwarf), not the generic M-dwarf class average. This makes the HZ edges and stellar sub-score noticeably more honest for compact systems.
Whenever you change just the star (a spectral button or a known-star pick — not a full planet preset), the orbital-distance slider snaps to the centre of that star's conservative HZ. So the diagram opens on a habitable orbit by default, and you can drag inward/outward from a sensible starting point.
The "known exoplanet preset" dropdown is a snapshot. The moment you tweak any planetary observable (orbit, radius, mass, disposition, vetting flag, sectors) the dropdown reverts to "— select a template —", so the UI never claims you're still looking at TRAPPIST-1e once you've moved the sliders.
The mini-system panel above the gauge is a top-down view of the orbital plane. The star sits at the centre of the projection, the orbit and the conservative habitable zone are drawn as concentric circles (the HZ band literally curves around the star), and the planet is rendered as a half-lit disc with its day side facing the star. The dashed green circles mark the inner and outer conservative HZ edges from Kopparapu et al.
The HCI is a weighted average of six independent sub-scores (each on [0, 1]), scaled to a 0–100 index, then nudged by a bulk-density modifier. A hard override caps obvious false positives.
HCI = (Σ wᵢ · sᵢ) / (Σ wᵢ) · 100 + density_modifier
| Component | Weight | What it measures |
|---|---|---|
| Planet size | 30% | STEHM atmosphere-retention regime |
| Habitable zone | 25% | Insolation relative to Kopparapu HZ edges |
| Stellar type | 15% | How well STEHM calibration transfers |
| TOI disposition | 15% | ExoFOP confidence level |
| Vetting flags | 10% | Pipeline verdict (planet / EB / blend) |
| Multi-sector | 5% | Detection consistency across TESS sectors |
Uses thresholds from Hill et al. (2026), STEHM, arXiv:2605.00170:
Rp > 2.2 R⊕ → s = 0.05 (likely sub-Neptune, not rocky)Rp < 0.5 R⊕ → s = 0.02 (atmosphere retention ≈ 0)Rp ≥ 0.8 R⊕ → s = 0.75 + 0.25 · min((Rp − 0.8)/0.2, 1) (favourable; can retain long-term CO₂)0.7 ≤ Rp < 0.8 → s = 0.35 + 0.40 · (Rp − 0.7)/0.1 (marginal)0.5 ≤ Rp < 0.7 → s = 0.05 + 0.30 · (Rp − 0.5)/0.2 (unlikely)If mass is provided, the size score is multiplied by a density-verdict factor:
ρ/ρ⊕ ≥ 0.6 → ×1.1 (rocky-consistent)ρ/ρ⊕ < 0.4 → ×0.35 (volatile-rich)The HZ edges scale with stellar luminosity L★ = R★² · (Teff / 5778 K)⁴:
limit(au) = S₀(Teff) · √L★
where S₀(Teff) is a 4th-order polynomial in (Teff − 5780) for each of:
recent_venus and runaway_greenhouse → optimistic & conservative inner edgesmaximum_greenhouse and early_mars → conservative & optimistic outer edgesScoring, with iO, iC, oC, oO denoting the four edges:
a < iO → s = 0.05 (too hot, runaway greenhouse)a > oO → s = 0.10 (too cold, frozen)iO ≤ a < iC → s = 0.30 + 0.25 · (a−iO)/(iC−iO) (warm OHZ edge)oC < a ≤ oO → s = 0.65 + 0.30 · (oO−a)/(oO−oC) (cool OHZ edge)iC ≤ a ≤ oC → s = min(0.75 + 0.20 · (1 − |f − 0.5|·2), 1) with f = (a−iC)/(oC−iC) (CHZ, peaks mid-zone)Coarse buckets by Teff:
| Regime | Teff (K) | Score |
|---|---|---|
| G dwarf (solar analog) | 5000 – 6000 | 0.90 |
| F dwarf | 6000 – 7500 | 0.80 |
| K dwarf | 3700 – 5000 | 0.65 |
| Hot star (A or earlier) | > 7500 | 0.40 |
| M dwarf | < 3700 | 0.30 |
STEHM was calibrated for Sun-like stars; lower scores for M dwarfs reflect harsher XUV and flaring.
| Code | Meaning | Score |
|---|---|---|
| CP / KP | Confirmed / Known planet | 1.00 |
| PC / APC | Planet candidate / ambiguous | 0.75 |
| TOI (unc.) | Unclassified TOI | 0.55 |
| (none) | No TOI designation | 0.50 |
| FP / FA | False positive / false alarm | 0.05 |
| Verdict | Score |
|---|---|
| Planet candidate — on-target centroid | 0.85 |
| Planet candidate — centroid unclear | 0.55 |
| Ambiguous | 0.45 |
| No significant signal | 0.40 |
| Eclipsing-binary candidate / blend | 0.05 |
Let obs = sectors observed, det = sectors showing the dip:
obs = 1 → s = 0.40 (single sector, period unconstrained)det = 0 → s = 0.30 (no detections — inconsistent with a transit)s = min(0.40 + 0.60 · det/obs, 1)After the weighted average is scaled to 0–100:
ρ/ρ⊕ ≥ 0.6 (terrestrial, ρ ≳ 3.3 g/cm³) → +10ρ/ρ⊕ < 0.4 (gas-giant, ρ ≲ 2.2 g/cm³) → −10If the pipeline verdict is eclipsing_binary_candidate or false_positive_blend, the final HCI is capped at 12 regardless of other inputs.
| HCI | Tier |
|---|---|
| ≥ 70 | Promising |
| 45 – 69 | Marginal |
| 20 – 44 | Unlikely |
| < 20 | Very unlikely |
0.8 R⊕ there.arXiv:2605.00170backend/app/habitability.py in eagnespuerto/vetstar