GODSIGH/js/ssdata.js
type-two 92c6e0ebc3 feat: Solar System — orbit planets, live orrery, info cards + mission trajectories
Orbit-lock: traveling to a planet re-anchors drag/scroll to orbit THAT body
(lookAtTransform), not the whole system. Cleared on the next flight / exit.

Animated orrery: planets sweep their orbits at correct relative speeds in the
overview (simDay advances in real time). Since a moving textured ellipsoid loses
its image material, each planet is split into an animated dot + a frozen textured
sphere (revealed + snapshotted forward on travel). New 'System overview' button.

Camera flights: enter/travel/overview run a manual eased setView tween (Cesium's
flyTo is dead in this mode).

Infographic cards: ssdata.js FACTS — a stat card + fun fact per body (not Earth),
auto-shown on travel and mission-select.

Space missions: ssdata.js MISSIONS — 11 real probes with date-accurate launch/
flyby/arrival waypoints, drawn as schematic heliocentric transfer arcs (multi-leg
grand tours included). Toggle + list; select highlights the path + shows a card.

Chrome: hides the OSINT clock/timeline/live-chip in SS mode; Travel-to panel is
now collapsible.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 12:21:07 +10:00

182 lines
8.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Static data for Solar System mode: infographic facts per body (no Earth — that's
// the OSINT globe) and a curated set of real planetary missions with date-accurate
// launch / flyby / arrival waypoints (fed through the live ephemeris to draw
// schematic heliocentric transfer arcs, including gravity-assist grand tours).
export const FACTS = {
sun: {
blurb: 'The star at the heart of it all — a giant ball of plasma holding 99.86% of the solar systems mass.',
stats: [
['Type', 'G2V yellow dwarf'],
['Diameter', '1,391,000 km'],
['Mass', '333,000 × Earth'],
['Surface', '~5,500 °C'],
['Core', '~15,000,000 °C'],
['Age', '~4.6 billion yrs'],
['Made of', 'Hydrogen · Helium'],
['Light to Earth', '8 min 20 s'],
],
fact: 'About 1.3 million Earths would fit inside it.',
},
mercury: {
blurb: 'The smallest planet and the closest to the Sun — a scorched, cratered ball of rock with almost no atmosphere.',
stats: [
['Diameter', '4,879 km'],
['Gravity', '0.38 g'],
['Day', '176 Earth days'],
['Year', '88 Earth days'],
['Temp', '173 to 427 °C'],
['Moons', '0'],
['From Sun', '0.39 AU'],
],
fact: 'A day on Mercury (sunrise to sunrise) lasts two of its years.',
},
venus: {
blurb: 'Earths hellish twin — a runaway greenhouse wrapped in sulfuric-acid clouds, hot enough to melt lead.',
stats: [
['Diameter', '12,104 km'],
['Gravity', '0.90 g'],
['Day', '243 days (backwards)'],
['Year', '225 Earth days'],
['Surface', '~465 °C'],
['Moons', '0'],
['From Sun', '0.72 AU'],
],
fact: 'It spins backwards, and its day is longer than its year.',
},
mars: {
blurb: 'The Red Planet — a cold desert of rusted iron with the tallest volcano and deepest canyon in the solar system.',
stats: [
['Diameter', '6,779 km'],
['Gravity', '0.38 g'],
['Day', '24 h 37 m'],
['Year', '687 Earth days'],
['Temp', 'avg 63 °C'],
['Moons', '2 (Phobos, Deimos)'],
['From Sun', '1.52 AU'],
],
fact: 'Olympus Mons rises 22 km — nearly 3× the height of Everest.',
},
jupiter: {
blurb: 'The king of the planets — a gas giant so massive it could swallow all the others, wrapped in banded storms.',
stats: [
['Diameter', '139,820 km'],
['Gravity', '2.53 g'],
['Day', '9 h 56 m (fastest)'],
['Year', '11.9 Earth years'],
['Cloud tops', '~110 °C'],
['Moons', '95 known'],
['From Sun', '5.20 AU'],
],
fact: 'The Great Red Spot is a storm wider than the whole Earth.',
},
saturn: {
blurb: 'The jewel of the solar system — a gas giant circled by billions of ice and rock chunks in a dazzling ring system.',
stats: [
['Diameter', '116,460 km'],
['Gravity', '1.07 g'],
['Day', '10 h 42 m'],
['Year', '29.5 Earth years'],
['Cloud tops', '~140 °C'],
['Moons', '146 known'],
['From Sun', '9.54 AU'],
],
fact: 'So light for its size it would float in a big enough bathtub.',
},
uranus: {
blurb: 'A pale blue-green ice giant that got knocked over — it orbits the Sun tipped completely onto its side.',
stats: [
['Diameter', '50,724 km'],
['Gravity', '0.89 g'],
['Day', '17 h 14 m'],
['Year', '84 Earth years'],
['Cloud tops', '~195 °C'],
['Moons', '28 known'],
['From Sun', '19.2 AU'],
],
fact: 'Its 98° tilt means each pole gets 42 years of sunlight, then 42 of dark.',
},
neptune: {
blurb: 'The farthest planet — a deep-blue ice giant whipped by the fastest winds anywhere in the solar system.',
stats: [
['Diameter', '49,244 km'],
['Gravity', '1.14 g'],
['Day', '16 h 06 m'],
['Year', '165 Earth years'],
['Cloud tops', '~200 °C'],
['Moons', '16 known'],
['From Sun', '30.1 AU'],
],
fact: 'Supersonic winds reach 2,100 km/h — no one fully knows why.',
},
};
// Missions: waypoints[0] is launch (Earth); the rest are real flyby / arrival dates
// at the named body. Dates are ISO (UTC). `target` is the headline destination.
export const MISSIONS = [
{
id: 'mariner2', name: 'Mariner 2', agency: 'NASA', target: 'venus', color: '#f4a259', type: 'Venus flyby',
waypoints: [{ body: 'earth', date: '1962-08-27' }, { body: 'venus', date: '1962-12-14' }],
blurb: 'The first spacecraft ever to fly past another planet, confirming Venuss furnace-hot, cloud-choked surface.',
},
{
id: 'mariner4', name: 'Mariner 4', agency: 'NASA', target: 'mars', color: '#e07a5f', type: 'Mars flyby',
waypoints: [{ body: 'earth', date: '1964-11-28' }, { body: 'mars', date: '1965-07-15' }],
blurb: 'Returned the first close-up photos of Mars — 21 grainy frames that ended a century of “canal” speculation.',
},
{
id: 'viking1', name: 'Viking 1', agency: 'NASA', target: 'mars', color: '#c1502a', type: 'Orbiter + lander',
waypoints: [{ body: 'earth', date: '1975-08-20' }, { body: 'mars', date: '1976-06-19' }],
blurb: 'First fully successful Mars landing; its biology experiments searched the soil for signs of life.',
},
{
id: 'voyager1', name: 'Voyager 1', agency: 'NASA', target: 'saturn', color: '#8ecae6', type: 'Jupiter · Saturn',
waypoints: [{ body: 'earth', date: '1977-09-05' }, { body: 'jupiter', date: '1979-03-05' }, { body: 'saturn', date: '1980-11-12' }],
blurb: 'Now the most distant human-made object, sailing through interstellar space over 24 billion km away.',
},
{
id: 'voyager2', name: 'Voyager 2', agency: 'NASA', target: 'neptune', color: '#ffd166', type: 'Grand Tour',
waypoints: [
{ body: 'earth', date: '1977-08-20' }, { body: 'jupiter', date: '1979-07-09' },
{ body: 'saturn', date: '1981-08-25' }, { body: 'uranus', date: '1986-01-24' }, { body: 'neptune', date: '1989-08-25' },
],
blurb: 'The only spacecraft ever to visit all four giant planets, riding a rare alignment on a single grand tour.',
},
{
id: 'magellan', name: 'Magellan', agency: 'NASA', target: 'venus', color: '#f2cc8f', type: 'Venus radar mapper',
waypoints: [{ body: 'earth', date: '1989-05-04' }, { body: 'venus', date: '1990-08-10' }],
blurb: 'Radar-mapped 98% of Venuss surface through its opaque clouds, revealing volcanoes and vast lava plains.',
},
{
id: 'galileo', name: 'Galileo', agency: 'NASA', target: 'jupiter', color: '#b5e48c', type: 'Jupiter orbiter (VEEGA)',
waypoints: [
{ body: 'earth', date: '1989-10-18' }, { body: 'venus', date: '1990-02-10' },
{ body: 'earth', date: '1990-12-08' }, { body: 'earth', date: '1992-12-08' }, { body: 'jupiter', date: '1995-12-07' },
],
blurb: 'First to orbit Jupiter and drop a probe into its atmosphere — after slingshots off Venus and Earth twice.',
},
{
id: 'cassini', name: 'CassiniHuygens', agency: 'NASA/ESA', target: 'saturn', color: '#e6dbb0', type: 'Saturn orbiter',
waypoints: [
{ body: 'earth', date: '1997-10-15' }, { body: 'venus', date: '1998-04-26' }, { body: 'venus', date: '1999-06-24' },
{ body: 'earth', date: '1999-08-18' }, { body: 'jupiter', date: '2000-12-30' }, { body: 'saturn', date: '2004-07-01' },
],
blurb: 'Orbited Saturn for 13 years and landed the Huygens probe on Titan — the most distant landing ever.',
},
{
id: 'juno', name: 'Juno', agency: 'NASA', target: 'jupiter', color: '#a8dadc', type: 'Jupiter polar orbiter',
waypoints: [{ body: 'earth', date: '2011-08-05' }, { body: 'earth', date: '2013-10-09' }, { body: 'jupiter', date: '2016-07-04' }],
blurb: 'Loops over Jupiters poles to peer beneath the clouds and map its deep interior and monster magnetic field.',
},
{
id: 'curiosity', name: 'Curiosity', agency: 'NASA', target: 'mars', color: '#e76f51', type: 'Mars rover',
waypoints: [{ body: 'earth', date: '2011-11-26' }, { body: 'mars', date: '2012-08-06' }],
blurb: 'Lowered into Gale Crater by a rocket-powered sky crane; still roving and drilling more than a decade on.',
},
{
id: 'perseverance', name: 'Perseverance', agency: 'NASA', target: 'mars', color: '#ee6c4d', type: 'Mars rover',
waypoints: [{ body: 'earth', date: '2020-07-30' }, { body: 'mars', date: '2021-02-18' }],
blurb: 'Caching rock samples for a future return to Earth — and flew Ingenuity, the first aircraft on another world.',
},
];