What's changed
Release notes for TriGains. Newest first.
- Multi-language support — German, French, Spanish & Italian
- TriGains now speaks five languages: English plus German, French, Spanish, and Italian. Switch anytime from the language selector in the footer — it keeps you on the page you're reading.
- Everything is translated: the dashboard, the upgrade detail pages, the pacing simulator, the tire-pressure calculator, the science derivations, and every item in the equipment catalog.
- Each language gets its own URLs (e.g. /de/science) with hreflang tags and per-language sitemap entries, so search engines surface the right language; the physics, prices, and your saved profile are identical across all of them.
- Dashboard overhaul + sharper pacing sections
- New intro header explaining what TriGains does (dismissible, and hidden once you own gear), and a proper page title for search results.
- Sortable catalog table — click any column header to sort by name, discipline, cost, time saved, or CWPM.
- Budget filter: set a max cost and the table hides anything above it.
- CWPM legend under the table (green ≤ $30/min, amber ≤ $100/min) with an ⓘ explainer on the column header; prices marked as USD.
- Items fully covered by gear you already own now show a grayed "covered" tag instead of a cryptic ∞.
- Table footer sums the best five remaining upgrades — total minutes for total dollars at a glance.
- Marking gear owned shows an Undo toast; race distance is now switchable right in the Projected Splits panel.
- Share your profile: a Share Link button copies a URL that pre-fills your numbers for whoever opens it.
- Accessibility pass: proper heading structure, keyboard/screen-reader state on filter chips and sort headers, decorative icons hidden from screen readers, and higher-contrast small text.
- The pacing simulator's section breakdown now splits the course at the feet and crests of its hills instead of fixed-length gradient blocks: short, punchy climbs keep their own row with exact start and end, long flat stretches consolidate into single sections, and no two consecutive rows repeat the same label — the climbs you actually need to pace stand out.
- A pointer to the pacing simulator at the bottom of the dashboard, a tidier three-column footer, and weight sliders that now reach 150 kg.
- Pacing simulator
- New Ironman pacing simulator (/pacing): pick a curated bike course and your numbers, and it returns a segment-by-segment pacing plan that optimises total race time — swim + bike + run — not just the bike split.
- Steady-state physics on every ~50 m of the route, with a variable-pacing optimiser that spends watts where they buy the most time (climbs, headwind) and eases where they don't (descents) — beating constant power at equal effort.
- Reports the standard power-meter metrics — Normalized Power, Intensity Factor (IF), and Variability Index (VI) — with an IF target and a VI surge cap tuned for long-course racing.
- W′-balance durability model: a finite anaerobic reserve above Critical Power that surges drain and easy riding refills. Over-cook the target and the planner caps the surges you can't afford, so the achievable plan stays honest.
- Fuelling and run trade-off: estimates carbohydrate burn vs intake and the run-time cost of over-biking and under-fuelling, closing the loop on total race time.
- FTP is now part of your athlete profile (shared with the rest of the site); curated courses include Kona and DATEV Challenge Roth.
- Per-control hover explanations, an expandable method panel, and full peer-reviewed source citations; the science page now derives the whole pacing model.
- Physics model update
- More honest bike savings: watts saved are now evaluated at a single, physically self-consistent equilibrium speed — solved from the full power balance (aero + rolling + drivetrain) — instead of an idealised drag-only speed that ran a few percent fast. Aero gains are trimmed slightly and aero vs rolling vs drivetrain rank fairly against each other.
- Time conversion upgraded from a flat constant to a component-aware multiplier derived from the same speed solve, so each regime's power-scaling (aero ≈ flat, rolling and drivetrain favouring weaker riders) now falls out of the physics.
- Owned gear now re-prices the whole catalog: marking aero, tyre, or drivetrain gear as owned updates your CdA / rolling / drivetrain profile, shifts your equilibrium speed, and re-values every remaining upgrade against the bike you actually ride — cost-per-watt included.
- The science page now documents the equilibrium-speed model and the two-level owned-gear rebaselining.
- Initial release
- Equipment catalog across bike, swim, and run — each item stores a single physics primitive (ΔCdA, ΔCrr, ΔWatts, or Δtime%).
- Three cost-efficiency metrics: CWPM (cost per minute saved, all disciplines), CWPS (cost per watt saved, bike), and CWPP (cost per %-point of speed gain, swim/run).
- Personalised athlete profile — swim/run pace, bike power, weight, and race distance — with results that update live as you move the sliders.
- Owned-gear tracking with projected race splits and mutually-exclusive group handling, all stored locally in your browser.
- Per-upgrade detail pages with sweep charts, race-format bars, a cost-vs-time Pareto scatter, and full source citations.
- The science page deriving the BASE-rider model and every metric from first principles.