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>
182 lines
8.3 KiB
JavaScript
182 lines
8.3 KiB
JavaScript
// 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 system’s 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: 'Earth’s 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 Venus’s 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 Venus’s 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: 'Cassini–Huygens', 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 Jupiter’s 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.',
|
||
},
|
||
];
|