From 62e231385b958251b22253351ab50aafa605e32f Mon Sep 17 00:00:00 2001 From: alowpoly Date: Thu, 1 Oct 2026 15:44:09 -0300 Subject: [PATCH 1/4] fix: give every body without a measured colour one neutral grey --- .../bake/authoring/damit-asteroids/author.mts | 3 ++- .../objects/src/registry/context-colour.ts | 3 +++ packages/objects/src/registry/index.ts | 2 +- .../src/new-object/new-hosted-planet.mts | 3 ++- .../telescope-cli/src/new-object/scaffold.mts | 3 ++- site/build/prepare/prepare-spatial-context.ts | 4 ++-- site/test/neutral-catalogue-colour.test.mts | 18 ++++++++++++++++++ src/objects/abundantia/object.json | 2 +- src/objects/achilles/object.json | 2 +- src/objects/achlys/object.json | 2 +- src/objects/adelheid/object.json | 2 +- src/objects/adeona/object.json | 2 +- src/objects/adrastea/object.json | 2 +- src/objects/aegaeon/object.json | 2 +- src/objects/aegina/object.json | 2 +- src/objects/aemilia/object.json | 2 +- src/objects/aethra/object.json | 2 +- src/objects/agenor/object.json | 2 +- src/objects/aglaja/object.json | 2 +- src/objects/ajax/object.json | 2 +- src/objects/albion/object.json | 2 +- src/objects/albiorix/object.json | 2 +- src/objects/alexandra/object.json | 2 +- src/objects/alkeste/object.json | 2 +- src/objects/alkmene/object.json | 2 +- src/objects/alphonsina/object.json | 2 +- src/objects/althaea/object.json | 2 +- src/objects/ambrosia/object.json | 2 +- src/objects/amphitrite/object.json | 2 +- src/objects/amycus/object.json | 2 +- src/objects/anahita/object.json | 2 +- src/objects/ananke/object.json | 2 +- src/objects/angelina/object.json | 2 +- src/objects/anna/object.json | 2 +- src/objects/annefrank/object.json | 2 +- src/objects/anthe/object.json | 2 +- src/objects/antigone/object.json | 2 +- src/objects/antonia/object.json | 2 +- src/objects/apollo/object.json | 2 +- src/objects/apophis/object.json | 2 +- src/objects/aquitania/object.json | 2 +- src/objects/ara/object.json | 2 +- src/objects/arethusa/object.json | 2 +- src/objects/ariadne/object.json | 2 +- src/objects/arrokoth/object.json | 2 +- src/objects/artemis/object.json | 2 +- src/objects/asbolus/object.json | 2 +- src/objects/aschera/object.json | 2 +- src/objects/asia/object.json | 2 +- src/objects/aspasia/object.json | 2 +- src/objects/asporina/object.json | 2 +- src/objects/asteroid-1950-da/object.json | 2 +- src/objects/asteroid-1992-sk/object.json | 2 +- src/objects/asteroid-1994-cc/object.json | 2 +- src/objects/asteroid-1996-hw1/object.json | 2 +- src/objects/asteroid-1998-ml14/object.json | 2 +- src/objects/asteroid-1998-wt24/object.json | 2 +- src/objects/asteroid-1999-fr33/object.json | 2 +- src/objects/asteroid-1999-jv6/object.json | 2 +- src/objects/asteroid-2001-qw16/object.json | 2 +- src/objects/asteroid-2001-sn263/object.json | 2 +- src/objects/asteroid-2002-ce26/object.json | 2 +- src/objects/asteroid-2002-tc302/object.json | 2 +- src/objects/asteroid-2002-tx300/object.json | 2 +- src/objects/asteroid-2003-vs2/object.json | 2 +- src/objects/asteroid-2008-ev5/object.json | 2 +- src/objects/asteroid-2012-vp113/object.json | 2 +- src/objects/asteroid-2017-of201/object.json | 2 +- src/objects/asterope/object.json | 2 +- src/objects/astraea/object.json | 2 +- src/objects/atalante/object.json | 2 +- src/objects/athamantis/object.json | 2 +- src/objects/athor/object.json | 2 +- src/objects/augusta/object.json | 2 +- src/objects/auravictrix/object.json | 2 +- src/objects/aurelia/object.json | 2 +- src/objects/aurora/object.json | 2 +- src/objects/ausonia/object.json | 2 +- src/objects/autonoe/object.json | 2 +- src/objects/aya/object.json | 2 +- src/objects/bacchus/object.json | 2 +- src/objects/badenia/object.json | 2 +- src/objects/bamberga/object.json | 2 +- src/objects/baucis/object.json | 2 +- src/objects/bavaria/object.json | 2 +- src/objects/beatrix/object.json | 2 +- src/objects/bebhionn/object.json | 2 +- src/objects/belinda/object.json | 2 +- src/objects/bellona/object.json | 2 +- src/objects/bergelmir/object.json | 2 +- src/objects/bertha/object.json | 2 +- src/objects/bestla/object.json | 2 +- src/objects/bettina/object.json | 2 +- src/objects/betulia/object.json | 2 +- src/objects/bianca/object.json | 2 +- src/objects/bienor/object.json | 2 +- src/objects/braille/object.json | 2 +- src/objects/brucia/object.json | 2 +- src/objects/brunhild/object.json | 2 +- src/objects/byblis/object.json | 2 +- src/objects/caliban/object.json | 2 +- src/objects/callirrhoe/object.json | 2 +- src/objects/camilla/object.json | 2 +- src/objects/carlova/object.json | 2 +- src/objects/carme/object.json | 2 +- src/objects/castalia/object.json | 2 +- src/objects/cerberus/object.json | 2 +- src/objects/chaldene/object.json | 2 +- src/objects/chariklo/object.json | 2 +- src/objects/china/object.json | 2 +- src/objects/chiron/object.json | 2 +- src/objects/circe/object.json | 2 +- src/objects/clarissa/object.json | 2 +- src/objects/clementina/object.json | 2 +- src/objects/coelestina/object.json | 2 +- src/objects/comet-103p/object.json | 2 +- src/objects/comet-109p/object.json | 2 +- src/objects/comet-137p/object.json | 2 +- src/objects/comet-143p/object.json | 2 +- src/objects/comet-153p/object.json | 2 +- src/objects/comet-162p/object.json | 2 +- src/objects/comet-167p/object.json | 2 +- src/objects/comet-17p/object.json | 2 +- src/objects/comet-19p/object.json | 2 +- src/objects/comet-1p/object.json | 2 +- src/objects/comet-209p/object.json | 2 +- src/objects/comet-21p/object.json | 2 +- src/objects/comet-26p/object.json | 2 +- src/objects/comet-29p/object.json | 2 +- src/objects/comet-2i/object.json | 2 +- src/objects/comet-2p/object.json | 2 +- src/objects/comet-3i/object.json | 2 +- src/objects/comet-46p/object.json | 2 +- src/objects/comet-55p/object.json | 2 +- src/objects/comet-67p/object.json | 2 +- src/objects/comet-81p/object.json | 2 +- src/objects/comet-8p/object.json | 2 +- src/objects/comet-96p/object.json | 2 +- src/objects/comet-9p/object.json | 2 +- src/objects/comet-c1956-r1/object.json | 2 +- src/objects/comet-c1973-e1/object.json | 2 +- src/objects/comet-c1983-h1/object.json | 2 +- src/objects/comet-c1995-o1/object.json | 2 +- src/objects/comet-c1996-b2/object.json | 2 +- src/objects/comet-c2006-p1/object.json | 2 +- src/objects/comet-c2013-a1/object.json | 2 +- src/objects/comet-c2014-un271/object.json | 2 +- src/objects/comet-c2020-f3/object.json | 2 +- src/objects/comet-c2023-a3/object.json | 2 +- src/objects/cordelia/object.json | 2 +- src/objects/crantor/object.json | 2 +- src/objects/cressida/object.json | 2 +- src/objects/crimea/object.json | 2 +- src/objects/cybele/object.json | 2 +- src/objects/cyrene/object.json | 2 +- src/objects/dactyl/object.json | 2 +- src/objects/damocles/object.json | 2 +- src/objects/daphne/object.json | 2 +- src/objects/datura/object.json | 2 +- src/objects/davida/object.json | 2 +- src/objects/deedee/object.json | 2 +- src/objects/dejanira/object.json | 2 +- src/objects/dejopeja/object.json | 2 +- src/objects/demodokus/object.json | 2 +- src/objects/desdemona-666/object.json | 2 +- src/objects/desdemona/object.json | 2 +- src/objects/despina/object.json | 2 +- src/objects/dido/object.json | 2 +- src/objects/didymos/object.json | 2 +- src/objects/dike/object.json | 2 +- src/objects/dimorphos/object.json | 2 +- src/objects/dinkinesh/object.json | 2 +- src/objects/diomedes/object.json | 2 +- src/objects/dione-106/object.json | 2 +- src/objects/diotima/object.json | 2 +- src/objects/donaldjohanson/object.json | 2 +- src/objects/doris/object.json | 2 +- src/objects/dresda/object.json | 2 +- src/objects/ducrosa/object.json | 2 +- src/objects/dysnomia/object.json | 2 +- src/objects/echeclus/object.json | 2 +- src/objects/echo/object.json | 2 +- src/objects/educatio/object.json | 2 +- src/objects/eger/object.json | 2 +- src/objects/egeria/object.json | 2 +- src/objects/elara/object.json | 2 +- src/objects/elatus/object.json | 2 +- src/objects/elektra/object.json | 2 +- src/objects/eleonora/object.json | 2 +- src/objects/elpis/object.json | 2 +- src/objects/emma/object.json | 2 +- src/objects/eos/object.json | 2 +- src/objects/erato/object.json | 2 +- src/objects/erigone/object.json | 2 +- src/objects/erinome/object.json | 2 +- src/objects/erriapus/object.json | 2 +- src/objects/eudora/object.json | 2 +- src/objects/eugenia/object.json | 2 +- src/objects/eukrate/object.json | 2 +- src/objects/eumelos/object.json | 2 +- src/objects/eunomia/object.json | 2 +- src/objects/euphrosyne/object.json | 2 +- src/objects/europa-52/object.json | 2 +- src/objects/eurybates/object.json | 2 +- src/objects/eurykleia/object.json | 2 +- src/objects/eurynome/object.json | 2 +- src/objects/euterpe/object.json | 2 +- src/objects/eva/object.json | 2 +- src/objects/felicitas/object.json | 2 +- src/objects/ferdinand/object.json | 2 +- src/objects/feronia/object.json | 2 +- src/objects/fides/object.json | 2 +- src/objects/flora/object.json | 2 +- src/objects/fornjot/object.json | 2 +- src/objects/fortuna/object.json | 2 +- src/objects/francisco/object.json | 2 +- src/objects/freia/object.json | 2 +- src/objects/galatea-74/object.json | 2 +- src/objects/galatea/object.json | 2 +- src/objects/gallia/object.json | 2 +- src/objects/ganymed/object.json | 2 +- src/objects/geographos/object.json | 2 +- src/objects/gerda/object.json | 2 +- src/objects/gkunhomdima/object.json | 2 +- src/objects/goibniu/object.json | 2 +- src/objects/golevka/object.json | 2 +- src/objects/gonggong/object.json | 2 +- src/objects/greip/object.json | 2 +- src/objects/gryphia/object.json | 2 +- src/objects/gyptis/object.json | 2 +- src/objects/halimede/object.json | 2 +- src/objects/harmonia/object.json | 2 +- src/objects/harpalyke/object.json | 2 +- src/objects/hati/object.json | 2 +- src/objects/hebe/object.json | 2 +- src/objects/hedda/object.json | 2 +- src/objects/hekate/object.json | 2 +- src/objects/hektor/object.json | 2 +- src/objects/hela/object.json | 2 +- src/objects/henrietta/object.json | 2 +- src/objects/hera/object.json | 2 +- src/objects/herculina/object.json | 2 +- src/objects/hermione/object.json | 2 +- src/objects/hersilia/object.json | 2 +- src/objects/hertha/object.json | 2 +- src/objects/hesperia/object.json | 2 +- src/objects/hestia/object.json | 2 +- src/objects/hidalgo/object.json | 2 +- src/objects/hiiaka/object.json | 2 +- src/objects/himalia/object.json | 2 +- src/objects/hopi/object.json | 2 +- src/objects/huberta/object.json | 2 +- src/objects/hungaria/object.json | 2 +- src/objects/huya/object.json | 2 +- src/objects/hydra/object.json | 2 +- src/objects/hygiea/object.json | 2 +- src/objects/hylonome/object.json | 2 +- src/objects/hypatia/object.json | 2 +- src/objects/hyrrokkin/object.json | 2 +- src/objects/ianthe/object.json | 2 +- src/objects/iau/object.json | 2 +- src/objects/iclea/object.json | 2 +- src/objects/ijiraq/object.json | 2 +- src/objects/ilioneus/object.json | 2 +- src/objects/ilse/object.json | 2 +- src/objects/ino/object.json | 2 +- src/objects/interamnia/object.json | 2 +- src/objects/io-85/object.json | 2 +- src/objects/iocaste/object.json | 2 +- src/objects/iphigenia/object.json | 2 +- src/objects/irene/object.json | 2 +- src/objects/iris/object.json | 2 +- src/objects/isabella/object.json | 2 +- src/objects/isis/object.json | 2 +- src/objects/isonoe/object.json | 2 +- src/objects/ivar/object.json | 2 +- src/objects/ixion/object.json | 2 +- src/objects/johanna/object.json | 2 +- src/objects/juewa/object.json | 2 +- src/objects/julia/object.json | 2 +- src/objects/juliet/object.json | 2 +- src/objects/juno/object.json | 2 +- src/objects/kalliope/object.json | 2 +- src/objects/kallisto/object.json | 2 +- src/objects/kalyke/object.json | 2 +- src/objects/kalypso/object.json | 2 +- src/objects/karin/object.json | 2 +- src/objects/kemi/object.json | 2 +- src/objects/kerberos/object.json | 2 +- src/objects/kiviuq/object.json | 2 +- src/objects/kleopatra/object.json | 2 +- src/objects/klio/object.json | 2 +- src/objects/klotho/object.json | 2 +- src/objects/klymene/object.json | 2 +- src/objects/klytia/object.json | 2 +- src/objects/kolga/object.json | 2 +- src/objects/koronis/object.json | 2 +- src/objects/kressmannia/object.json | 2 +- src/objects/kriemhild/object.json | 2 +- src/objects/lachesis/object.json | 2 +- src/objects/laetitia/object.json | 2 +- src/objects/lamberta/object.json | 2 +- src/objects/laomedeia/object.json | 2 +- src/objects/laurentia/object.json | 2 +- src/objects/leda-38/object.json | 2 +- src/objects/leda/object.json | 2 +- src/objects/leleakuhonua/object.json | 2 +- src/objects/leto/object.json | 2 +- src/objects/leucus/object.json | 2 +- src/objects/leukothea/object.json | 2 +- src/objects/liberatrix/object.json | 2 +- src/objects/libussa/object.json | 2 +- src/objects/lilaea/object.json | 2 +- src/objects/loge/object.json | 2 +- src/objects/lomia/object.json | 2 +- src/objects/loreley/object.json | 2 +- src/objects/lucia/object.json | 2 +- src/objects/lucina/object.json | 2 +- src/objects/lutetia/object.json | 2 +- src/objects/lycomedes/object.json | 2 +- src/objects/lydia/object.json | 2 +- src/objects/lysithea/object.json | 2 +- src/objects/lyyli/object.json | 2 +- src/objects/maja/object.json | 2 +- src/objects/mani/object.json | 2 +- src/objects/margaret/object.json | 2 +- src/objects/massalia/object.json | 2 +- src/objects/medea/object.json | 2 +- src/objects/medusa/object.json | 2 +- src/objects/megaclite/object.json | 2 +- src/objects/melete/object.json | 2 +- src/objects/meliboea/object.json | 2 +- src/objects/melpomene/object.json | 2 +- src/objects/menelaus/object.json | 2 +- src/objects/menippe/object.json | 2 +- src/objects/menoetius/object.json | 2 +- src/objects/mentor/object.json | 2 +- src/objects/methone/object.json | 2 +- src/objects/metis-9/object.json | 2 +- src/objects/minerva/object.json | 2 +- src/objects/mithra/object.json | 2 +- src/objects/moshup/object.json | 2 +- src/objects/moskva/object.json | 2 +- src/objects/mr-spock/object.json | 2 +- src/objects/mundilfari/object.json | 2 +- src/objects/musa/object.json | 2 +- src/objects/naiad/object.json | 2 +- src/objects/namaka/object.json | 2 +- src/objects/nausikaa/object.json | 2 +- src/objects/nemausa/object.json | 2 +- src/objects/nemesis/object.json | 2 +- src/objects/nereid/object.json | 2 +- src/objects/nereus/object.json | 2 +- src/objects/neso/object.json | 2 +- src/objects/nessus/object.json | 2 +- src/objects/niobe/object.json | 2 +- src/objects/nix/object.json | 2 +- src/objects/nuwa/object.json | 2 +- src/objects/nysa/object.json | 2 +- src/objects/nyx/object.json | 2 +- src/objects/oenone/object.json | 2 +- src/objects/okyrhoe/object.json | 2 +- src/objects/ophelia/object.json | 2 +- src/objects/orcus/object.json | 2 +- src/objects/orus/object.json | 2 +- src/objects/oumuamua/object.json | 2 +- src/objects/paaliaq/object.json | 2 +- src/objects/pales/object.json | 2 +- src/objects/pallas/object.json | 2 +- src/objects/pallene/object.json | 2 +- src/objects/palma/object.json | 2 +- src/objects/pandora-55/object.json | 2 +- src/objects/panopaea/object.json | 2 +- src/objects/papagena/object.json | 2 +- src/objects/parthenope/object.json | 2 +- src/objects/parysatis/object.json | 2 +- src/objects/pasiphae/object.json | 2 +- src/objects/patroclus/object.json | 2 +- src/objects/peitho/object.json | 2 +- src/objects/pelion/object.json | 2 +- src/objects/penelope/object.json | 2 +- src/objects/penthesilea/object.json | 2 +- src/objects/petrina/object.json | 2 +- src/objects/phaedra/object.json | 2 +- src/objects/phaethon/object.json | 2 +- src/objects/philagoria/object.json | 2 +- src/objects/philosophia/object.json | 2 +- src/objects/phocaea/object.json | 2 +- src/objects/pholus/object.json | 2 +- src/objects/piazzia/object.json | 2 +- src/objects/polydeuces/object.json | 2 +- src/objects/polyhymnia/object.json | 2 +- src/objects/polymele/object.json | 2 +- src/objects/pomona/object.json | 2 +- src/objects/portia/object.json | 2 +- src/objects/praxidike/object.json | 2 +- src/objects/proserpina/object.json | 2 +- src/objects/prospero/object.json | 2 +- src/objects/protogeneia/object.json | 2 +- src/objects/psamathe/object.json | 2 +- src/objects/psyche/object.json | 2 +- src/objects/puck/object.json | 2 +- src/objects/pyrrhus/object.json | 2 +- src/objects/quaoar/object.json | 2 +- src/objects/ra-shalom/object.json | 2 +- src/objects/raup/object.json | 2 +- src/objects/reinmuthia/object.json | 2 +- src/objects/rhodope/object.json | 2 +- src/objects/ritona/object.json | 2 +- src/objects/romulus/object.json | 2 +- src/objects/rosalind/object.json | 2 +- src/objects/rosalinde/object.json | 2 +- src/objects/rusthawelia/object.json | 2 +- src/objects/salacia/object.json | 2 +- src/objects/sao/object.json | 2 +- src/objects/sapientia/object.json | 2 +- src/objects/sappho/object.json | 2 +- src/objects/saturn-minor-moons/README.md | 2 +- src/objects/saturn-minor-moons/inventory.json | 4 ++-- .../saturn-minor-moons/source/dots/points.json | 2 +- src/objects/schaber/object.json | 2 +- src/objects/schorria/object.json | 2 +- src/objects/scylla/object.json | 2 +- src/objects/sedna/object.json | 2 +- src/objects/selam/object.json | 2 +- src/objects/selinur/object.json | 2 +- src/objects/semele/object.json | 2 +- src/objects/setebos/object.json | 2 +- src/objects/siarnaq/object.json | 2 +- src/objects/sibylla/object.json | 2 +- src/objects/siegena/object.json | 2 +- src/objects/silesia/object.json | 2 +- src/objects/silvretta/object.json | 2 +- src/objects/sinope/object.json | 2 +- src/objects/siwa/object.json | 2 +- src/objects/skathi/object.json | 2 +- src/objects/skoll/object.json | 2 +- src/objects/sn263-beta/object.json | 2 +- src/objects/sn263-gamma/object.json | 2 +- src/objects/sophrosyne/object.json | 2 +- src/objects/squannit/object.json | 2 +- src/objects/steins/object.json | 2 +- src/objects/stephania/object.json | 2 +- src/objects/stephano/object.json | 2 +- src/objects/styx/object.json | 2 +- src/objects/sun/inventory.json | 8 ++++---- src/objects/susi/object.json | 2 +- src/objects/suttungr/object.json | 2 +- src/objects/sycorax/object.json | 2 +- src/objects/sylvia/object.json | 2 +- src/objects/tantalus/object.json | 2 +- src/objects/tarqeq/object.json | 2 +- src/objects/tartaglia/object.json | 2 +- src/objects/tarvos/object.json | 2 +- src/objects/taurinensis/object.json | 2 +- src/objects/taygete/object.json | 2 +- src/objects/thalassa/object.json | 2 +- src/objects/thalia/object.json | 2 +- src/objects/themis/object.json | 2 +- src/objects/themisto/object.json | 2 +- src/objects/thereus/object.json | 2 +- src/objects/thetis/object.json | 2 +- src/objects/thisbe/object.json | 2 +- src/objects/thrymr/object.json | 2 +- src/objects/thule/object.json | 2 +- src/objects/thyra/object.json | 2 +- src/objects/toro/object.json | 2 +- src/objects/toutatis/object.json | 2 +- src/objects/transvaalia/object.json | 2 +- src/objects/trinculo/object.json | 2 +- src/objects/tulipa/object.json | 2 +- src/objects/tyche/object.json | 2 +- src/objects/una/object.json | 2 +- src/objects/uni/object.json | 2 +- src/objects/unitas/object.json | 2 +- src/objects/united-nations/object.json | 2 +- src/objects/urania/object.json | 2 +- src/objects/urda/object.json | 2 +- src/objects/vanadis/object.json | 2 +- src/objects/vanth/object.json | 2 +- src/objects/varda/object.json | 2 +- src/objects/varuna/object.json | 2 +- src/objects/velleda/object.json | 2 +- src/objects/vera/object.json | 2 +- src/objects/veritas/object.json | 2 +- src/objects/vibilia/object.json | 2 +- src/objects/victoria/object.json | 2 +- src/objects/vindobona/object.json | 2 +- src/objects/virginia/object.json | 2 +- src/objects/virtanen/object.json | 2 +- src/objects/weringia/object.json | 2 +- src/objects/weywot/object.json | 2 +- src/objects/xanthippe/object.json | 2 +- src/objects/ymir/object.json | 2 +- src/objects/yorp/object.json | 2 +- src/objects/zachia/object.json | 2 +- 496 files changed, 523 insertions(+), 499 deletions(-) create mode 100644 site/test/neutral-catalogue-colour.test.mts diff --git a/packages/bake/authoring/damit-asteroids/author.mts b/packages/bake/authoring/damit-asteroids/author.mts index 88768418caf..08e03aa9379 100644 --- a/packages/bake/authoring/damit-asteroids/author.mts +++ b/packages/bake/authoring/damit-asteroids/author.mts @@ -15,6 +15,7 @@ import { mkdir, readFile, readdir, writeFile } from 'node:fs/promises'; import { dirname, relative, resolve } from 'node:path'; import sharp from 'sharp'; import { createSourceManifest } from '@cssearth/objects/node'; +import { NEUTRAL_CATALOGUE_COLOUR } from '@cssearth/objects'; import { ENTRY_EVIDENCE } from '@cssearth/bake/sources'; import { shapeMaterialRaster, renderRadialSnapshot } from '@cssearth/bake/objects/layers/terrestrial'; import { elementsUrl, vectorsUrl } from '../../../../packages/astronomy/cli/lib/horizons.mts'; @@ -377,7 +378,7 @@ async function authorBody(body: Body) { worldFrame: { referenceFrame: 'sun-icrf', epochJdTt: EPOCH_JD, originM, presentationToReference: [1, 0, 0, 0, -1, 0, 0, 0, 1], orbitUpReference: [0, 0, 1], metersPerUnit: radiusMeters / geometryRadius, bodyRadiusM: radiusMeters }, page: { stylesheets: ['src/renderers/css/styles/templates/small-body.css'], metadata: { url: 'prepared/page.json' } }, - catalog: { name, classification: 'asteroid', color: '#aaaaaa', distanceAu: semiMajorAxisAu, description: body.text.card, systemName: 'Solar System', context: {} }, + catalog: { name, classification: 'asteroid', color: NEUTRAL_CATALOGUE_COLOUR, distanceAu: semiMajorAxisAu, description: body.text.card, systemName: 'Solar System', context: {} }, }, schema: descriptor.schema, type: descriptor.type, prepared: { format: 'cssearth-css-object@5', url: 'prepared/object.json' }, diff --git a/packages/objects/src/registry/context-colour.ts b/packages/objects/src/registry/context-colour.ts index 4b90bd4eb8c..252fb3c87eb 100644 --- a/packages/objects/src/registry/context-colour.ts +++ b/packages/objects/src/registry/context-colour.ts @@ -13,6 +13,9 @@ * (https://www.w3.org/TR/css-color-4/#gamut-mapping). The measured colour itself stays in the catalogue and on the body. */ export const SKY_BACKGROUND = '#000000'; export const TEXT_CONTRAST_MINIMUM = 4.5; +/** The catalogue colour of every body with no measured colour: one neutral gray, so no two unmeasured bodies differ by a + * colour nobody measured. It is achromatic, which is how the context tells it from a measured colour (contextColour). */ +export const NEUTRAL_CATALOGUE_COLOUR = '#9a9a9a'; /** The world context's own marker, orbit and label colour for a body with no colour of its own. */ export const DEFAULT_CONTEXT_COLOUR = '#dfdfdf'; diff --git a/packages/objects/src/registry/index.ts b/packages/objects/src/registry/index.ts index 41d58ae4c75..0b092831070 100644 --- a/packages/objects/src/registry/index.ts +++ b/packages/objects/src/registry/index.ts @@ -4,7 +4,7 @@ // scene loader (`site/objects.mts`); nothing here loads a scene or reads a file. export { parseArrivalView, parseArrivalBillboard } from './arrival-view.js'; export type { PreparedArrivalView, PreparedArrivalBillboard } from './arrival-view.js'; -export { composited, contextColour, contrastRatio, DEFAULT_CONTEXT_COLOUR, readableOnSky, relativeLuminance, SKY_BACKGROUND, TEXT_CONTRAST_MINIMUM } from './context-colour.js'; +export { composited, contextColour, contrastRatio, DEFAULT_CONTEXT_COLOUR, NEUTRAL_CATALOGUE_COLOUR, readableOnSky, relativeLuminance, SKY_BACKGROUND, TEXT_CONTRAST_MINIMUM } from './context-colour.js'; export { normalizeDestinationQuery, searchDestinations } from './destination-search.js'; export { orderFacts } from './fact-order.js'; export { mapLabel } from './map-label.js'; diff --git a/packages/telescope-cli/src/new-object/new-hosted-planet.mts b/packages/telescope-cli/src/new-object/new-hosted-planet.mts index 1b03af23ccf..2bdf529574e 100644 --- a/packages/telescope-cli/src/new-object/new-hosted-planet.mts +++ b/packages/telescope-cli/src/new-object/new-hosted-planet.mts @@ -14,6 +14,7 @@ * shared neutral gray, lit by its own star: no colour of these planets is measured. Prose the scaffold cannot know * (reader text, README, credits, ledger) carries the marker TODO(new-hosted-planet). * Then run: node packages/bake/cli/prepare-object.mts */ +import { NEUTRAL_CATALOGUE_COLOUR } from '@cssearth/objects'; import { mkdir, readFile, stat, writeFile } from 'node:fs/promises'; import { dirname, resolve } from 'node:path'; import { pathToFileURL } from 'node:url'; @@ -29,7 +30,7 @@ const AU_M = 149597870700, BODY_RADIUS_UNITS = 248; /** A hosted planet's sphere is drawn 1.25 times its logical size (solar-system.json geometryScale). */ const GEOMETRY_SCALE = 1.25; /** The shared neutral gray of an unresolved surface, as the shape-only bodies use. */ -const NEUTRAL_GRAY = '#9a9a9a'; +const NEUTRAL_GRAY = NEUTRAL_CATALOGUE_COLOUR; /** A lit hosted planet's page stylesheet: the shared lane template that sizes its 460px lighting frames. It names no dataset * image: each dataset's variant writes the textures every leaf reads (scene/projector.ts, presentation/composite.ts). */ diff --git a/packages/telescope-cli/src/new-object/scaffold.mts b/packages/telescope-cli/src/new-object/scaffold.mts index aa4ce3245fd..1caf56e3c44 100644 --- a/packages/telescope-cli/src/new-object/scaffold.mts +++ b/packages/telescope-cli/src/new-object/scaffold.mts @@ -4,6 +4,7 @@ import { mkdir, readFile, stat, writeFile } from 'node:fs/promises'; import { dirname, resolve } from 'node:path'; import { skyPlaneOrientation, starStateFromAstrometryKm } from '@cssearth/astronomy'; import { requireFiniteNumber, requireRecord, requireString } from '@cssearth/core'; +import { NEUTRAL_CATALOGUE_COLOUR } from '@cssearth/objects'; import { readStarTemperature, temperatureCatalogueColor } from '@cssearth/bake/objects/color'; import { neutralDiscMarker } from '@cssearth/bake/navigation'; import { sphereProjection } from '@cssearth/bake/objects/scene'; @@ -16,7 +17,7 @@ const BODY_RADIUS_UNITS = 248, BODY_DIAMETER_PX = 496, GEOMETRY_SCALE = 1.25; export interface StarScaffold { readonly id: string; readonly name: string; readonly system: string; readonly temperatureK?: number; readonly temperatureSource?: string; readonly description: string; readonly paper: string; readonly paperCredit: string; readonly order?: number; readonly aliases?: readonly string[]; readonly featured?: true; /** A black hole instead of a star: its record's radius is the measured shadow, drawn black. It has no temperature, so its catalogue colour is the shared neutral gray. */ readonly blackHole?: { readonly shadowSource: string } } -const NEUTRAL_GRAY = '#9a9a9a', SHADOW_BLACK = '#000000'; +const NEUTRAL_GRAY = NEUTRAL_CATALOGUE_COLOUR, SHADOW_BLACK = '#000000'; /** The emissive stylesheet: the Sun's emissive presentation scoped to one object id, with its off-limb plate size. The plates keep * their native sizes even when solar-system.json enlarges the sphere: the silhouette fit already draws them at the drawn sphere. */ diff --git a/site/build/prepare/prepare-spatial-context.ts b/site/build/prepare/prepare-spatial-context.ts index f16c225feee..a413ea4c062 100644 --- a/site/build/prepare/prepare-spatial-context.ts +++ b/site/build/prepare/prepare-spatial-context.ts @@ -3,7 +3,7 @@ import { dirname, resolve } from 'node:path'; import { pathToFileURL } from 'node:url'; import { BODIES, EXOPLANET_IDS, HOSTED_PLANET_IDS, M_PER_AU, M_PER_KM, SOLAR_EFFECTIVE_TEMPERATURE_K, SOLAR_RADIUS_M, STAR_IDS, isSceneSatellite, sceneSatelliteStateKm, starAstrometry } from '@cssearth/astronomy'; import type { StarId } from '@cssearth/astronomy'; -import { mapLabel, parseObjectDescriptor } from '@cssearth/objects'; +import { mapLabel, NEUTRAL_CATALOGUE_COLOUR, parseObjectDescriptor } from '@cssearth/objects'; import { isRecord } from '@cssearth/core'; import { packPreparedBinary, readCatalog, readPreparedObjects } from '@cssearth/objects/node'; import { worldOrbitBankRegions } from '@cssearth/renderer'; @@ -71,7 +71,7 @@ export async function prepareSpatialContext(options: SpatialContextPreparationOp for (const id of HOSTED_PLANET_IDS as readonly string[]) { const record = records[id], parent = record?.parent; if (packaged.has(id) || !parent || !packaged.has(parent)) continue; - input.bodies.push({ id, name: mapLabel(record!.name), color: record!.effectiveTemperatureK === undefined ? '#9a9a9a' + input.bodies.push({ id, name: mapLabel(record!.name), color: record!.effectiveTemperatureK === undefined ? NEUTRAL_CATALOGUE_COLOUR : await planckHex(record!.effectiveTemperatureK), unpackaged: true }); } } diff --git a/site/test/neutral-catalogue-colour.test.mts b/site/test/neutral-catalogue-colour.test.mts new file mode 100644 index 00000000000..38c84cfa979 --- /dev/null +++ b/site/test/neutral-catalogue-colour.test.mts @@ -0,0 +1,18 @@ +import assert from 'node:assert/strict'; +import { readdir, readFile } from 'node:fs/promises'; +import test from 'node:test'; +import { NEUTRAL_CATALOGUE_COLOUR } from '@cssearth/objects'; + +// A body with no measured colour shows one neutral gray everywhere: two grays would say two unmeasured bodies differ. +test('every catalogue colour without a hue is the one neutral gray', async () => { + const root = new URL('../../src/objects/', import.meta.url), strays: string[] = []; + for (const id of await readdir(root)) { + const text = await readFile(new URL(`${id}/object.json`, root), 'utf8').catch(() => null); + if (text === null) continue; + const catalog = (JSON.parse(text) as { properties?: { catalog?: { color?: unknown } } }).properties?.catalog; + if (typeof catalog?.color !== 'string') continue; + const colour = catalog.color.toLowerCase(), [red, green, blue] = [1, 3, 5].map(offset => colour.slice(offset, offset + 2)); + if (red === green && green === blue && colour !== NEUTRAL_CATALOGUE_COLOUR) strays.push(`${id} ${colour}`); + } + assert.deepEqual(strays, [], `src/objects//object.json properties.catalog.color: a body with no measured colour takes ${NEUTRAL_CATALOGUE_COLOUR}`); +}); diff --git a/src/objects/abundantia/object.json b/src/objects/abundantia/object.json index 0eef5049a4a..778298c961a 100644 --- a/src/objects/abundantia/object.json +++ b/src/objects/abundantia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Abundantia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5919374543282623, "description": "Stony main-belt asteroid, discovered in November 1875.", "systemName": "Solar System", diff --git a/src/objects/achilles/object.json b/src/objects/achilles/object.json index 29ff4fa60b5..b1854416956 100644 --- a/src/objects/achilles/object.json +++ b/src/objects/achilles/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Achilles", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.216209884720479, "description": "Jupiter Trojan asteroid found in 1906.", "systemName": "Solar System", diff --git a/src/objects/achlys/object.json b/src/objects/achlys/object.json index 155c82a635f..0d5c9cbbd89 100644 --- a/src/objects/achlys/object.json +++ b/src/objects/achlys/object.json @@ -108,7 +108,7 @@ ], "name": "Achlys (2003 AZ84)", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 43.53477215772988, "description": "Plutino locked in a 3:2 resonance with Neptune.", "systemName": "Solar System", diff --git a/src/objects/adelheid/object.json b/src/objects/adelheid/object.json index 5a21c2612a5..45c1cfadbd8 100644 --- a/src/objects/adelheid/object.json +++ b/src/objects/adelheid/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Adelheid", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.118003623819272, "description": "Dark main-belt asteroid, discovered on 17 April 1888 at Vienna.", "systemName": "Solar System", diff --git a/src/objects/adeona/object.json b/src/objects/adeona/object.json index e72aaf8640e..d3cecf00212 100644 --- a/src/objects/adeona/object.json +++ b/src/objects/adeona/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Adeona", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.671645158209067, "description": "Dark carbonaceous main-belt asteroid, discovered in June 1875.", "systemName": "Solar System", diff --git a/src/objects/adrastea/object.json b/src/objects/adrastea/object.json index 27be0f47851..d264d3d6ac3 100644 --- a/src/objects/adrastea/object.json +++ b/src/objects/adrastea/object.json @@ -104,7 +104,7 @@ ], "name": "Adrastea", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "Tiny inner moon of Jupiter that orbits faster than the planet spins.", "systemName": "Solar System", diff --git a/src/objects/aegaeon/object.json b/src/objects/aegaeon/object.json index 3d0186edeb8..b733e15479a 100644 --- a/src/objects/aegaeon/object.json +++ b/src/objects/aegaeon/object.json @@ -108,7 +108,7 @@ ], "name": "Aegaeon", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Tiny moon inside a bright arc of Saturn's G ring.", "systemName": "Solar System", diff --git a/src/objects/aegina/object.json b/src/objects/aegina/object.json index 923752d86bd..aa1a7e31619 100644 --- a/src/objects/aegina/object.json +++ b/src/objects/aegina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aegina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5889074402927057, "description": "Dark, carbon-rich main-belt asteroid, discovered in November 1866.", "systemName": "Solar System", diff --git a/src/objects/aemilia/object.json b/src/objects/aemilia/object.json index bacf080f775..0492d1100d4 100644 --- a/src/objects/aemilia/object.json +++ b/src/objects/aemilia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aemilia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.10892633182096, "description": "Dark, carbon-rich main-belt asteroid, discovered in January 1876.", "systemName": "Solar System", diff --git a/src/objects/aethra/object.json b/src/objects/aethra/object.json index 7b0e6bdb2b2..05f45e97b72 100644 --- a/src/objects/aethra/object.json +++ b/src/objects/aethra/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aethra", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.611974207733697, "description": "Mars-crossing asteroid, discovered in June 1873.", "systemName": "Solar System", diff --git a/src/objects/agenor/object.json b/src/objects/agenor/object.json index 8d002f6f08e..c9323cf5cf8 100644 --- a/src/objects/agenor/object.json +++ b/src/objects/agenor/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Agenor", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.217218141628041, "description": "Dark Jupiter Trojan asteroid, discovered in March 1971.", "systemName": "Solar System", diff --git a/src/objects/aglaja/object.json b/src/objects/aglaja/object.json index a38beee27c8..73e09dbc2c5 100644 --- a/src/objects/aglaja/object.json +++ b/src/objects/aglaja/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aglaja", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.878732649484092, "description": "Dark, carbon-rich main-belt asteroid, discovered on 15 September 1857.", "systemName": "Solar System", diff --git a/src/objects/ajax/object.json b/src/objects/ajax/object.json index b1148a7d978..0bf6a0e3dd0 100644 --- a/src/objects/ajax/object.json +++ b/src/objects/ajax/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ajax", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.281571123923134, "description": "Dark Jupiter Trojan asteroid, discovered in August 1936.", "systemName": "Solar System", diff --git a/src/objects/albion/object.json b/src/objects/albion/object.json index 93e9ded57c5..f0e3391e544 100644 --- a/src/objects/albion/object.json +++ b/src/objects/albion/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Albion", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 44.1, "description": "The first Kuiper belt object found after Pluto.", "systemName": "Solar System", diff --git a/src/objects/albiorix/object.json b/src/objects/albiorix/object.json index 17df79b6545..6a8e712ae6c 100644 --- a/src/objects/albiorix/object.json +++ b/src/objects/albiorix/object.json @@ -108,7 +108,7 @@ ], "name": "Albiorix", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Largest of Saturn's Gallic-group moons, about 29 km across.", "systemName": "Solar System", diff --git a/src/objects/alexandra/object.json b/src/objects/alexandra/object.json index 15bd0b28e59..aac720f8770 100644 --- a/src/objects/alexandra/object.json +++ b/src/objects/alexandra/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Alexandra", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7095146915447392, "description": "Dark, carbon-rich main-belt asteroid, discovered on 10 September 1858.", "systemName": "Solar System", diff --git a/src/objects/alkeste/object.json b/src/objects/alkeste/object.json index ce03a7201f7..727dd545545 100644 --- a/src/objects/alkeste/object.json +++ b/src/objects/alkeste/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Alkeste", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.629388047968044, "description": "Stony main-belt asteroid, discovered in August 1872.", "systemName": "Solar System", diff --git a/src/objects/alkmene/object.json b/src/objects/alkmene/object.json index cf1eaae9d24..82d3e582221 100644 --- a/src/objects/alkmene/object.json +++ b/src/objects/alkmene/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Alkmene", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.762763911317985, "description": "Stony main-belt asteroid, discovered in November 1864.", "systemName": "Solar System", diff --git a/src/objects/alphonsina/object.json b/src/objects/alphonsina/object.json index ea74eb5d2b4..1e2905aa4e8 100644 --- a/src/objects/alphonsina/object.json +++ b/src/objects/alphonsina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Alphonsina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.700987827703556, "description": "Stony main-belt asteroid, discovered in January 1920.", "systemName": "Solar System", diff --git a/src/objects/althaea/object.json b/src/objects/althaea/object.json index c8ad74a73cc..fc0c5cb87c4 100644 --- a/src/objects/althaea/object.json +++ b/src/objects/althaea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Althaea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5814366871947056, "description": "Stony main-belt asteroid, discovered in April 1872.", "systemName": "Solar System", diff --git a/src/objects/ambrosia/object.json b/src/objects/ambrosia/object.json index 64746b2dffe..ab112ceec87 100644 --- a/src/objects/ambrosia/object.json +++ b/src/objects/ambrosia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ambrosia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.59809056583152, "description": "Stony main-belt asteroid, discovered on 28 February 1879.", "systemName": "Solar System", diff --git a/src/objects/amphitrite/object.json b/src/objects/amphitrite/object.json index ca9abe1a6ee..fda8d6717b9 100644 --- a/src/objects/amphitrite/object.json +++ b/src/objects/amphitrite/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Amphitrite", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5547309956514517, "description": "Stony main-belt asteroid, discovered on 1 March 1854 at London.", "systemName": "Solar System", diff --git a/src/objects/amycus/object.json b/src/objects/amycus/object.json index fa5a4673a0a..191cc71ee26 100644 --- a/src/objects/amycus/object.json +++ b/src/objects/amycus/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Amycus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 24.9, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/anahita/object.json b/src/objects/anahita/object.json index 44af6a3d748..cf73ac2d5bc 100644 --- a/src/objects/anahita/object.json +++ b/src/objects/anahita/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Anahita", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.1978820172913154, "description": "Stony main-belt asteroid, discovered in October 1887.", "systemName": "Solar System", diff --git a/src/objects/ananke/object.json b/src/objects/ananke/object.json index 962391aca1c..d865f1894cd 100644 --- a/src/objects/ananke/object.json +++ b/src/objects/ananke/object.json @@ -108,7 +108,7 @@ ], "name": "Ananke", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "An outer, irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/angelina/object.json b/src/objects/angelina/object.json index 802b156c800..79e53cf769f 100644 --- a/src/objects/angelina/object.json +++ b/src/objects/angelina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Angelina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6802741704742274, "description": "Main-belt asteroid, discovered in March 1861.", "systemName": "Solar System", diff --git a/src/objects/anna/object.json b/src/objects/anna/object.json index a1edfdce5ea..d943cf99c01 100644 --- a/src/objects/anna/object.json +++ b/src/objects/anna/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Anna", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.420854512785924, "description": "Main-belt asteroid, discovered in February 1887.", "systemName": "Solar System", diff --git a/src/objects/annefrank/object.json b/src/objects/annefrank/object.json index 086097f587b..1b2374e9854 100644 --- a/src/objects/annefrank/object.json +++ b/src/objects/annefrank/object.json @@ -108,7 +108,7 @@ ], "name": "Annefrank", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.2123334934520815, "description": "Small main-belt asteroid that Stardust flew past.", "systemName": "Solar System", diff --git a/src/objects/anthe/object.json b/src/objects/anthe/object.json index c6654c95a6c..5b82fa2c75f 100644 --- a/src/objects/anthe/object.json +++ b/src/objects/anthe/object.json @@ -108,7 +108,7 @@ ], "name": "Anthe", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Tiny moon of Saturn whose impact debris feeds a faint ring arc.", "systemName": "Solar System", diff --git a/src/objects/antigone/object.json b/src/objects/antigone/object.json index a249c3a063b..0d474bbfbe2 100644 --- a/src/objects/antigone/object.json +++ b/src/objects/antigone/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Antigone", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8676091430240436, "description": "Main-belt asteroid, discovered in February 1873.", "systemName": "Solar System", diff --git a/src/objects/antonia/object.json b/src/objects/antonia/object.json index 70f599189fb..2c2f72bb86d 100644 --- a/src/objects/antonia/object.json +++ b/src/objects/antonia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Antonia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7790127024022557, "description": "Main-belt asteroid, discovered in February 1888.", "systemName": "Solar System", diff --git a/src/objects/apollo/object.json b/src/objects/apollo/object.json index 7cdd9f9f226..3dbe71d9abe 100644 --- a/src/objects/apollo/object.json +++ b/src/objects/apollo/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Apollo", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.4706013076383802, "description": "Near-Earth asteroid that names the Apollo group.", "systemName": "Solar System", diff --git a/src/objects/apophis/object.json b/src/objects/apophis/object.json index a38a4e54315..3a11369398f 100644 --- a/src/objects/apophis/object.json +++ b/src/objects/apophis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Apophis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 0.9223337821550773, "description": "Near-Earth asteroid listed as potentially hazardous.", "systemName": "Solar System", diff --git a/src/objects/aquitania/object.json b/src/objects/aquitania/object.json index d677c8c46dd..f36332817c6 100644 --- a/src/objects/aquitania/object.json +++ b/src/objects/aquitania/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aquitania", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.736734854162707, "description": "Main-belt asteroid found at Bordeaux in 1894.", "systemName": "Solar System", diff --git a/src/objects/ara/object.json b/src/objects/ara/object.json index 608d9123c7d..358f77b075a 100644 --- a/src/objects/ara/object.json +++ b/src/objects/ara/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ara", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1468452691822333, "description": "Main-belt asteroid found in 1912.", "systemName": "Solar System", diff --git a/src/objects/arethusa/object.json b/src/objects/arethusa/object.json index 0b47c5d1e94..1d12e355271 100644 --- a/src/objects/arethusa/object.json +++ b/src/objects/arethusa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Arethusa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.064764963618251, "description": "Dark, carbon-rich main-belt asteroid, discovered in November 1867.", "systemName": "Solar System", diff --git a/src/objects/ariadne/object.json b/src/objects/ariadne/object.json index 80b4441a19f..010de69c631 100644 --- a/src/objects/ariadne/object.json +++ b/src/objects/ariadne/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ariadne", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.2042626853451814, "description": "Stony main-belt asteroid, discovered in April 1857.", "systemName": "Solar System", diff --git a/src/objects/arrokoth/object.json b/src/objects/arrokoth/object.json index df1a7844ca5..efaddf58c0b 100644 --- a/src/objects/arrokoth/object.json +++ b/src/objects/arrokoth/object.json @@ -111,7 +111,7 @@ "featured": true, "name": "Arrokoth", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 44.05655144131418, "description": "Two-lobed Kuiper Belt object that New Horizons flew past.", "systemName": "Solar System", diff --git a/src/objects/artemis/object.json b/src/objects/artemis/object.json index 220ff7a7550..18d31183d2a 100644 --- a/src/objects/artemis/object.json +++ b/src/objects/artemis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Artemis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3721668452445526, "description": "Dark, carbon-rich main-belt asteroid, discovered on 16 September 1868.", "systemName": "Solar System", diff --git a/src/objects/asbolus/object.json b/src/objects/asbolus/object.json index 1693e21726d..100d434a02b 100644 --- a/src/objects/asbolus/object.json +++ b/src/objects/asbolus/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Asbolus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 18.1, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/aschera/object.json b/src/objects/aschera/object.json index c3b43068a3a..adf3e2a3d6c 100644 --- a/src/objects/aschera/object.json +++ b/src/objects/aschera/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aschera", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.610464215816688, "description": "Main-belt asteroid, discovered in February 1880.", "systemName": "Solar System", diff --git a/src/objects/asia/object.json b/src/objects/asia/object.json index 866b5470212..daf994d0755 100644 --- a/src/objects/asia/object.json +++ b/src/objects/asia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Asia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4209257475173156, "description": "Stony main-belt asteroid, discovered on 17 April 1861.", "systemName": "Solar System", diff --git a/src/objects/aspasia/object.json b/src/objects/aspasia/object.json index 8b06e1742a9..a64fe4ac6ce 100644 --- a/src/objects/aspasia/object.json +++ b/src/objects/aspasia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aspasia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.575670522018648, "description": "Main-belt asteroid found in 1895.", "systemName": "Solar System", diff --git a/src/objects/asporina/object.json b/src/objects/asporina/object.json index c87d18d8cb6..92bcba4e964 100644 --- a/src/objects/asporina/object.json +++ b/src/objects/asporina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Asporina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6955752258853334, "description": "Stony main-belt asteroid, discovered in March 1885.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1950-da/object.json b/src/objects/asteroid-1950-da/object.json index 22297f03d6d..512c18190e0 100644 --- a/src/objects/asteroid-1950-da/object.json +++ b/src/objects/asteroid-1950-da/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1950 DA", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.6984168410443714, "description": "Near-Earth asteroid with a pronounced equatorial ridge.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1992-sk/object.json b/src/objects/asteroid-1992-sk/object.json index 1cfa63d5b9f..0af0420dcd2 100644 --- a/src/objects/asteroid-1992-sk/object.json +++ b/src/objects/asteroid-1992-sk/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1992 SK", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.2485450870597032, "description": "Elongated near-Earth asteroid mapped by Goldstone radar.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1994-cc/object.json b/src/objects/asteroid-1994-cc/object.json index 2f79d5a032f..0fd68e6e97d 100644 --- a/src/objects/asteroid-1994-cc/object.json +++ b/src/objects/asteroid-1994-cc/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1994 CC Alpha", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.637667637945242, "description": "Largest body in a triple near-Earth asteroid system.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1996-hw1/object.json b/src/objects/asteroid-1996-hw1/object.json index 828fc96f54a..b5a9460cc59 100644 --- a/src/objects/asteroid-1996-hw1/object.json +++ b/src/objects/asteroid-1996-hw1/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1996 HW1", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.0457349024000404, "description": "Contact-binary near-Earth asteroid with two lobes and a narrow neck.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1998-ml14/object.json b/src/objects/asteroid-1998-ml14/object.json index 88e21df960f..2933c10f043 100644 --- a/src/objects/asteroid-1998-ml14/object.json +++ b/src/objects/asteroid-1998-ml14/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1998 ML14", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.407527644248636, "description": "Roughly kilometre-wide near-Earth asteroid with a bump and a dent.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1998-wt24/object.json b/src/objects/asteroid-1998-wt24/object.json index 589d6e5ac4c..59c1fbb8937 100644 --- a/src/objects/asteroid-1998-wt24/object.json +++ b/src/objects/asteroid-1998-wt24/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1998 WT24", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 0.7186940115527254, "description": "Small near-Earth asteroid that passes inside the orbit of Venus.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1999-fr33/object.json b/src/objects/asteroid-1999-fr33/object.json index 243475fefb0..d839d27c769 100644 --- a/src/objects/asteroid-1999-fr33/object.json +++ b/src/objects/asteroid-1999-fr33/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1999 FR33", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.9765894346509167, "description": "Main-belt asteroid, discovered in March 1999.", "systemName": "Solar System", diff --git a/src/objects/asteroid-1999-jv6/object.json b/src/objects/asteroid-1999-jv6/object.json index c0bd90b857b..d697339ec72 100644 --- a/src/objects/asteroid-1999-jv6/object.json +++ b/src/objects/asteroid-1999-jv6/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "1999 JV6", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.0090675270649698, "description": "Near-Earth asteroid found in 1999.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2001-qw16/object.json b/src/objects/asteroid-2001-qw16/object.json index 82058c3045c..1ac82e82a76 100644 --- a/src/objects/asteroid-2001-qw16/object.json +++ b/src/objects/asteroid-2001-qw16/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "2001 QW16", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.177455279524888, "description": "Main-belt asteroid, discovered in August 2001.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2001-sn263/object.json b/src/objects/asteroid-2001-sn263/object.json index c2dc8782bce..a687001c215 100644 --- a/src/objects/asteroid-2001-sn263/object.json +++ b/src/objects/asteroid-2001-sn263/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "2001 SN263 Alpha", "classification": "asteroid", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 1.9869, "description": "Largest member of a triple asteroid system.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2002-ce26/object.json b/src/objects/asteroid-2002-ce26/object.json index 6baa15c5aee..e33f8adae63 100644 --- a/src/objects/asteroid-2002-ce26/object.json +++ b/src/objects/asteroid-2002-ce26/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "2002 CE26 Primary", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.232934797602879, "description": "Large near-Earth asteroid with a small moon.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2002-tc302/object.json b/src/objects/asteroid-2002-tc302/object.json index 174ae42c501..f2def304a1f 100644 --- a/src/objects/asteroid-2002-tc302/object.json +++ b/src/objects/asteroid-2002-tc302/object.json @@ -108,7 +108,7 @@ ], "name": "2002 TC302", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 42.69638663728584, "description": "Large trans-Neptunian object with a flattened outline.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2002-tx300/object.json b/src/objects/asteroid-2002-tx300/object.json index 74835c6dfcb..c55ff0dc057 100644 --- a/src/objects/asteroid-2002-tx300/object.json +++ b/src/objects/asteroid-2002-tx300/object.json @@ -108,7 +108,7 @@ ], "name": "2002 TX300", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 43.528810315844204, "description": "Bright, icy object beyond Neptune, related to Haumea.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2003-vs2/object.json b/src/objects/asteroid-2003-vs2/object.json index c5584d7dbc0..1011b25f982 100644 --- a/src/objects/asteroid-2003-vs2/object.json +++ b/src/objects/asteroid-2003-vs2/object.json @@ -108,7 +108,7 @@ ], "name": "2003 VS2", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 36.97977310285473, "description": "Elongated plutino that turns in about 7.4 hours.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2008-ev5/object.json b/src/objects/asteroid-2008-ev5/object.json index a30aa719a99..6478bb22542 100644 --- a/src/objects/asteroid-2008-ev5/object.json +++ b/src/objects/asteroid-2008-ev5/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "2008 EV5", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 0.9597570834058771, "description": "Small near-Earth asteroid with an equatorial ridge broken by a large hollow.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2012-vp113/object.json b/src/objects/asteroid-2012-vp113/object.json index 58a60ed5757..235a4b80c0e 100644 --- a/src/objects/asteroid-2012-vp113/object.json +++ b/src/objects/asteroid-2012-vp113/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "2012 VP113", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 85.1083587027271, "description": "A Sedna-like body that never comes closer than about 80 au.", "systemName": "Solar System", diff --git a/src/objects/asteroid-2017-of201/object.json b/src/objects/asteroid-2017-of201/object.json index 3d0647f9248..055f845db62 100644 --- a/src/objects/asteroid-2017-of201/object.json +++ b/src/objects/asteroid-2017-of201/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "2017 OF201", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 91.41772937693106, "description": "Reported in 2025; its orbit reaches about 1,600 au from the Sun.", "systemName": "Solar System", diff --git a/src/objects/asterope/object.json b/src/objects/asterope/object.json index b07f7e5775e..8bf6f6c2d99 100644 --- a/src/objects/asterope/object.json +++ b/src/objects/asterope/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Asterope", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.659113942812149, "description": "Stony main-belt asteroid, discovered in May 1883.", "systemName": "Solar System", diff --git a/src/objects/astraea/object.json b/src/objects/astraea/object.json index fbe77d87df7..09b09801f2c 100644 --- a/src/objects/astraea/object.json +++ b/src/objects/astraea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Astraea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.576775128493755, "description": "Stony main-belt asteroid, discovered in December 1845.", "systemName": "Solar System", diff --git a/src/objects/atalante/object.json b/src/objects/atalante/object.json index 48cf2909408..eae0a90645c 100644 --- a/src/objects/atalante/object.json +++ b/src/objects/atalante/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Atalante", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.74471241247624, "description": "Dark, carbon-rich main-belt asteroid, discovered in October 1855.", "systemName": "Solar System", diff --git a/src/objects/athamantis/object.json b/src/objects/athamantis/object.json index dcb12214899..44825955c41 100644 --- a/src/objects/athamantis/object.json +++ b/src/objects/athamantis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Athamantis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3819120669248703, "description": "Stony main-belt asteroid, discovered in September 1882.", "systemName": "Solar System", diff --git a/src/objects/athor/object.json b/src/objects/athor/object.json index 7a30a9e631f..c83d4723d79 100644 --- a/src/objects/athor/object.json +++ b/src/objects/athor/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Athor", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3789454823297382, "description": "Main-belt asteroid, discovered in April 1876.", "systemName": "Solar System", diff --git a/src/objects/augusta/object.json b/src/objects/augusta/object.json index 1bc397d2e3e..5619c9af72d 100644 --- a/src/objects/augusta/object.json +++ b/src/objects/augusta/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Augusta", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.194929996448645, "description": "Stony main-belt asteroid, discovered in March 1886.", "systemName": "Solar System", diff --git a/src/objects/auravictrix/object.json b/src/objects/auravictrix/object.json index c23e8124666..9330a84923d 100644 --- a/src/objects/auravictrix/object.json +++ b/src/objects/auravictrix/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Auravictrix", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.229298325153526, "description": "Main-belt asteroid, discovered in June 1910.", "systemName": "Solar System", diff --git a/src/objects/aurelia/object.json b/src/objects/aurelia/object.json index 60a86fc0fbb..557a447af35 100644 --- a/src/objects/aurelia/object.json +++ b/src/objects/aurelia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aurelia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.595198824813335, "description": "Main-belt asteroid found in 1896.", "systemName": "Solar System", diff --git a/src/objects/aurora/object.json b/src/objects/aurora/object.json index 474b726e0e3..2f5052ec0ad 100644 --- a/src/objects/aurora/object.json +++ b/src/objects/aurora/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Aurora", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1591870349744293, "description": "Dark, carbon-rich main-belt asteroid, discovered in September 1867.", "systemName": "Solar System", diff --git a/src/objects/ausonia/object.json b/src/objects/ausonia/object.json index 5243a8ee398..65977237c09 100644 --- a/src/objects/ausonia/object.json +++ b/src/objects/ausonia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ausonia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.39418991368127, "description": "Stony main-belt asteroid, discovered in February 1861.", "systemName": "Solar System", diff --git a/src/objects/autonoe/object.json b/src/objects/autonoe/object.json index 7b51c47a601..81b1c33986b 100644 --- a/src/objects/autonoe/object.json +++ b/src/objects/autonoe/object.json @@ -108,7 +108,7 @@ ], "name": "Autonoe", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/aya/object.json b/src/objects/aya/object.json index 6cf16966f52..09403765af8 100644 --- a/src/objects/aya/object.json +++ b/src/objects/aya/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Aya", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 47.4, "description": "A large icy body in the Kuiper belt.", "systemName": "Solar System", diff --git a/src/objects/bacchus/object.json b/src/objects/bacchus/object.json index a4a7d50d264..af0716219cc 100644 --- a/src/objects/bacchus/object.json +++ b/src/objects/bacchus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Bacchus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.0774720987446262, "description": "Near-Earth asteroid with a deep central dent.", "systemName": "Solar System", diff --git a/src/objects/badenia/object.json b/src/objects/badenia/object.json index 1179d32f479..3ca3475ba6c 100644 --- a/src/objects/badenia/object.json +++ b/src/objects/badenia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Badenia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.13175476216037, "description": "Dark, carbon-rich main-belt asteroid, discovered in August 1892.", "systemName": "Solar System", diff --git a/src/objects/bamberga/object.json b/src/objects/bamberga/object.json index 24e790921a1..8b89371f9fd 100644 --- a/src/objects/bamberga/object.json +++ b/src/objects/bamberga/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Bamberga", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6826000516908586, "description": "Dark, carbon-rich main-belt asteroid, discovered in February 1892.", "systemName": "Solar System", diff --git a/src/objects/baucis/object.json b/src/objects/baucis/object.json index 20e9d2d6a5c..ee9f2b52cf9 100644 --- a/src/objects/baucis/object.json +++ b/src/objects/baucis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Baucis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3794646807346385, "description": "Stony main-belt asteroid, discovered in February 1877.", "systemName": "Solar System", diff --git a/src/objects/bavaria/object.json b/src/objects/bavaria/object.json index 6c47688453b..691349ee764 100644 --- a/src/objects/bavaria/object.json +++ b/src/objects/bavaria/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Bavaria", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7267724486531284, "description": "Dark, carbon-rich main-belt asteroid, discovered on 16 November 1890.", "systemName": "Solar System", diff --git a/src/objects/beatrix/object.json b/src/objects/beatrix/object.json index 8651bebf118..f08c1dc62a9 100644 --- a/src/objects/beatrix/object.json +++ b/src/objects/beatrix/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Beatrix", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4311351389602276, "description": "Dark main-belt asteroid, discovered in April 1865.", "systemName": "Solar System", diff --git a/src/objects/bebhionn/object.json b/src/objects/bebhionn/object.json index 3c8240e5ad3..c25386d786f 100644 --- a/src/objects/bebhionn/object.json +++ b/src/objects/bebhionn/object.json @@ -108,7 +108,7 @@ ], "name": "Bebhionn", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Gallic-group moon of Saturn with a two-peaked light curve.", "systemName": "Solar System", diff --git a/src/objects/belinda/object.json b/src/objects/belinda/object.json index faba2fd6e76..b7a27a20d09 100644 --- a/src/objects/belinda/object.json +++ b/src/objects/belinda/object.json @@ -108,7 +108,7 @@ ], "name": "Belinda", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Elongated inner moon of Uranus, about twice as long as it is wide.", "systemName": "Solar System", diff --git a/src/objects/bellona/object.json b/src/objects/bellona/object.json index 5caf1ca6b07..9ecc2b333c7 100644 --- a/src/objects/bellona/object.json +++ b/src/objects/bellona/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Bellona", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.77802553680874, "description": "Stony main-belt asteroid, discovered on 1 March 1854 at Dusseldorf.", "systemName": "Solar System", diff --git a/src/objects/bergelmir/object.json b/src/objects/bergelmir/object.json index 123ce88765b..5991a3ff078 100644 --- a/src/objects/bergelmir/object.json +++ b/src/objects/bergelmir/object.json @@ -108,7 +108,7 @@ ], "name": "Bergelmir", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn with modest brightness changes as it spins.", "systemName": "Solar System", diff --git a/src/objects/bertha/object.json b/src/objects/bertha/object.json index e1729ec427f..e5fe5b48e8b 100644 --- a/src/objects/bertha/object.json +++ b/src/objects/bertha/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Bertha", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1939101574420405, "description": "Dark, carbon-rich main-belt asteroid, discovered on 4 November 1875.", "systemName": "Solar System", diff --git a/src/objects/bestla/object.json b/src/objects/bestla/object.json index 8106e4d052f..aa4d6cf840b 100644 --- a/src/objects/bestla/object.json +++ b/src/objects/bestla/object.json @@ -108,7 +108,7 @@ ], "name": "Bestla", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn whose spin axis points roughly south.", "systemName": "Solar System", diff --git a/src/objects/bettina/object.json b/src/objects/bettina/object.json index 091f17304ad..9ea290d6ecd 100644 --- a/src/objects/bettina/object.json +++ b/src/objects/bettina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Bettina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1419813494769286, "description": "Main-belt asteroid, discovered in September 1885.", "systemName": "Solar System", diff --git a/src/objects/betulia/object.json b/src/objects/betulia/object.json index 533387b1ced..66abf12cec9 100644 --- a/src/objects/betulia/object.json +++ b/src/objects/betulia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Betulia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.1947263959034577, "description": "Near-Earth asteroid mapped by Arecibo radar.", "systemName": "Solar System", diff --git a/src/objects/bianca/object.json b/src/objects/bianca/object.json index 80a8fe28667..219aadaff43 100644 --- a/src/objects/bianca/object.json +++ b/src/objects/bianca/object.json @@ -108,7 +108,7 @@ ], "name": "Bianca", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Small inner moon of Uranus, named for Kate's sister in The Taming of the Shrew.", "systemName": "Solar System", diff --git a/src/objects/bienor/object.json b/src/objects/bienor/object.json index e5302bc94b6..b38b24b5ef0 100644 --- a/src/objects/bienor/object.json +++ b/src/objects/bienor/object.json @@ -108,7 +108,7 @@ ], "name": "Bienor", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 16.60224445563277, "description": "Elongated centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/braille/object.json b/src/objects/braille/object.json index 9023e0ec2fa..1543c6a69f4 100644 --- a/src/objects/braille/object.json +++ b/src/objects/braille/object.json @@ -108,7 +108,7 @@ ], "name": "Braille", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.339551786449215, "description": "Small Mars-crossing asteroid that Deep Space 1 flew past.", "systemName": "Solar System", diff --git a/src/objects/brucia/object.json b/src/objects/brucia/object.json index 9d750452565..7798527bcc8 100644 --- a/src/objects/brucia/object.json +++ b/src/objects/brucia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Brucia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3823847582527136, "description": "Stony main-belt asteroid, discovered in December 1891.", "systemName": "Solar System", diff --git a/src/objects/brunhild/object.json b/src/objects/brunhild/object.json index 0bb44466d54..c67646747b1 100644 --- a/src/objects/brunhild/object.json +++ b/src/objects/brunhild/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Brunhild", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6955168441339983, "description": "Stony main-belt asteroid, discovered in July 1872.", "systemName": "Solar System", diff --git a/src/objects/byblis/object.json b/src/objects/byblis/object.json index 67eb720a5b8..8d380ac520a 100644 --- a/src/objects/byblis/object.json +++ b/src/objects/byblis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Byblis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1628105645290394, "description": "Main-belt asteroid, discovered in July 1879.", "systemName": "Solar System", diff --git a/src/objects/caliban/object.json b/src/objects/caliban/object.json index 31cffb8c88a..327d2cd8718 100644 --- a/src/objects/caliban/object.json +++ b/src/objects/caliban/object.json @@ -108,7 +108,7 @@ ], "name": "Caliban", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Outer moon of Uranus on a backward orbit, found in 1997.", "systemName": "Solar System", diff --git a/src/objects/callirrhoe/object.json b/src/objects/callirrhoe/object.json index e4cba928af0..15f5e9df2ed 100644 --- a/src/objects/callirrhoe/object.json +++ b/src/objects/callirrhoe/object.json @@ -108,7 +108,7 @@ ], "name": "Callirrhoe", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/camilla/object.json b/src/objects/camilla/object.json index 0a069ebe408..3c52a9139a9 100644 --- a/src/objects/camilla/object.json +++ b/src/objects/camilla/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Camilla", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.4965722547199647, "description": "Dark asteroid in the outer main belt with 2 known moons, discovered in November 1868.", "systemName": "Solar System", diff --git a/src/objects/carlova/object.json b/src/objects/carlova/object.json index 7e77a65deac..24f8491bceb 100644 --- a/src/objects/carlova/object.json +++ b/src/objects/carlova/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Carlova", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.004095473429738, "description": "Main-belt asteroid found in 1893.", "systemName": "Solar System", diff --git a/src/objects/carme/object.json b/src/objects/carme/object.json index c02f65b71be..a393efa2ccd 100644 --- a/src/objects/carme/object.json +++ b/src/objects/carme/object.json @@ -108,7 +108,7 @@ ], "name": "Carme", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "An outer, irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/castalia/object.json b/src/objects/castalia/object.json index 0a05f999668..5353f730506 100644 --- a/src/objects/castalia/object.json +++ b/src/objects/castalia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Castalia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.0631100842717316, "description": "Two-lobed near-Earth asteroid mapped by Arecibo radar.", "systemName": "Solar System", diff --git a/src/objects/cerberus/object.json b/src/objects/cerberus/object.json index d3ae2758e0c..a62400d122f 100644 --- a/src/objects/cerberus/object.json +++ b/src/objects/cerberus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Cerberus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.0799439098043286, "description": "Stony near-Earth asteroid, discovered in October 1971.", "systemName": "Solar System", diff --git a/src/objects/chaldene/object.json b/src/objects/chaldene/object.json index c44b8aacf7f..588582ca6e0 100644 --- a/src/objects/chaldene/object.json +++ b/src/objects/chaldene/object.json @@ -108,7 +108,7 @@ ], "name": "Chaldene", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/chariklo/object.json b/src/objects/chariklo/object.json index a1794b31330..da0c029ee76 100644 --- a/src/objects/chariklo/object.json +++ b/src/objects/chariklo/object.json @@ -111,7 +111,7 @@ ], "name": "Chariklo", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 15.733429335695405, "description": "Centaur with two narrow rings.", "systemName": "Solar System", diff --git a/src/objects/china/object.json b/src/objects/china/object.json index d22142d3da7..47abe4adb71 100644 --- a/src/objects/china/object.json +++ b/src/objects/china/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "China", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.127373029094909, "description": "Dark main-belt asteroid, discovered in October 1957.", "systemName": "Solar System", diff --git a/src/objects/chiron/object.json b/src/objects/chiron/object.json index a4f68127cb3..77b81117331 100644 --- a/src/objects/chiron/object.json +++ b/src/objects/chiron/object.json @@ -108,7 +108,7 @@ ], "name": "Chiron (95P)", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 18.267057262719682, "description": "The first known Centaur, and a comet as well.", "systemName": "Solar System", diff --git a/src/objects/circe/object.json b/src/objects/circe/object.json index f146190e574..6146b98bf6d 100644 --- a/src/objects/circe/object.json +++ b/src/objects/circe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Circe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6871357085881864, "description": "Dark, carbon-rich main-belt asteroid, discovered on 6 April 1855.", "systemName": "Solar System", diff --git a/src/objects/clarissa/object.json b/src/objects/clarissa/object.json index 02f2f6a92d8..31d30bed66e 100644 --- a/src/objects/clarissa/object.json +++ b/src/objects/clarissa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Clarissa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.405392127505063, "description": "Dark, carbon-rich main-belt asteroid, discovered on 14 November 1890.", "systemName": "Solar System", diff --git a/src/objects/clementina/object.json b/src/objects/clementina/object.json index 5f498f360dd..9703ccdbf18 100644 --- a/src/objects/clementina/object.json +++ b/src/objects/clementina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Clementina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.159622955651379, "description": "Dark main-belt asteroid, discovered in October 1885.", "systemName": "Solar System", diff --git a/src/objects/coelestina/object.json b/src/objects/coelestina/object.json index b2ef3346e5f..7fb1e4849f4 100644 --- a/src/objects/coelestina/object.json +++ b/src/objects/coelestina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Coelestina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7617393088127553, "description": "Stony main-belt asteroid, discovered in June 1884.", "systemName": "Solar System", diff --git a/src/objects/comet-103p/object.json b/src/objects/comet-103p/object.json index 7fb8a84ec8e..d9a28214859 100644 --- a/src/objects/comet-103p/object.json +++ b/src/objects/comet-103p/object.json @@ -131,7 +131,7 @@ "catalog": { "name": "Hartley 2", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 3.477, "description": "Small, active comet that EPOXI flew past.", "systemName": "Solar System", diff --git a/src/objects/comet-109p/object.json b/src/objects/comet-109p/object.json index 2ff31cac623..b5a96c290eb 100644 --- a/src/objects/comet-109p/object.json +++ b/src/objects/comet-109p/object.json @@ -108,7 +108,7 @@ ], "name": "Swift–Tuttle", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 42.97520994740105, "description": "Parent comet of the Perseid meteor shower.", "systemName": "Solar System", diff --git a/src/objects/comet-137p/object.json b/src/objects/comet-137p/object.json index 488322f1496..cc4a1ebc3d0 100644 --- a/src/objects/comet-137p/object.json +++ b/src/objects/comet-137p/object.json @@ -108,7 +108,7 @@ ], "name": "Shoemaker–Levy 2", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 4.525635799109316, "description": "Comet with a rounded nucleus that turns in about eight hours.", "systemName": "Solar System", diff --git a/src/objects/comet-143p/object.json b/src/objects/comet-143p/object.json index b0ab341071e..28566345997 100644 --- a/src/objects/comet-143p/object.json +++ b/src/objects/comet-143p/object.json @@ -108,7 +108,7 @@ ], "name": "Kowal–Mrkos", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 4.744148140394379, "description": "Modestly elongated comet that turns in about seventeen hours.", "systemName": "Solar System", diff --git a/src/objects/comet-153p/object.json b/src/objects/comet-153p/object.json index 173ce25714c..e626b727f14 100644 --- a/src/objects/comet-153p/object.json +++ b/src/objects/comet-153p/object.json @@ -108,7 +108,7 @@ ], "name": "Ikeya–Zhang", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 42.26044339943092, "description": "Naked-eye comet that returns only after centuries.", "systemName": "Solar System", diff --git a/src/objects/comet-162p/object.json b/src/objects/comet-162p/object.json index 5da1240ec5d..625b4a30b63 100644 --- a/src/objects/comet-162p/object.json +++ b/src/objects/comet-162p/object.json @@ -108,7 +108,7 @@ ], "name": "Siding Spring", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 3.091276774723207, "description": "Large, elongated comet that turns once in about 33 hours.", "systemName": "Solar System", diff --git a/src/objects/comet-167p/object.json b/src/objects/comet-167p/object.json index 6bcf4f09653..af474c27354 100644 --- a/src/objects/comet-167p/object.json +++ b/src/objects/comet-167p/object.json @@ -108,7 +108,7 @@ ], "name": "CINEOS", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 19.938682340272877, "description": "Comet that stays beyond Saturn even at its closest to the Sun.", "systemName": "Solar System", diff --git a/src/objects/comet-17p/object.json b/src/objects/comet-17p/object.json index 8e0c36dec64..044bd0882d8 100644 --- a/src/objects/comet-17p/object.json +++ b/src/objects/comet-17p/object.json @@ -108,7 +108,7 @@ ], "name": "Holmes", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 3.840891878074923, "description": "Comet that grew about a million times brighter in one outburst.", "systemName": "Solar System", diff --git a/src/objects/comet-19p/object.json b/src/objects/comet-19p/object.json index 939583d3b19..b1fedc334ed 100644 --- a/src/objects/comet-19p/object.json +++ b/src/objects/comet-19p/object.json @@ -134,7 +134,7 @@ "catalog": { "name": "Borrelly", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 3.608969333559339, "description": "Elongated comet that Deep Space 1 flew past in 2001.", "systemName": "Solar System", diff --git a/src/objects/comet-1p/object.json b/src/objects/comet-1p/object.json index c4f80b40791..3b2d467151e 100644 --- a/src/objects/comet-1p/object.json +++ b/src/objects/comet-1p/object.json @@ -110,7 +110,7 @@ "catalog": { "name": "Halley", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 17.859, "description": "The best-known periodic comet, photographed up close by Giotto and Vega 2.", "systemName": "Solar System", diff --git a/src/objects/comet-209p/object.json b/src/objects/comet-209p/object.json index 48525853f7f..01c40c943c9 100644 --- a/src/objects/comet-209p/object.json +++ b/src/objects/comet-209p/object.json @@ -108,7 +108,7 @@ ], "name": "LINEAR", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 2.9567815032538625, "description": "Comet that releases very little gas for its size.", "systemName": "Solar System", diff --git a/src/objects/comet-21p/object.json b/src/objects/comet-21p/object.json index 4fe2ed2668b..a1d9dc304d7 100644 --- a/src/objects/comet-21p/object.json +++ b/src/objects/comet-21p/object.json @@ -108,7 +108,7 @@ ], "name": "Giacobini–Zinner", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 4.58488201074323, "description": "The first comet a spacecraft ever visited.", "systemName": "Solar System", diff --git a/src/objects/comet-26p/object.json b/src/objects/comet-26p/object.json index c9d72ead56d..0101324d66f 100644 --- a/src/objects/comet-26p/object.json +++ b/src/objects/comet-26p/object.json @@ -108,7 +108,7 @@ ], "name": "Grigg–Skjellerup", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 4.942382761297321, "description": "Comet that Giotto visited after Halley.", "systemName": "Solar System", diff --git a/src/objects/comet-29p/object.json b/src/objects/comet-29p/object.json index 991e778fece..36ed3a90183 100644 --- a/src/objects/comet-29p/object.json +++ b/src/objects/comet-29p/object.json @@ -108,7 +108,7 @@ ], "name": "Schwassmann–Wachmann 1", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 6.3177563009608955, "description": "Comet that erupts again and again, far from the Sun.", "systemName": "Solar System", diff --git a/src/objects/comet-2i/object.json b/src/objects/comet-2i/object.json index 217b9c39fb6..38ae2672d21 100644 --- a/src/objects/comet-2i/object.json +++ b/src/objects/comet-2i/object.json @@ -108,7 +108,7 @@ ], "name": "2I/Borisov", "classification": "interstellar", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 48.099927316612195, "description": "The second interstellar object seen passing through the Solar System, and the first clearly active comet.", "systemName": "Solar System", diff --git a/src/objects/comet-2p/object.json b/src/objects/comet-2p/object.json index 326c08b1522..ab75a01dc4a 100644 --- a/src/objects/comet-2p/object.json +++ b/src/objects/comet-2p/object.json @@ -108,7 +108,7 @@ ], "name": "Encke", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 2.217736510492418, "description": "Comet that returns to the inner Solar System every few years.", "systemName": "Solar System", diff --git a/src/objects/comet-3i/object.json b/src/objects/comet-3i/object.json index 9a711cafd4e..669bb0db0a4 100644 --- a/src/objects/comet-3i/object.json +++ b/src/objects/comet-3i/object.json @@ -108,7 +108,7 @@ ], "name": "3I/ATLAS", "classification": "interstellar", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 10.877658422787514, "description": "The third interstellar object seen passing through the Solar System.", "systemName": "Solar System", diff --git a/src/objects/comet-46p/object.json b/src/objects/comet-46p/object.json index 009df5f5e94..de2fd736f79 100644 --- a/src/objects/comet-46p/object.json +++ b/src/objects/comet-46p/object.json @@ -108,7 +108,7 @@ ], "name": "Wirtanen", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 5.038736344622292, "description": "Comet once chosen as Rosetta's target.", "systemName": "Solar System", diff --git a/src/objects/comet-55p/object.json b/src/objects/comet-55p/object.json index 7ce7abd77d2..770690bf639 100644 --- a/src/objects/comet-55p/object.json +++ b/src/objects/comet-55p/object.json @@ -108,7 +108,7 @@ ], "name": "Tempel–Tuttle", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 12.265992818638155, "description": "Parent comet of the Leonid meteor shower.", "systemName": "Solar System", diff --git a/src/objects/comet-67p/object.json b/src/objects/comet-67p/object.json index 5d99404b88f..adae1ee9cfc 100644 --- a/src/objects/comet-67p/object.json +++ b/src/objects/comet-67p/object.json @@ -150,7 +150,7 @@ "featured": true, "name": "67P", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 3.46, "description": "Comet that Rosetta followed for two years.", "systemName": "Solar System", diff --git a/src/objects/comet-81p/object.json b/src/objects/comet-81p/object.json index 622a58431e9..a41d2918953 100644 --- a/src/objects/comet-81p/object.json +++ b/src/objects/comet-81p/object.json @@ -116,7 +116,7 @@ "catalog": { "name": "Wild 2", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 3.45, "description": "Comet whose dust Stardust brought back to Earth.", "systemName": "Solar System", diff --git a/src/objects/comet-8p/object.json b/src/objects/comet-8p/object.json index 4c668f963dc..3e76f466b39 100644 --- a/src/objects/comet-8p/object.json +++ b/src/objects/comet-8p/object.json @@ -119,7 +119,7 @@ "catalog": { "name": "Tuttle", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 5.706764532787596, "description": "Comet whose nucleus may be two touching lobes.", "systemName": "Solar System", diff --git a/src/objects/comet-96p/object.json b/src/objects/comet-96p/object.json index d9a4de87a3f..e49cade3d64 100644 --- a/src/objects/comet-96p/object.json +++ b/src/objects/comet-96p/object.json @@ -108,7 +108,7 @@ ], "name": "Machholz 1", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 5.448413475057264, "description": "Comet that swings closer to the Sun than Mercury does.", "systemName": "Solar System", diff --git a/src/objects/comet-9p/object.json b/src/objects/comet-9p/object.json index fc1550dc929..5c9582b6e5d 100644 --- a/src/objects/comet-9p/object.json +++ b/src/objects/comet-9p/object.json @@ -136,7 +136,7 @@ "catalog": { "name": "Tempel 1", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 3.305, "description": "Comet that Deep Impact struck in 2005.", "systemName": "Solar System", diff --git a/src/objects/comet-c1956-r1/object.json b/src/objects/comet-c1956-r1/object.json index e8d2372998e..e151e56e73a 100644 --- a/src/objects/comet-c1956-r1/object.json +++ b/src/objects/comet-c1956-r1/object.json @@ -108,7 +108,7 @@ ], "name": "Arend–Roland", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 95.24827628303814, "description": "A great comet of the 1950s, on a one-way orbit.", "systemName": "Solar System", diff --git a/src/objects/comet-c1973-e1/object.json b/src/objects/comet-c1973-e1/object.json index 02169fdcac8..9b446ba1830 100644 --- a/src/objects/comet-c1973-e1/object.json +++ b/src/objects/comet-c1973-e1/object.json @@ -108,7 +108,7 @@ ], "name": "Kohoutek", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 78.55468108744893, "description": "Comet that passed inside Mercury's orbit on its way out of the Solar System.", "systemName": "Solar System", diff --git a/src/objects/comet-c1983-h1/object.json b/src/objects/comet-c1983-h1/object.json index 3279274fc18..fd850678934 100644 --- a/src/objects/comet-c1983-h1/object.json +++ b/src/objects/comet-c1983-h1/object.json @@ -108,7 +108,7 @@ ], "name": "IRAS–Araki–Alcock", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 62.962581525461886, "description": "Comet named after a satellite and two observers who each found it.", "systemName": "Solar System", diff --git a/src/objects/comet-c1995-o1/object.json b/src/objects/comet-c1995-o1/object.json index 4faf0b83888..5e81f298144 100644 --- a/src/objects/comet-c1995-o1/object.json +++ b/src/objects/comet-c1995-o1/object.json @@ -108,7 +108,7 @@ ], "name": "Hale–Bopp", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 51.070270471508714, "description": "Comet visible to the naked eye for about a year and a half.", "systemName": "Solar System", diff --git a/src/objects/comet-c1996-b2/object.json b/src/objects/comet-c1996-b2/object.json index c323b17ec3e..71d3fb20d16 100644 --- a/src/objects/comet-c1996-b2/object.json +++ b/src/objects/comet-c1996-b2/object.json @@ -108,7 +108,7 @@ ], "name": "Hyakutake", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 54.30204219906463, "description": "Comet that swept unusually close to Earth.", "systemName": "Solar System", diff --git a/src/objects/comet-c2006-p1/object.json b/src/objects/comet-c2006-p1/object.json index 110308d5202..e3af4742fc7 100644 --- a/src/objects/comet-c2006-p1/object.json +++ b/src/objects/comet-c2006-p1/object.json @@ -108,7 +108,7 @@ ], "name": "McNaught", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 40.6783719290027, "description": "Listed by JPL among history's great comets.", "systemName": "Solar System", diff --git a/src/objects/comet-c2013-a1/object.json b/src/objects/comet-c2013-a1/object.json index 1d03b5f7641..0fe21ab769a 100644 --- a/src/objects/comet-c2013-a1/object.json +++ b/src/objects/comet-c2013-a1/object.json @@ -108,7 +108,7 @@ ], "name": "Siding Spring 2013", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 27.900222087262012, "description": "Comet that passed close to Mars.", "systemName": "Solar System", diff --git a/src/objects/comet-c2014-un271/object.json b/src/objects/comet-c2014-un271/object.json index 8cdadfd077b..1e9757adc92 100644 --- a/src/objects/comet-c2014-un271/object.json +++ b/src/objects/comet-c2014-un271/object.json @@ -108,7 +108,7 @@ ], "name": "Bernardinelli–Bernstein", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 13.653451901646743, "description": "Comet with an exceptionally large nucleus.", "systemName": "Solar System", diff --git a/src/objects/comet-c2020-f3/object.json b/src/objects/comet-c2020-f3/object.json index ae99b7850b0..9381215d580 100644 --- a/src/objects/comet-c2020-f3/object.json +++ b/src/objects/comet-c2020-f3/object.json @@ -108,7 +108,7 @@ ], "name": "NEOWISE", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 18.5185079289819, "description": "Bright comet found by NASA's infrared survey telescope.", "systemName": "Solar System", diff --git a/src/objects/comet-c2023-a3/object.json b/src/objects/comet-c2023-a3/object.json index 7e0ea8adbe8..6395dcf1eb3 100644 --- a/src/objects/comet-c2023-a3/object.json +++ b/src/objects/comet-c2023-a3/object.json @@ -108,7 +108,7 @@ ], "name": "Tsuchinshan–ATLAS", "classification": "comet", - "color": "#b8b6b2", + "color": "#9a9a9a", "distanceAu": 8.346468275204865, "description": "Bright evening comet whose tail stretched across SOHO's view.", "systemName": "Solar System", diff --git a/src/objects/cordelia/object.json b/src/objects/cordelia/object.json index 8c99cb4c444..ede17b2ae8d 100644 --- a/src/objects/cordelia/object.json +++ b/src/objects/cordelia/object.json @@ -108,7 +108,7 @@ ], "name": "Cordelia", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "The closest known moon to Uranus, shepherding the epsilon ring's inner edge.", "systemName": "Solar System", diff --git a/src/objects/crantor/object.json b/src/objects/crantor/object.json index db6ae17ecfe..2d401198ab4 100644 --- a/src/objects/crantor/object.json +++ b/src/objects/crantor/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Crantor", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 19.4, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/cressida/object.json b/src/objects/cressida/object.json index 978193a8fbb..e13bed61196 100644 --- a/src/objects/cressida/object.json +++ b/src/objects/cressida/object.json @@ -108,7 +108,7 @@ ], "name": "Cressida", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Inner moon of Uranus, named for the title character of Troilus and Cressida.", "systemName": "Solar System", diff --git a/src/objects/crimea/object.json b/src/objects/crimea/object.json index c37790fb1c1..827de5619f2 100644 --- a/src/objects/crimea/object.json +++ b/src/objects/crimea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Crimea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7724619385411438, "description": "Stony main-belt asteroid, discovered in December 1929.", "systemName": "Solar System", diff --git a/src/objects/cybele/object.json b/src/objects/cybele/object.json index 47683b9ebed..e48556efd4a 100644 --- a/src/objects/cybele/object.json +++ b/src/objects/cybele/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Cybele", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.407076943888485, "description": "Dark asteroid in the outer main belt, discovered in March 1861.", "systemName": "Solar System", diff --git a/src/objects/cyrene/object.json b/src/objects/cyrene/object.json index f94e05c21e4..202af27c8be 100644 --- a/src/objects/cyrene/object.json +++ b/src/objects/cyrene/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Cyrene", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.07124717724166, "description": "Stony main-belt asteroid, discovered in August 1873.", "systemName": "Solar System", diff --git a/src/objects/dactyl/object.json b/src/objects/dactyl/object.json index 3b36509e148..3ac1849233b 100644 --- a/src/objects/dactyl/object.json +++ b/src/objects/dactyl/object.json @@ -118,7 +118,7 @@ "name": "Dactyl", "systemName": "Solar System", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 2.861, "description": "The first moon found orbiting an asteroid, spotted beside Ida in Galileo images.", "context": {} diff --git a/src/objects/damocles/object.json b/src/objects/damocles/object.json index 79692704b0b..9a467769dd0 100644 --- a/src/objects/damocles/object.json +++ b/src/objects/damocles/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Damocles", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 11.9, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/daphne/object.json b/src/objects/daphne/object.json index 5c41c934643..751a9a8ce4c 100644 --- a/src/objects/daphne/object.json +++ b/src/objects/daphne/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Daphne", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.766978586312942, "description": "Dark, carbon-rich main-belt asteroid with a moon, discovered in May 1856.", "systemName": "Solar System", diff --git a/src/objects/datura/object.json b/src/objects/datura/object.json index c44459a28e2..e279a88ca0e 100644 --- a/src/objects/datura/object.json +++ b/src/objects/datura/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Datura", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.234677504238297, "description": "Largest body of the Datura family.", "systemName": "Solar System", diff --git a/src/objects/davida/object.json b/src/objects/davida/object.json index e9db35ba96f..c61308cbd04 100644 --- a/src/objects/davida/object.json +++ b/src/objects/davida/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Davida", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.16136139912591, "description": "Dark, carbon-rich main-belt asteroid, discovered in May 1903.", "systemName": "Solar System", diff --git a/src/objects/deedee/object.json b/src/objects/deedee/object.json index 278f0ea16fc..0b34e4948a7 100644 --- a/src/objects/deedee/object.json +++ b/src/objects/deedee/object.json @@ -108,7 +108,7 @@ ], "name": "DeeDee (2014 UZ224)", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 87.06785037265145, "description": "Distant object found by the Dark Energy Survey, nicknamed DeeDee.", "systemName": "Solar System", diff --git a/src/objects/dejanira/object.json b/src/objects/dejanira/object.json index e6cf5be1772..67b90bf3058 100644 --- a/src/objects/dejanira/object.json +++ b/src/objects/dejanira/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Dejanira", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.579713770510923, "description": "Main-belt asteroid, discovered in December 1875.", "systemName": "Solar System", diff --git a/src/objects/dejopeja/object.json b/src/objects/dejopeja/object.json index 0d119a0f7c5..3997c4f4738 100644 --- a/src/objects/dejopeja/object.json +++ b/src/objects/dejopeja/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Dejopeja", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1906659584251518, "description": "Main-belt asteroid, discovered in February 1878.", "systemName": "Solar System", diff --git a/src/objects/demodokus/object.json b/src/objects/demodokus/object.json index 7a62d6ba48b..e938da62596 100644 --- a/src/objects/demodokus/object.json +++ b/src/objects/demodokus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Demodokus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.199474785432278, "description": "Jupiter Trojan asteroid, discovered on 24 September 1960.", "systemName": "Solar System", diff --git a/src/objects/desdemona-666/object.json b/src/objects/desdemona-666/object.json index d4633ff759a..6a7d2cb6bd4 100644 --- a/src/objects/desdemona-666/object.json +++ b/src/objects/desdemona-666/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "666 Desdemona", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.594914886847624, "description": "Main-belt asteroid, discovered in July 1908.", "systemName": "Solar System", diff --git a/src/objects/desdemona/object.json b/src/objects/desdemona/object.json index ae3f2c20e15..e6278b94fd6 100644 --- a/src/objects/desdemona/object.json +++ b/src/objects/desdemona/object.json @@ -108,7 +108,7 @@ ], "name": "Desdemona", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Elongated inner moon of Uranus, named after Othello's wife.", "systemName": "Solar System", diff --git a/src/objects/despina/object.json b/src/objects/despina/object.json index 87b8e2e9d00..ffb8c69509c 100644 --- a/src/objects/despina/object.json +++ b/src/objects/despina/object.json @@ -104,7 +104,7 @@ ], "name": "Despina", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.07, "description": "Tiny, irregular moon inside Neptune's faint rings.", "systemName": "Solar System", diff --git a/src/objects/dido/object.json b/src/objects/dido/object.json index b048cda7397..318dedbe2f3 100644 --- a/src/objects/dido/object.json +++ b/src/objects/dido/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Dido", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1544316494785694, "description": "Dark main-belt asteroid, discovered in October 1879.", "systemName": "Solar System", diff --git a/src/objects/didymos/object.json b/src/objects/didymos/object.json index 55a464e5b25..fe079fed6e9 100644 --- a/src/objects/didymos/object.json +++ b/src/objects/didymos/object.json @@ -127,7 +127,7 @@ "catalog": { "name": "Didymos", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.6427722213006, "description": "Near-Earth asteroid whose moon DART struck.", "systemName": "Solar System", diff --git a/src/objects/dike/object.json b/src/objects/dike/object.json index 85bc4215352..125c9616760 100644 --- a/src/objects/dike/object.json +++ b/src/objects/dike/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Dike", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.662672838262387, "description": "Dark main-belt asteroid, discovered in May 1868.", "systemName": "Solar System", diff --git a/src/objects/dimorphos/object.json b/src/objects/dimorphos/object.json index 3ac84230d29..e54a807c2cd 100644 --- a/src/objects/dimorphos/object.json +++ b/src/objects/dimorphos/object.json @@ -132,7 +132,7 @@ "catalog": { "name": "Dimorphos", "classification": "satellite", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.6427722213006, "description": "Small moon of Didymos, target of the first asteroid deflection test.", "systemName": "Solar System", diff --git a/src/objects/dinkinesh/object.json b/src/objects/dinkinesh/object.json index d06cb78e63e..a30f2ccfbd9 100644 --- a/src/objects/dinkinesh/object.json +++ b/src/objects/dinkinesh/object.json @@ -120,7 +120,7 @@ "name": "Dinkinesh", "systemName": "Solar System", "classification": "asteroid", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 2.073581431805674, "description": "Small asteroid with a two-lobed moon, Selam.", "context": {} diff --git a/src/objects/diomedes/object.json b/src/objects/diomedes/object.json index 54f2c5caab2..b8c8936567f 100644 --- a/src/objects/diomedes/object.json +++ b/src/objects/diomedes/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Diomedes", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.229240298100407, "description": "Very dark Jupiter Trojan asteroid, discovered in August 1937.", "systemName": "Solar System", diff --git a/src/objects/dione-106/object.json b/src/objects/dione-106/object.json index 6f9d5a41565..f91df07391a 100644 --- a/src/objects/dione-106/object.json +++ b/src/objects/dione-106/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "106 Dione", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1819345699171295, "description": "Dark, carbon-rich main-belt asteroid, discovered in October 1868.", "systemName": "Solar System", diff --git a/src/objects/diotima/object.json b/src/objects/diotima/object.json index 5d674f82e8e..cb27db15350 100644 --- a/src/objects/diotima/object.json +++ b/src/objects/diotima/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Diotima", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0693983225273733, "description": "Dark, carbon-rich main-belt asteroid, discovered in December 1896.", "systemName": "Solar System", diff --git a/src/objects/donaldjohanson/object.json b/src/objects/donaldjohanson/object.json index 2b200cf2f28..6348d059057 100644 --- a/src/objects/donaldjohanson/object.json +++ b/src/objects/donaldjohanson/object.json @@ -122,7 +122,7 @@ "catalog": { "name": "Donaldjohanson", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3839407716914627, "description": "Contact-binary asteroid that Lucy flew past.", "systemName": "Solar System", diff --git a/src/objects/doris/object.json b/src/objects/doris/object.json index 2946e318dec..46c272584b6 100644 --- a/src/objects/doris/object.json +++ b/src/objects/doris/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Doris", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.11379567922407, "description": "Dark, carbon-rich main-belt asteroid, found the same night as Pales in 1857.", "systemName": "Solar System", diff --git a/src/objects/dresda/object.json b/src/objects/dresda/object.json index 189efca9aec..5e6fe6d9f79 100644 --- a/src/objects/dresda/object.json +++ b/src/objects/dresda/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Dresda", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.884592869415074, "description": "Stony main-belt asteroid, discovered in November 1886.", "systemName": "Solar System", diff --git a/src/objects/ducrosa/object.json b/src/objects/ducrosa/object.json index 6f37135aece..a952f7c2a8c 100644 --- a/src/objects/ducrosa/object.json +++ b/src/objects/ducrosa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ducrosa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1255060299245687, "description": "Main-belt asteroid, discovered in March 1895.", "systemName": "Solar System", diff --git a/src/objects/dysnomia/object.json b/src/objects/dysnomia/object.json index 468c2dc96f7..04778e4f8e4 100644 --- a/src/objects/dysnomia/object.json +++ b/src/objects/dysnomia/object.json @@ -108,7 +108,7 @@ ], "name": "Dysnomia", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 95.46542935905964, "description": "Eris's only known moon.", "systemName": "Solar System", diff --git a/src/objects/echeclus/object.json b/src/objects/echeclus/object.json index a1482480087..14e491f4837 100644 --- a/src/objects/echeclus/object.json +++ b/src/objects/echeclus/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Echeclus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 10.8, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/echo/object.json b/src/objects/echo/object.json index 1bc21aa8470..05bfb3ee1d8 100644 --- a/src/objects/echo/object.json +++ b/src/objects/echo/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Echo", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3930398793911873, "description": "Stony main-belt asteroid, discovered in September 1860.", "systemName": "Solar System", diff --git a/src/objects/educatio/object.json b/src/objects/educatio/object.json index 741cebc8355..3802a0975dc 100644 --- a/src/objects/educatio/object.json +++ b/src/objects/educatio/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Educatio", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.2152610738212455, "description": "Main-belt asteroid, discovered in November 1978.", "systemName": "Solar System", diff --git a/src/objects/eger/object.json b/src/objects/eger/object.json index f25c4db9a88..6f99262e9c1 100644 --- a/src/objects/eger/object.json +++ b/src/objects/eger/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eger", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.4039255296748172, "description": "Near-Earth asteroid found in 1982.", "systemName": "Solar System", diff --git a/src/objects/egeria/object.json b/src/objects/egeria/object.json index 816b94701f6..af1b69233e2 100644 --- a/src/objects/egeria/object.json +++ b/src/objects/egeria/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Egeria", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5764780745110407, "description": "Dark, carbon-rich main-belt asteroid, discovered in November 1850.", "systemName": "Solar System", diff --git a/src/objects/elara/object.json b/src/objects/elara/object.json index dc1f0c11d46..a3c766854ca 100644 --- a/src/objects/elara/object.json +++ b/src/objects/elara/object.json @@ -108,7 +108,7 @@ ], "name": "Elara", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "An outer, irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/elatus/object.json b/src/objects/elatus/object.json index 14f6bdaa1b0..9acc5b7a7f4 100644 --- a/src/objects/elatus/object.json +++ b/src/objects/elatus/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Elatus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 11.8, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/elektra/object.json b/src/objects/elektra/object.json index 3258462f5ef..236bee6f450 100644 --- a/src/objects/elektra/object.json +++ b/src/objects/elektra/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Elektra", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.126562817910036, "description": "Dark, carbon-rich main-belt asteroid with 3 known moons, discovered in February 1873.", "systemName": "Solar System", diff --git a/src/objects/eleonora/object.json b/src/objects/eleonora/object.json index 51d4760b856..0d0f150c61e 100644 --- a/src/objects/eleonora/object.json +++ b/src/objects/eleonora/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eleonora", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.800786090344624, "description": "Stony main-belt asteroid, discovered in January 1893.", "systemName": "Solar System", diff --git a/src/objects/elpis/object.json b/src/objects/elpis/object.json index 37b549d70da..d1d4de31430 100644 --- a/src/objects/elpis/object.json +++ b/src/objects/elpis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Elpis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7131621894421545, "description": "Dark, carbon-rich main-belt asteroid, discovered on 12 September 1860.", "systemName": "Solar System", diff --git a/src/objects/emma/object.json b/src/objects/emma/object.json index 6b297c0b452..7f718e9db32 100644 --- a/src/objects/emma/object.json +++ b/src/objects/emma/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Emma", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0505638561088526, "description": "Dark main-belt asteroid with a moon, discovered in February 1889.", "systemName": "Solar System", diff --git a/src/objects/eos/object.json b/src/objects/eos/object.json index fc1274b807c..6d941613026 100644 --- a/src/objects/eos/object.json +++ b/src/objects/eos/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eos", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.011699855683851, "description": "Stony main-belt asteroid, discovered in January 1882.", "systemName": "Solar System", diff --git a/src/objects/erato/object.json b/src/objects/erato/object.json index 0237ca8bd68..a8c98a52827 100644 --- a/src/objects/erato/object.json +++ b/src/objects/erato/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Erato", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.128605699285775, "description": "Dark, carbon-rich main-belt asteroid, discovered on 14 September 1860.", "systemName": "Solar System", diff --git a/src/objects/erigone/object.json b/src/objects/erigone/object.json index be12b4b814f..100975cc035 100644 --- a/src/objects/erigone/object.json +++ b/src/objects/erigone/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Erigone", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.367053015804557, "description": "Dark, carbon-rich main-belt asteroid, discovered on 26 April 1876.", "systemName": "Solar System", diff --git a/src/objects/erinome/object.json b/src/objects/erinome/object.json index 700283d1331..44fb3b96018 100644 --- a/src/objects/erinome/object.json +++ b/src/objects/erinome/object.json @@ -108,7 +108,7 @@ ], "name": "Erinome", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/erriapus/object.json b/src/objects/erriapus/object.json index 33c119f2c8e..5380ac26b83 100644 --- a/src/objects/erriapus/object.json +++ b/src/objects/erriapus/object.json @@ -108,7 +108,7 @@ ], "name": "Erriapus", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Elongated Gallic-group moon of Saturn that turns in about 28 hours.", "systemName": "Solar System", diff --git a/src/objects/eudora/object.json b/src/objects/eudora/object.json index 688ff243d03..a347567991f 100644 --- a/src/objects/eudora/object.json +++ b/src/objects/eudora/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eudora", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.868342551130494, "description": "Dark main-belt asteroid, discovered in August 1880.", "systemName": "Solar System", diff --git a/src/objects/eugenia/object.json b/src/objects/eugenia/object.json index 3606e2c8838..c949608ab5b 100644 --- a/src/objects/eugenia/object.json +++ b/src/objects/eugenia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eugenia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.723129080316478, "description": "Dark, carbon-rich main-belt asteroid with 2 known moons, discovered in June 1857.", "systemName": "Solar System", diff --git a/src/objects/eukrate/object.json b/src/objects/eukrate/object.json index 8fad29508d3..72f7c89c5ac 100644 --- a/src/objects/eukrate/object.json +++ b/src/objects/eukrate/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eukrate", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7392482101612425, "description": "Dark main-belt asteroid, discovered in March 1885.", "systemName": "Solar System", diff --git a/src/objects/eumelos/object.json b/src/objects/eumelos/object.json index f3b510c34c4..e0eb0159e29 100644 --- a/src/objects/eumelos/object.json +++ b/src/objects/eumelos/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eumelos", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.201650929201143, "description": "Jupiter Trojan asteroid, discovered in February 1990.", "systemName": "Solar System", diff --git a/src/objects/eunomia/object.json b/src/objects/eunomia/object.json index e8eec136f71..41c32d2d5ee 100644 --- a/src/objects/eunomia/object.json +++ b/src/objects/eunomia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eunomia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.641952056990913, "description": "Stony main-belt asteroid, discovered in July 1851.", "systemName": "Solar System", diff --git a/src/objects/euphrosyne/object.json b/src/objects/euphrosyne/object.json index 8d47f895e26..a14c3e36715 100644 --- a/src/objects/euphrosyne/object.json +++ b/src/objects/euphrosyne/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Euphrosyne", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.162046843719569, "description": "Dark, carbon-rich main-belt asteroid with a moon, discovered in September 1854.", "systemName": "Solar System", diff --git a/src/objects/europa-52/object.json b/src/objects/europa-52/object.json index 2cea011b3c6..220e7b0d098 100644 --- a/src/objects/europa-52/object.json +++ b/src/objects/europa-52/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "52 Europa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0951664844463056, "description": "Dark, carbon-rich main-belt asteroid, discovered on 4 February 1858.", "systemName": "Solar System", diff --git a/src/objects/eurybates/object.json b/src/objects/eurybates/object.json index 7693d44347d..730d74d68df 100644 --- a/src/objects/eurybates/object.json +++ b/src/objects/eurybates/object.json @@ -108,7 +108,7 @@ ], "name": "Eurybates", "classification": "asteroid", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.21783282489895, "description": "Largest member of a family of Trojan asteroids.", "systemName": "Solar System", diff --git a/src/objects/eurykleia/object.json b/src/objects/eurykleia/object.json index e71f50fab8c..2727469f7cd 100644 --- a/src/objects/eurykleia/object.json +++ b/src/objects/eurykleia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eurykleia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.878679745406444, "description": "Dark, carbon-rich main-belt asteroid, discovered in April 1879.", "systemName": "Solar System", diff --git a/src/objects/eurynome/object.json b/src/objects/eurynome/object.json index a2360a8b600..21eb8b88d8c 100644 --- a/src/objects/eurynome/object.json +++ b/src/objects/eurynome/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eurynome", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4443553139909806, "description": "Stony main-belt asteroid, discovered in September 1863.", "systemName": "Solar System", diff --git a/src/objects/euterpe/object.json b/src/objects/euterpe/object.json index b0693c2b2f1..29ca5a3dc14 100644 --- a/src/objects/euterpe/object.json +++ b/src/objects/euterpe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Euterpe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.347052758675226, "description": "Stony main-belt asteroid, discovered in November 1853.", "systemName": "Solar System", diff --git a/src/objects/eva/object.json b/src/objects/eva/object.json index 26f4d9a0e6b..e4f285daffc 100644 --- a/src/objects/eva/object.json +++ b/src/objects/eva/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Eva", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6327474235794797, "description": "Dark main-belt asteroid, discovered in July 1876.", "systemName": "Solar System", diff --git a/src/objects/felicitas/object.json b/src/objects/felicitas/object.json index 1362727f7d9..ce265885a5c 100644 --- a/src/objects/felicitas/object.json +++ b/src/objects/felicitas/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Felicitas", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6925655976731475, "description": "Dark, carbon-rich main-belt asteroid, discovered in October 1869.", "systemName": "Solar System", diff --git a/src/objects/ferdinand/object.json b/src/objects/ferdinand/object.json index d393938e9f8..a5dac4b112d 100644 --- a/src/objects/ferdinand/object.json +++ b/src/objects/ferdinand/object.json @@ -108,7 +108,7 @@ ], "name": "Ferdinand", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "A small, irregular outer moon of Uranus.", "systemName": "Solar System", diff --git a/src/objects/feronia/object.json b/src/objects/feronia/object.json index 081cabc860a..8d454aab1f9 100644 --- a/src/objects/feronia/object.json +++ b/src/objects/feronia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Feronia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.265860062248244, "description": "Main-belt asteroid, discovered in May 1861.", "systemName": "Solar System", diff --git a/src/objects/fides/object.json b/src/objects/fides/object.json index f8a8c62d639..0bd1cb1d8b0 100644 --- a/src/objects/fides/object.json +++ b/src/objects/fides/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Fides", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.643462034651073, "description": "Stony main-belt asteroid, discovered in October 1855.", "systemName": "Solar System", diff --git a/src/objects/flora/object.json b/src/objects/flora/object.json index 6683ae8596c..535f31fada4 100644 --- a/src/objects/flora/object.json +++ b/src/objects/flora/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Flora", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.2016255700392366, "description": "Stony main-belt asteroid, discovered in October 1847.", "systemName": "Solar System", diff --git a/src/objects/fornjot/object.json b/src/objects/fornjot/object.json index db814d5277b..7e74552a362 100644 --- a/src/objects/fornjot/object.json +++ b/src/objects/fornjot/object.json @@ -108,7 +108,7 @@ ], "name": "Fornjot", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn whose spin rate is still uncertain.", "systemName": "Solar System", diff --git a/src/objects/fortuna/object.json b/src/objects/fortuna/object.json index cc4e8b8a5a1..7282a807f3c 100644 --- a/src/objects/fortuna/object.json +++ b/src/objects/fortuna/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Fortuna", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4414298428674326, "description": "Dark, carbon-rich main-belt asteroid, discovered in August 1852.", "systemName": "Solar System", diff --git a/src/objects/francisco/object.json b/src/objects/francisco/object.json index f34eb472a5c..3ccd366e34e 100644 --- a/src/objects/francisco/object.json +++ b/src/objects/francisco/object.json @@ -108,7 +108,7 @@ ], "name": "Francisco", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "A small, irregular outer moon of Uranus.", "systemName": "Solar System", diff --git a/src/objects/freia/object.json b/src/objects/freia/object.json index 53998209065..4b775a19cf6 100644 --- a/src/objects/freia/object.json +++ b/src/objects/freia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Freia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.4087870327567744, "description": "Dark asteroid in the outer main belt, discovered in October 1862.", "systemName": "Solar System", diff --git a/src/objects/galatea-74/object.json b/src/objects/galatea-74/object.json index 9af60095c14..86f4ee43ba4 100644 --- a/src/objects/galatea-74/object.json +++ b/src/objects/galatea-74/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "74 Galatea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.780620996918218, "description": "Dark, carbon-rich main-belt asteroid, discovered in August 1862.", "systemName": "Solar System", diff --git a/src/objects/galatea/object.json b/src/objects/galatea/object.json index 7be529210c4..83cf4f3c916 100644 --- a/src/objects/galatea/object.json +++ b/src/objects/galatea/object.json @@ -104,7 +104,7 @@ ], "name": "Galatea", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.07, "description": "Small moon whose gravity disturbs Neptune's rings.", "systemName": "Solar System", diff --git a/src/objects/gallia/object.json b/src/objects/gallia/object.json index 7a7b059506a..b47aeebf9c9 100644 --- a/src/objects/gallia/object.json +++ b/src/objects/gallia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Gallia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7707071057503048, "description": "Stony main-belt asteroid, discovered in August 1875.", "systemName": "Solar System", diff --git a/src/objects/ganymed/object.json b/src/objects/ganymed/object.json index dcb08088e9c..8b5ab6ee1bf 100644 --- a/src/objects/ganymed/object.json +++ b/src/objects/ganymed/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ganymed", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.663715621121006, "description": "Stony near-Earth asteroid, discovered in October 1924.", "systemName": "Solar System", diff --git a/src/objects/geographos/object.json b/src/objects/geographos/object.json index c4b306fdd69..c14339daafc 100644 --- a/src/objects/geographos/object.json +++ b/src/objects/geographos/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Geographos", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.245645513766084, "description": "Near-Earth asteroid about two and a half times as long as it is wide.", "systemName": "Solar System", diff --git a/src/objects/gerda/object.json b/src/objects/gerda/object.json index b9bf06ae399..aa350c8a885 100644 --- a/src/objects/gerda/object.json +++ b/src/objects/gerda/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Gerda", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.2256949669977946, "description": "Stony asteroid in the outer main belt, discovered in July 1872.", "systemName": "Solar System", diff --git a/src/objects/gkunhomdima/object.json b/src/objects/gkunhomdima/object.json index 921441a0653..308fc9e43e3 100644 --- a/src/objects/gkunhomdima/object.json +++ b/src/objects/gkunhomdima/object.json @@ -108,7 +108,7 @@ ], "name": "Gǃkúnǁʼhòmdímà", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 74.45925441086162, "description": "Distant dwarf-planet candidate with a small moon.", "systemName": "Solar System", diff --git a/src/objects/goibniu/object.json b/src/objects/goibniu/object.json index 7697e436535..3168a9a2d9b 100644 --- a/src/objects/goibniu/object.json +++ b/src/objects/goibniu/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Goibniu", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 41.9, "description": "A large icy body in the Kuiper belt.", "systemName": "Solar System", diff --git a/src/objects/golevka/object.json b/src/objects/golevka/object.json index 913b6f44f0a..b868fc64de3 100644 --- a/src/objects/golevka/object.json +++ b/src/objects/golevka/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Golevka", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4737870762656686, "description": "Near-Earth asteroid with sharp edges and angular faces.", "systemName": "Solar System", diff --git a/src/objects/gonggong/object.json b/src/objects/gonggong/object.json index 965948bdfbb..6ea5cbd96e3 100644 --- a/src/objects/gonggong/object.json +++ b/src/objects/gonggong/object.json @@ -108,7 +108,7 @@ ], "name": "Gonggong", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 89.84583026441713, "description": "Large, distant object with a moon, Xiangliu.", "systemName": "Solar System", diff --git a/src/objects/greip/object.json b/src/objects/greip/object.json index 1d09f6bafb0..05fa91270e5 100644 --- a/src/objects/greip/object.json +++ b/src/objects/greip/object.json @@ -108,7 +108,7 @@ ], "name": "Greip", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn with two possible rotation periods.", "systemName": "Solar System", diff --git a/src/objects/gryphia/object.json b/src/objects/gryphia/object.json index 3f9b275cc11..ae192764d98 100644 --- a/src/objects/gryphia/object.json +++ b/src/objects/gryphia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Gryphia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.1987067011231507, "description": "Slowly tumbling main-belt asteroid.", "systemName": "Solar System", diff --git a/src/objects/gyptis/object.json b/src/objects/gyptis/object.json index 675766649c2..9de691a12f2 100644 --- a/src/objects/gyptis/object.json +++ b/src/objects/gyptis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Gyptis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7713762475315957, "description": "Dark, carbon-rich main-belt asteroid, discovered in March 1899.", "systemName": "Solar System", diff --git a/src/objects/halimede/object.json b/src/objects/halimede/object.json index f00a58b3bdf..b36e676286c 100644 --- a/src/objects/halimede/object.json +++ b/src/objects/halimede/object.json @@ -108,7 +108,7 @@ ], "name": "Halimede", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.05, "description": "A distant, irregular moon of Neptune.", "systemName": "Solar System", diff --git a/src/objects/harmonia/object.json b/src/objects/harmonia/object.json index 42a397f3fe2..0234ba6c9e1 100644 --- a/src/objects/harmonia/object.json +++ b/src/objects/harmonia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Harmonia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.267273879169896, "description": "Stony main-belt asteroid, discovered in March 1856.", "systemName": "Solar System", diff --git a/src/objects/harpalyke/object.json b/src/objects/harpalyke/object.json index 77fdfc85ed2..f0c129714c4 100644 --- a/src/objects/harpalyke/object.json +++ b/src/objects/harpalyke/object.json @@ -108,7 +108,7 @@ ], "name": "Harpalyke", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/hati/object.json b/src/objects/hati/object.json index 7afbf73f51b..3df23f4a2a9 100644 --- a/src/objects/hati/object.json +++ b/src/objects/hati/object.json @@ -108,7 +108,7 @@ ], "name": "Hati", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn that spins in about five and a half hours.", "systemName": "Solar System", diff --git a/src/objects/hebe/object.json b/src/objects/hebe/object.json index 43d73fb27ee..6a0441e6421 100644 --- a/src/objects/hebe/object.json +++ b/src/objects/hebe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hebe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.426170909674805, "description": "Stony main-belt asteroid, discovered in July 1847.", "systemName": "Solar System", diff --git a/src/objects/hedda/object.json b/src/objects/hedda/object.json index 88964f53583..a62048be3c6 100644 --- a/src/objects/hedda/object.json +++ b/src/objects/hedda/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hedda", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.28374355631575, "description": "Dark, carbon-rich main-belt asteroid, discovered on 17 October 1879.", "systemName": "Solar System", diff --git a/src/objects/hekate/object.json b/src/objects/hekate/object.json index 8c5fad1cd80..b4b51079282 100644 --- a/src/objects/hekate/object.json +++ b/src/objects/hekate/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hekate", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0905910748647547, "description": "Stony main-belt asteroid, discovered in July 1868.", "systemName": "Solar System", diff --git a/src/objects/hektor/object.json b/src/objects/hektor/object.json index acc0c1e6634..d26d8bc1cd2 100644 --- a/src/objects/hektor/object.json +++ b/src/objects/hektor/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hektor", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.27706210284509, "description": "Very dark Jupiter Trojan asteroid with a moon, discovered in February 1907.", "systemName": "Solar System", diff --git a/src/objects/hela/object.json b/src/objects/hela/object.json index cc5bfbeafdd..f56d6f6e3ce 100644 --- a/src/objects/hela/object.json +++ b/src/objects/hela/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hela", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.615426166061675, "description": "Stony Mars-crossing asteroid, discovered in June 1910.", "systemName": "Solar System", diff --git a/src/objects/henrietta/object.json b/src/objects/henrietta/object.json index 349d1d096fb..5ab2f33ad54 100644 --- a/src/objects/henrietta/object.json +++ b/src/objects/henrietta/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Henrietta", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.397844277767737, "description": "Dark, carbon-rich asteroid in the outer main belt, discovered in April 1882.", "systemName": "Solar System", diff --git a/src/objects/hera/object.json b/src/objects/hera/object.json index 29d2428168d..097ec30c029 100644 --- a/src/objects/hera/object.json +++ b/src/objects/hera/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hera", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.701015744250632, "description": "Stony main-belt asteroid, discovered in September 1868.", "systemName": "Solar System", diff --git a/src/objects/herculina/object.json b/src/objects/herculina/object.json index d6cbd82db6b..b2110a47161 100644 --- a/src/objects/herculina/object.json +++ b/src/objects/herculina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Herculina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.769403168493778, "description": "Stony main-belt asteroid, discovered in April 1904.", "systemName": "Solar System", diff --git a/src/objects/hermione/object.json b/src/objects/hermione/object.json index 6fa7d9c2220..613adc5a046 100644 --- a/src/objects/hermione/object.json +++ b/src/objects/hermione/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hermione", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.458050151729624, "description": "Dark, carbon-rich asteroid in the outer main belt with a moon, discovered in May 1872.", "systemName": "Solar System", diff --git a/src/objects/hersilia/object.json b/src/objects/hersilia/object.json index 58fcff4c163..31941f334ff 100644 --- a/src/objects/hersilia/object.json +++ b/src/objects/hersilia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hersilia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.741003699475706, "description": "Dark, carbon-rich main-belt asteroid, discovered on 13 October 1879.", "systemName": "Solar System", diff --git a/src/objects/hertha/object.json b/src/objects/hertha/object.json index cd681702ee7..1cde45f9a60 100644 --- a/src/objects/hertha/object.json +++ b/src/objects/hertha/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hertha", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4274112698544013, "description": "Main-belt asteroid, discovered in February 1874.", "systemName": "Solar System", diff --git a/src/objects/hesperia/object.json b/src/objects/hesperia/object.json index dbbc81374ce..ac069143173 100644 --- a/src/objects/hesperia/object.json +++ b/src/objects/hesperia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hesperia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.9772137652759962, "description": "Main-belt asteroid, discovered in April 1861.", "systemName": "Solar System", diff --git a/src/objects/hestia/object.json b/src/objects/hestia/object.json index 72ad66e1e9f..97f136e09ed 100644 --- a/src/objects/hestia/object.json +++ b/src/objects/hestia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hestia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5255592116593393, "description": "Dark main-belt asteroid, discovered in August 1857.", "systemName": "Solar System", diff --git a/src/objects/hidalgo/object.json b/src/objects/hidalgo/object.json index c10fa02682f..90536f08913 100644 --- a/src/objects/hidalgo/object.json +++ b/src/objects/hidalgo/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hidalgo", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.728989790748572, "description": "Very dark centaur, discovered in October 1920.", "systemName": "Solar System", diff --git a/src/objects/hiiaka/object.json b/src/objects/hiiaka/object.json index e0c48ea5b1a..2322769e670 100644 --- a/src/objects/hiiaka/object.json +++ b/src/objects/hiiaka/object.json @@ -108,7 +108,7 @@ ], "name": "Hiʻiaka", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 43.1, "description": "Haumea's largest moon, about 370 km across.", "systemName": "Solar System", diff --git a/src/objects/himalia/object.json b/src/objects/himalia/object.json index 441682e7eaa..b3a9b53c5ed 100644 --- a/src/objects/himalia/object.json +++ b/src/objects/himalia/object.json @@ -108,7 +108,7 @@ ], "name": "Himalia", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "Jupiter's largest irregular moon, glimpsed by Cassini.", "systemName": "Solar System", diff --git a/src/objects/hopi/object.json b/src/objects/hopi/object.json index dca5cabcf48..3f93940743f 100644 --- a/src/objects/hopi/object.json +++ b/src/objects/hopi/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hopi", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.153358490702003, "description": "Main-belt asteroid, discovered in June 1980.", "systemName": "Solar System", diff --git a/src/objects/huberta/object.json b/src/objects/huberta/object.json index 1213ae679d3..a157be09c58 100644 --- a/src/objects/huberta/object.json +++ b/src/objects/huberta/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Huberta", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.453696095317234, "description": "Dark, carbon-rich asteroid in the outer main belt, discovered in October 1886.", "systemName": "Solar System", diff --git a/src/objects/hungaria/object.json b/src/objects/hungaria/object.json index 8a08f6f5e60..12070348fe3 100644 --- a/src/objects/hungaria/object.json +++ b/src/objects/hungaria/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hungaria", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.9441039346957218, "description": "Inner-belt asteroid that names the Hungaria group.", "systemName": "Solar System", diff --git a/src/objects/huya/object.json b/src/objects/huya/object.json index 4119615d855..0e166f74585 100644 --- a/src/objects/huya/object.json +++ b/src/objects/huya/object.json @@ -108,7 +108,7 @@ ], "name": "Huya", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 29.392166722642536, "description": "Plutino with a moon, measured by stellar occultations.", "systemName": "Solar System", diff --git a/src/objects/hydra/object.json b/src/objects/hydra/object.json index 9f274ca6db2..5141e40d74e 100644 --- a/src/objects/hydra/object.json +++ b/src/objects/hydra/object.json @@ -110,7 +110,7 @@ "catalog": { "name": "Hydra", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 39.482, "description": "Irregular outer moon of Pluto that spins about every 10 hours.", "systemName": "Solar System", diff --git a/src/objects/hygiea/object.json b/src/objects/hygiea/object.json index 3aefa4ab37d..2c7d0f92216 100644 --- a/src/objects/hygiea/object.json +++ b/src/objects/hygiea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hygiea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1509104848150167, "description": "Nearly round asteroid that may count as a dwarf planet.", "systemName": "Solar System", diff --git a/src/objects/hylonome/object.json b/src/objects/hylonome/object.json index 694ea6133e7..ce496bfe55e 100644 --- a/src/objects/hylonome/object.json +++ b/src/objects/hylonome/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Hylonome", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 24.9, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/hypatia/object.json b/src/objects/hypatia/object.json index 26bd79a1b13..c4bd395ad88 100644 --- a/src/objects/hypatia/object.json +++ b/src/objects/hypatia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Hypatia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.905035805480087, "description": "Dark, carbon-rich main-belt asteroid, discovered in July 1884.", "systemName": "Solar System", diff --git a/src/objects/hyrrokkin/object.json b/src/objects/hyrrokkin/object.json index f6e5a335d3c..0cc79c74256 100644 --- a/src/objects/hyrrokkin/object.json +++ b/src/objects/hyrrokkin/object.json @@ -108,7 +108,7 @@ ], "name": "Hyrrokkin", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn whose brightness peaks three times per turn.", "systemName": "Solar System", diff --git a/src/objects/ianthe/object.json b/src/objects/ianthe/object.json index c057703a4ba..a0670226ba9 100644 --- a/src/objects/ianthe/object.json +++ b/src/objects/ianthe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ianthe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.687221327524466, "description": "Dark, carbon-rich main-belt asteroid, discovered in April 1868.", "systemName": "Solar System", diff --git a/src/objects/iau/object.json b/src/objects/iau/object.json index aac47692298..71ad46f699a 100644 --- a/src/objects/iau/object.json +++ b/src/objects/iau/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "IAU", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.535679875280375, "description": "Main-belt asteroid, discovered in August 1987.", "systemName": "Solar System", diff --git a/src/objects/iclea/object.json b/src/objects/iclea/object.json index 46664246aec..1c62fdf172e 100644 --- a/src/objects/iclea/object.json +++ b/src/objects/iclea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Iclea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1954918103121694, "description": "Dark, carbon-rich main-belt asteroid, discovered in August 1889.", "systemName": "Solar System", diff --git a/src/objects/ijiraq/object.json b/src/objects/ijiraq/object.json index c2560296dd0..5987e291511 100644 --- a/src/objects/ijiraq/object.json +++ b/src/objects/ijiraq/object.json @@ -108,7 +108,7 @@ ], "name": "Ijiraq", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Inuit-group moon of Saturn with a shallow light curve.", "systemName": "Solar System", diff --git a/src/objects/ilioneus/object.json b/src/objects/ilioneus/object.json index 1ea06bafe9d..e53cb7e6ead 100644 --- a/src/objects/ilioneus/object.json +++ b/src/objects/ilioneus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ilioneus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.182702514637422, "description": "Dark Jupiter Trojan asteroid, discovered in September 1989.", "systemName": "Solar System", diff --git a/src/objects/ilse/object.json b/src/objects/ilse/object.json index 063f64ff757..a06e67fe4f0 100644 --- a/src/objects/ilse/object.json +++ b/src/objects/ilse/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ilse", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.377447027685721, "description": "Dark main-belt asteroid, discovered in August 1885.", "systemName": "Solar System", diff --git a/src/objects/ino/object.json b/src/objects/ino/object.json index 519ed54ea89..4458b6c1721 100644 --- a/src/objects/ino/object.json +++ b/src/objects/ino/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ino", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.742339935291223, "description": "Main-belt asteroid, discovered in August 1877.", "systemName": "Solar System", diff --git a/src/objects/interamnia/object.json b/src/objects/interamnia/object.json index e6fca6e082c..271c14818b6 100644 --- a/src/objects/interamnia/object.json +++ b/src/objects/interamnia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Interamnia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.057028354640983, "description": "Dark, carbon-rich main-belt asteroid, discovered in October 1910.", "systemName": "Solar System", diff --git a/src/objects/io-85/object.json b/src/objects/io-85/object.json index 6a553e41f08..c4014059491 100644 --- a/src/objects/io-85/object.json +++ b/src/objects/io-85/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "85 Io", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6540732054067564, "description": "Dark, carbon-rich main-belt asteroid, discovered in September 1865.", "systemName": "Solar System", diff --git a/src/objects/iocaste/object.json b/src/objects/iocaste/object.json index 26cb6ff999e..e86fd469922 100644 --- a/src/objects/iocaste/object.json +++ b/src/objects/iocaste/object.json @@ -108,7 +108,7 @@ ], "name": "Iocaste", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/iphigenia/object.json b/src/objects/iphigenia/object.json index a857c240db4..926e558dfe5 100644 --- a/src/objects/iphigenia/object.json +++ b/src/objects/iphigenia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Iphigenia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4333836727227824, "description": "Dark, carbon-rich main-belt asteroid, discovered in September 1870.", "systemName": "Solar System", diff --git a/src/objects/irene/object.json b/src/objects/irene/object.json index e7e28ff7022..d30a0a67535 100644 --- a/src/objects/irene/object.json +++ b/src/objects/irene/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Irene", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.58851145680903, "description": "Stony main-belt asteroid, discovered in May 1851.", "systemName": "Solar System", diff --git a/src/objects/iris/object.json b/src/objects/iris/object.json index eed60dfb261..158e2ef1cd5 100644 --- a/src/objects/iris/object.json +++ b/src/objects/iris/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Iris", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3855680410669247, "description": "Stony main-belt asteroid, discovered in August 1847.", "systemName": "Solar System", diff --git a/src/objects/isabella/object.json b/src/objects/isabella/object.json index 4a6157f83dc..68930aa8d09 100644 --- a/src/objects/isabella/object.json +++ b/src/objects/isabella/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Isabella", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7224299951412174, "description": "Dark, carbon-rich main-belt asteroid, discovered on 12 November 1879.", "systemName": "Solar System", diff --git a/src/objects/isis/object.json b/src/objects/isis/object.json index 372b5bf4b61..0ca04d51ae5 100644 --- a/src/objects/isis/object.json +++ b/src/objects/isis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Isis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4444877106591107, "description": "Stony main-belt asteroid, discovered in May 1856.", "systemName": "Solar System", diff --git a/src/objects/isonoe/object.json b/src/objects/isonoe/object.json index 020bc0cabe7..7ee25e3c5ad 100644 --- a/src/objects/isonoe/object.json +++ b/src/objects/isonoe/object.json @@ -108,7 +108,7 @@ ], "name": "Isonoe", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/ivar/object.json b/src/objects/ivar/object.json index 2c80dae297c..0148c6a69b8 100644 --- a/src/objects/ivar/object.json +++ b/src/objects/ivar/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ivar", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.8630871303717667, "description": "Stony near-Earth asteroid, discovered in September 1929.", "systemName": "Solar System", diff --git a/src/objects/ixion/object.json b/src/objects/ixion/object.json index 0e6e5db08e3..f8adffda2a9 100644 --- a/src/objects/ixion/object.json +++ b/src/objects/ixion/object.json @@ -108,7 +108,7 @@ ], "name": "Ixion", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 37.41243146579822, "description": "Large plutino whose outline was traced by several occultations.", "systemName": "Solar System", diff --git a/src/objects/johanna/object.json b/src/objects/johanna/object.json index 188909b6197..2040b7f2b02 100644 --- a/src/objects/johanna/object.json +++ b/src/objects/johanna/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Johanna", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7565883306989893, "description": "Dark, carbon-rich main-belt asteroid, discovered on 5 November 1872.", "systemName": "Solar System", diff --git a/src/objects/juewa/object.json b/src/objects/juewa/object.json index 607a01ef224..9f7c75a9868 100644 --- a/src/objects/juewa/object.json +++ b/src/objects/juewa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Juewa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7861445733475856, "description": "Dark main-belt asteroid, discovered on 10 October 1874.", "systemName": "Solar System", diff --git a/src/objects/julia/object.json b/src/objects/julia/object.json index 58f1efcac71..25dd902d9b8 100644 --- a/src/objects/julia/object.json +++ b/src/objects/julia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Julia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.550930934639707, "description": "Stony main-belt asteroid, discovered in August 1866.", "systemName": "Solar System", diff --git a/src/objects/juliet/object.json b/src/objects/juliet/object.json index 5aef4267609..d75414f55d0 100644 --- a/src/objects/juliet/object.json +++ b/src/objects/juliet/object.json @@ -108,7 +108,7 @@ ], "name": "Juliet", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Elongated inner moon of Uranus, named for the heroine of Romeo and Juliet.", "systemName": "Solar System", diff --git a/src/objects/juno/object.json b/src/objects/juno/object.json index 16df1b720a2..75b0e7449ff 100644 --- a/src/objects/juno/object.json +++ b/src/objects/juno/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Juno", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6710204451309156, "description": "One of the first asteroids ever discovered.", "systemName": "Solar System", diff --git a/src/objects/kalliope/object.json b/src/objects/kalliope/object.json index d3d5a27053d..65017433744 100644 --- a/src/objects/kalliope/object.json +++ b/src/objects/kalliope/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Kalliope", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.909387673184708, "description": "Main-belt asteroid with a moon, discovered in November 1852.", "systemName": "Solar System", diff --git a/src/objects/kallisto/object.json b/src/objects/kallisto/object.json index 6fc5fd2b18b..20b0a56f580 100644 --- a/src/objects/kallisto/object.json +++ b/src/objects/kallisto/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Kallisto", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.66979749127311, "description": "Stony main-belt asteroid, discovered in October 1879.", "systemName": "Solar System", diff --git a/src/objects/kalyke/object.json b/src/objects/kalyke/object.json index 1e64dbc5b79..3bbbb9e4340 100644 --- a/src/objects/kalyke/object.json +++ b/src/objects/kalyke/object.json @@ -108,7 +108,7 @@ ], "name": "Kalyke", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/kalypso/object.json b/src/objects/kalypso/object.json index 6f722e1107d..b6c7589caac 100644 --- a/src/objects/kalypso/object.json +++ b/src/objects/kalypso/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Kalypso", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6180409355001784, "description": "Dark main-belt asteroid, discovered in April 1858.", "systemName": "Solar System", diff --git a/src/objects/karin/object.json b/src/objects/karin/object.json index e033c47b9e2..d493346b7f1 100644 --- a/src/objects/karin/object.json +++ b/src/objects/karin/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Karin", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8631124208470773, "description": "Largest piece of a family that broke up 5.8 million years ago.", "systemName": "Solar System", diff --git a/src/objects/kemi/object.json b/src/objects/kemi/object.json index b923d774865..a35adfeda27 100644 --- a/src/objects/kemi/object.json +++ b/src/objects/kemi/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Kemi", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.766954866279291, "description": "Dark, carbon-rich Mars-crossing asteroid, discovered in October 1938.", "systemName": "Solar System", diff --git a/src/objects/kerberos/object.json b/src/objects/kerberos/object.json index f72c2750a3d..b237aca5822 100644 --- a/src/objects/kerberos/object.json +++ b/src/objects/kerberos/object.json @@ -108,7 +108,7 @@ ], "name": "Kerberos", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 39.482, "description": "Small, possibly double-lobed moon of Pluto coated in clean water ice.", "systemName": "Solar System", diff --git a/src/objects/kiviuq/object.json b/src/objects/kiviuq/object.json index 0b153b85f2c..6befac96b46 100644 --- a/src/objects/kiviuq/object.json +++ b/src/objects/kiviuq/object.json @@ -108,7 +108,7 @@ ], "name": "Kiviuq", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Inuit-group moon of Saturn that turns in about 22 hours.", "systemName": "Solar System", diff --git a/src/objects/kleopatra/object.json b/src/objects/kleopatra/object.json index e936ca77567..ace0a205004 100644 --- a/src/objects/kleopatra/object.json +++ b/src/objects/kleopatra/object.json @@ -103,7 +103,7 @@ "catalog": { "name": "Kleopatra", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.795397676845876, "description": "Dog-bone-shaped asteroid with two small moons.", "systemName": "Solar System", diff --git a/src/objects/klio/object.json b/src/objects/klio/object.json index 5ae1a6346c1..3a5857e2e2c 100644 --- a/src/objects/klio/object.json +++ b/src/objects/klio/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Klio", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3638584071567386, "description": "Dark, carbon-rich main-belt asteroid, discovered in August 1865.", "systemName": "Solar System", diff --git a/src/objects/klotho/object.json b/src/objects/klotho/object.json index e51b1c6600f..dd5f8168489 100644 --- a/src/objects/klotho/object.json +++ b/src/objects/klotho/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Klotho", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6688807426668064, "description": "Main-belt asteroid, discovered in February 1868.", "systemName": "Solar System", diff --git a/src/objects/klymene/object.json b/src/objects/klymene/object.json index 522b96148e7..ab42938e082 100644 --- a/src/objects/klymene/object.json +++ b/src/objects/klymene/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Klymene", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1462660059874397, "description": "Dark, carbon-rich main-belt asteroid, discovered on 13 September 1868.", "systemName": "Solar System", diff --git a/src/objects/klytia/object.json b/src/objects/klytia/object.json index 5868dfc6c05..4a9b3db3775 100644 --- a/src/objects/klytia/object.json +++ b/src/objects/klytia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Klytia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6653201228884313, "description": "Stony main-belt asteroid, discovered in April 1862.", "systemName": "Solar System", diff --git a/src/objects/kolga/object.json b/src/objects/kolga/object.json index b5542d3ef70..64c811800a6 100644 --- a/src/objects/kolga/object.json +++ b/src/objects/kolga/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Kolga", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8959502139804503, "description": "Dark, carbon-rich main-belt asteroid, discovered in September 1878.", "systemName": "Solar System", diff --git a/src/objects/koronis/object.json b/src/objects/koronis/object.json index 4ae90ec522a..7620efcb6cd 100644 --- a/src/objects/koronis/object.json +++ b/src/objects/koronis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Koronis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8696310690098166, "description": "Main-belt asteroid found in 1876.", "systemName": "Solar System", diff --git a/src/objects/kressmannia/object.json b/src/objects/kressmannia/object.json index 6e5a98bcf33..67f69b0b76f 100644 --- a/src/objects/kressmannia/object.json +++ b/src/objects/kressmannia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Kressmannia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.192543456333038, "description": "Stony main-belt asteroid, discovered in March 1915.", "systemName": "Solar System", diff --git a/src/objects/kriemhild/object.json b/src/objects/kriemhild/object.json index 845f4f9c749..057580215d5 100644 --- a/src/objects/kriemhild/object.json +++ b/src/objects/kriemhild/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Kriemhild", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8618233448142756, "description": "Main-belt asteroid, discovered in September 1884.", "systemName": "Solar System", diff --git a/src/objects/lachesis/object.json b/src/objects/lachesis/object.json index b32e0913c21..44ed4879100 100644 --- a/src/objects/lachesis/object.json +++ b/src/objects/lachesis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lachesis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.119472040064257, "description": "Dark, carbon-rich main-belt asteroid, discovered in April 1872.", "systemName": "Solar System", diff --git a/src/objects/laetitia/object.json b/src/objects/laetitia/object.json index fcd0d49ca93..e6be78a2449 100644 --- a/src/objects/laetitia/object.json +++ b/src/objects/laetitia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Laetitia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7684445031801124, "description": "Stony main-belt asteroid, discovered in February 1856.", "systemName": "Solar System", diff --git a/src/objects/lamberta/object.json b/src/objects/lamberta/object.json index f59ef9b0955..649fe14e1e5 100644 --- a/src/objects/lamberta/object.json +++ b/src/objects/lamberta/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lamberta", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7320569169080615, "description": "Dark, carbon-rich main-belt asteroid, discovered in April 1878.", "systemName": "Solar System", diff --git a/src/objects/laomedeia/object.json b/src/objects/laomedeia/object.json index 3a1ccf86473..b97f4901583 100644 --- a/src/objects/laomedeia/object.json +++ b/src/objects/laomedeia/object.json @@ -108,7 +108,7 @@ ], "name": "Laomedeia", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.05, "description": "A distant, irregular moon of Neptune.", "systemName": "Solar System", diff --git a/src/objects/laurentia/object.json b/src/objects/laurentia/object.json index 69023d1085c..d1e02e370e6 100644 --- a/src/objects/laurentia/object.json +++ b/src/objects/laurentia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Laurentia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0135299301481933, "description": "Dark, carbon-rich main-belt asteroid, discovered on 21 April 1876.", "systemName": "Solar System", diff --git a/src/objects/leda-38/object.json b/src/objects/leda-38/object.json index 41ff92c3cae..13b9be5ccfa 100644 --- a/src/objects/leda-38/object.json +++ b/src/objects/leda-38/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "38 Leda", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7426288995401285, "description": "Dark, carbon-rich main-belt asteroid, discovered in January 1856.", "systemName": "Solar System", diff --git a/src/objects/leda/object.json b/src/objects/leda/object.json index 06fc065ddb4..18f591e852e 100644 --- a/src/objects/leda/object.json +++ b/src/objects/leda/object.json @@ -108,7 +108,7 @@ ], "name": "Leda", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "An outer, irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/leleakuhonua/object.json b/src/objects/leleakuhonua/object.json index 806a66bfeeb..6726c1509ce 100644 --- a/src/objects/leleakuhonua/object.json +++ b/src/objects/leleakuhonua/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Leleākūhonua", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 75.56409028198392, "description": "Found in 2015; its orbit reaches more than 2,500 au from the Sun.", "systemName": "Solar System", diff --git a/src/objects/leto/object.json b/src/objects/leto/object.json index d59a7f6e6d4..249b85316a1 100644 --- a/src/objects/leto/object.json +++ b/src/objects/leto/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Leto", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7855571261884413, "description": "Stony main-belt asteroid, discovered on 29 April 1861.", "systemName": "Solar System", diff --git a/src/objects/leucus/object.json b/src/objects/leucus/object.json index bafcf06cec1..b284c37362c 100644 --- a/src/objects/leucus/object.json +++ b/src/objects/leucus/object.json @@ -108,7 +108,7 @@ ], "name": "Leucus", "classification": "asteroid", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.312733245360807, "description": "Slow-spinning Jupiter Trojan and Lucy target.", "systemName": "Solar System", diff --git a/src/objects/leukothea/object.json b/src/objects/leukothea/object.json index fb1698cfe6d..d1e70cd355f 100644 --- a/src/objects/leukothea/object.json +++ b/src/objects/leukothea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Leukothea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0042313558099742, "description": "Dark, carbon-rich main-belt asteroid, discovered on 19 April 1855.", "systemName": "Solar System", diff --git a/src/objects/liberatrix/object.json b/src/objects/liberatrix/object.json index f2fc70fe31f..b4747321267 100644 --- a/src/objects/liberatrix/object.json +++ b/src/objects/liberatrix/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Liberatrix", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.742985442216405, "description": "Main-belt asteroid, discovered in September 1872.", "systemName": "Solar System", diff --git a/src/objects/libussa/object.json b/src/objects/libussa/object.json index b38d37afc75..399d8e6a177 100644 --- a/src/objects/libussa/object.json +++ b/src/objects/libussa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Libussa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7991273130765797, "description": "Stony main-belt asteroid, discovered in December 1886.", "systemName": "Solar System", diff --git a/src/objects/lilaea/object.json b/src/objects/lilaea/object.json index 00e58489761..adc52525532 100644 --- a/src/objects/lilaea/object.json +++ b/src/objects/lilaea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lilaea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.752207905556241, "description": "Dark, carbon-rich main-belt asteroid, discovered in February 1880.", "systemName": "Solar System", diff --git a/src/objects/loge/object.json b/src/objects/loge/object.json index 8fc24feda32..5f9d3a62abe 100644 --- a/src/objects/loge/object.json +++ b/src/objects/loge/object.json @@ -108,7 +108,7 @@ ], "name": "Loge", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn with a faint, noisy light curve.", "systemName": "Solar System", diff --git a/src/objects/lomia/object.json b/src/objects/lomia/object.json index 10ea1e21e0c..f4bd2efee73 100644 --- a/src/objects/lomia/object.json +++ b/src/objects/lomia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lomia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.9917431003179766, "description": "Dark main-belt asteroid, discovered in September 1871.", "systemName": "Solar System", diff --git a/src/objects/loreley/object.json b/src/objects/loreley/object.json index 21fc046545f..b7b3c462c05 100644 --- a/src/objects/loreley/object.json +++ b/src/objects/loreley/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Loreley", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.126208058670846, "description": "Dark, carbon-rich main-belt asteroid, discovered on 9 August 1876 at Clinton.", "systemName": "Solar System", diff --git a/src/objects/lucia/object.json b/src/objects/lucia/object.json index d09abcd69b5..2fceda25f6b 100644 --- a/src/objects/lucia/object.json +++ b/src/objects/lucia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lucia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1448952145576423, "description": "Dark, carbon-rich main-belt asteroid, discovered in February 1882.", "systemName": "Solar System", diff --git a/src/objects/lucina/object.json b/src/objects/lucina/object.json index 6a9a6565a46..5702e63c6d9 100644 --- a/src/objects/lucina/object.json +++ b/src/objects/lucina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lucina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7199394547827493, "description": "Dark, carbon-rich main-belt asteroid, discovered on 8 June 1875.", "systemName": "Solar System", diff --git a/src/objects/lutetia/object.json b/src/objects/lutetia/object.json index 0f2b838ea15..9b59239c95e 100644 --- a/src/objects/lutetia/object.json +++ b/src/objects/lutetia/object.json @@ -122,7 +122,7 @@ "catalog": { "name": "Lutetia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.435, "description": "Irregular asteroid that Rosetta flew past.", "systemName": "Solar System", diff --git a/src/objects/lycomedes/object.json b/src/objects/lycomedes/object.json index b30060cfe80..39311fe18b6 100644 --- a/src/objects/lycomedes/object.json +++ b/src/objects/lycomedes/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lycomedes", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.0677482891717345, "description": "Jupiter Trojan asteroid, discovered on 26 September 1960.", "systemName": "Solar System", diff --git a/src/objects/lydia/object.json b/src/objects/lydia/object.json index 7fa0bc3ce59..4c021fbad72 100644 --- a/src/objects/lydia/object.json +++ b/src/objects/lydia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lydia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.732268290476554, "description": "Main-belt asteroid, discovered in April 1870.", "systemName": "Solar System", diff --git a/src/objects/lysithea/object.json b/src/objects/lysithea/object.json index a81cc229898..d04ab677e6a 100644 --- a/src/objects/lysithea/object.json +++ b/src/objects/lysithea/object.json @@ -108,7 +108,7 @@ ], "name": "Lysithea", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "An outer, irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/lyyli/object.json b/src/objects/lyyli/object.json index 58895566d19..6162a3c1d29 100644 --- a/src/objects/lyyli/object.json +++ b/src/objects/lyyli/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Lyyli", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5890833040625667, "description": "Dark Mars-crossing asteroid, discovered in March 1943.", "systemName": "Solar System", diff --git a/src/objects/maja/object.json b/src/objects/maja/object.json index 58a1e79a997..8bffefc72d0 100644 --- a/src/objects/maja/object.json +++ b/src/objects/maja/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Maja", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6470494923987746, "description": "Dark, carbon-rich main-belt asteroid, discovered in April 1861.", "systemName": "Solar System", diff --git a/src/objects/mani/object.json b/src/objects/mani/object.json index aa20b955271..4d684199189 100644 --- a/src/objects/mani/object.json +++ b/src/objects/mani/object.json @@ -108,7 +108,7 @@ ], "name": "Máni (2002 MS4)", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 45.97552197787258, "description": "Distant object with a large dent seen at its edge.", "systemName": "Solar System", diff --git a/src/objects/margaret/object.json b/src/objects/margaret/object.json index 6a85d19b266..e7b1ebd3033 100644 --- a/src/objects/margaret/object.json +++ b/src/objects/margaret/object.json @@ -108,7 +108,7 @@ ], "name": "Margaret", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "A small, irregular outer moon of Uranus.", "systemName": "Solar System", diff --git a/src/objects/massalia/object.json b/src/objects/massalia/object.json index 2b4ded843ca..d7ac22a0643 100644 --- a/src/objects/massalia/object.json +++ b/src/objects/massalia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Massalia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4079553806420346, "description": "Stony main-belt asteroid found in 1852.", "systemName": "Solar System", diff --git a/src/objects/medea/object.json b/src/objects/medea/object.json index e601e9a2252..30878ffed66 100644 --- a/src/objects/medea/object.json +++ b/src/objects/medea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Medea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1164528663194453, "description": "Very dark main-belt asteroid, discovered in February 1880.", "systemName": "Solar System", diff --git a/src/objects/medusa/object.json b/src/objects/medusa/object.json index d486201f04b..749cf196c0a 100644 --- a/src/objects/medusa/object.json +++ b/src/objects/medusa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Medusa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.174593942921186, "description": "Stony main-belt asteroid, discovered in September 1875.", "systemName": "Solar System", diff --git a/src/objects/megaclite/object.json b/src/objects/megaclite/object.json index bf5dd609467..cfeeb354a3e 100644 --- a/src/objects/megaclite/object.json +++ b/src/objects/megaclite/object.json @@ -108,7 +108,7 @@ ], "name": "Megaclite", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/melete/object.json b/src/objects/melete/object.json index 73fb821c20a..a8c4888c576 100644 --- a/src/objects/melete/object.json +++ b/src/objects/melete/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Melete", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5988578205374266, "description": "Dark main-belt asteroid, discovered in September 1857.", "systemName": "Solar System", diff --git a/src/objects/meliboea/object.json b/src/objects/meliboea/object.json index 8ef23211b2c..6584acaf128 100644 --- a/src/objects/meliboea/object.json +++ b/src/objects/meliboea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Meliboea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1311603864437165, "description": "Dark, carbon-rich main-belt asteroid, discovered on 21 April 1874.", "systemName": "Solar System", diff --git a/src/objects/melpomene/object.json b/src/objects/melpomene/object.json index 7241ef8aa17..0f08a6f3b2a 100644 --- a/src/objects/melpomene/object.json +++ b/src/objects/melpomene/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Melpomene", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.295895199776688, "description": "Stony main-belt asteroid, discovered in June 1852.", "systemName": "Solar System", diff --git a/src/objects/menelaus/object.json b/src/objects/menelaus/object.json index 54aac9cad7c..59ad3187515 100644 --- a/src/objects/menelaus/object.json +++ b/src/objects/menelaus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Menelaus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.197053008241417, "description": "Dark Jupiter Trojan asteroid, discovered in June 1957.", "systemName": "Solar System", diff --git a/src/objects/menippe/object.json b/src/objects/menippe/object.json index 697ae95297a..dd42900745d 100644 --- a/src/objects/menippe/object.json +++ b/src/objects/menippe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Menippe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.761609095120294, "description": "Stony main-belt asteroid, discovered in June 1878.", "systemName": "Solar System", diff --git a/src/objects/menoetius/object.json b/src/objects/menoetius/object.json index ff6ac5fec56..98160f2d207 100644 --- a/src/objects/menoetius/object.json +++ b/src/objects/menoetius/object.json @@ -108,7 +108,7 @@ ], "name": "Menoetius", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.226, "description": "Smaller partner of Patroclus in a binary pair of Jupiter Trojans.", "systemName": "Solar System", diff --git a/src/objects/mentor/object.json b/src/objects/mentor/object.json index bbc39955707..2a71f280d7a 100644 --- a/src/objects/mentor/object.json +++ b/src/objects/mentor/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Mentor", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.197909787831412, "description": "Dark Jupiter Trojan asteroid, discovered in April 1984.", "systemName": "Solar System", diff --git a/src/objects/methone/object.json b/src/objects/methone/object.json index 9aaea557157..b833ed3e840 100644 --- a/src/objects/methone/object.json +++ b/src/objects/methone/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Methone", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Egg-shaped moon of Saturn with an unusually smooth surface.", "systemName": "Solar System", diff --git a/src/objects/metis-9/object.json b/src/objects/metis-9/object.json index 9cb02050f38..5c174dd00e0 100644 --- a/src/objects/metis-9/object.json +++ b/src/objects/metis-9/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "9 Metis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3865357120605415, "description": "Stony main-belt asteroid, discovered in April 1848.", "systemName": "Solar System", diff --git a/src/objects/minerva/object.json b/src/objects/minerva/object.json index 2170793babb..08dd1a45723 100644 --- a/src/objects/minerva/object.json +++ b/src/objects/minerva/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Minerva", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.753464096843689, "description": "Dark, carbon-rich main-belt asteroid with 2 known moons, discovered in August 1867.", "systemName": "Solar System", diff --git a/src/objects/mithra/object.json b/src/objects/mithra/object.json index a9a7f1cf96c..303f0f28d6c 100644 --- a/src/objects/mithra/object.json +++ b/src/objects/mithra/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Mithra", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.2052023543749892, "description": "Strongly two-lobed near-Earth asteroid.", "systemName": "Solar System", diff --git a/src/objects/moshup/object.json b/src/objects/moshup/object.json index 7f5856657c2..c17228446eb 100644 --- a/src/objects/moshup/object.json +++ b/src/objects/moshup/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Moshup", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 0.642389793312345, "description": "Near-Earth asteroid with a moon, Squannit, and a sharp equatorial ridge.", "systemName": "Solar System", diff --git a/src/objects/moskva/object.json b/src/objects/moskva/object.json index 3eb77259370..914945d6a29 100644 --- a/src/objects/moskva/object.json +++ b/src/objects/moskva/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Moskva", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.5406685045126993, "description": "Main-belt asteroid, discovered in April 1914.", "systemName": "Solar System", diff --git a/src/objects/mr-spock/object.json b/src/objects/mr-spock/object.json index 0b6d8609d79..096779d3af0 100644 --- a/src/objects/mr-spock/object.json +++ b/src/objects/mr-spock/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Mr. Spock", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0107561956481725, "description": "Main-belt asteroid, discovered in August 1971.", "systemName": "Solar System", diff --git a/src/objects/mundilfari/object.json b/src/objects/mundilfari/object.json index f43549f3098..20042eaa33a 100644 --- a/src/objects/mundilfari/object.json +++ b/src/objects/mundilfari/object.json @@ -108,7 +108,7 @@ ], "name": "Mundilfari", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn measured in a single nine-hour Cassini sequence.", "systemName": "Solar System", diff --git a/src/objects/musa/object.json b/src/objects/musa/object.json index 036d87ac946..fc1a7e87fb1 100644 --- a/src/objects/musa/object.json +++ b/src/objects/musa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Musa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6610456785966816, "description": "Stony main-belt asteroid, discovered in June 1906.", "systemName": "Solar System", diff --git a/src/objects/naiad/object.json b/src/objects/naiad/object.json index 5a292ca07b6..8494a832070 100644 --- a/src/objects/naiad/object.json +++ b/src/objects/naiad/object.json @@ -104,7 +104,7 @@ ], "name": "Naiad", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.07, "description": "Potato-shaped moon of Neptune on a slowly decaying orbit.", "systemName": "Solar System", diff --git a/src/objects/namaka/object.json b/src/objects/namaka/object.json index 049d685ff65..bc1a274e040 100644 --- a/src/objects/namaka/object.json +++ b/src/objects/namaka/object.json @@ -108,7 +108,7 @@ ], "name": "Namaka", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 43, "description": "A moon of Haumea.", "systemName": "Solar System", diff --git a/src/objects/nausikaa/object.json b/src/objects/nausikaa/object.json index d606ae0a1f3..026c626fdaa 100644 --- a/src/objects/nausikaa/object.json +++ b/src/objects/nausikaa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Nausikaa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4032846232365372, "description": "Stony main-belt asteroid, discovered on 17 February 1879.", "systemName": "Solar System", diff --git a/src/objects/nemausa/object.json b/src/objects/nemausa/object.json index 152e71f5cd4..fdd06e65c3e 100644 --- a/src/objects/nemausa/object.json +++ b/src/objects/nemausa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Nemausa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3660524397358516, "description": "Dark, carbon-rich main-belt asteroid, discovered in January 1858.", "systemName": "Solar System", diff --git a/src/objects/nemesis/object.json b/src/objects/nemesis/object.json index ad1d9aeb8a4..bed4ba42ef8 100644 --- a/src/objects/nemesis/object.json +++ b/src/objects/nemesis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Nemesis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.750433032034634, "description": "Dark, carbon-rich main-belt asteroid, discovered on 25 November 1872.", "systemName": "Solar System", diff --git a/src/objects/nereid/object.json b/src/objects/nereid/object.json index fb5e79c0edf..04a31a80718 100644 --- a/src/objects/nereid/object.json +++ b/src/objects/nereid/object.json @@ -108,7 +108,7 @@ ], "name": "Nereid", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.07, "description": "Neptune's third-largest moon, on a stretched, far-flung orbit.", "systemName": "Solar System", diff --git a/src/objects/nereus/object.json b/src/objects/nereus/object.json index 8b0c589df40..fd932aa9cd1 100644 --- a/src/objects/nereus/object.json +++ b/src/objects/nereus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Nereus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.485139038607293, "description": "Small, elongated near-Earth asteroid.", "systemName": "Solar System", diff --git a/src/objects/neso/object.json b/src/objects/neso/object.json index 25e17ecd61a..5ff9c57245e 100644 --- a/src/objects/neso/object.json +++ b/src/objects/neso/object.json @@ -108,7 +108,7 @@ ], "name": "Neso", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.05, "description": "A distant, irregular moon of Neptune.", "systemName": "Solar System", diff --git a/src/objects/nessus/object.json b/src/objects/nessus/object.json index 363a28b7e0b..5f6188357c3 100644 --- a/src/objects/nessus/object.json +++ b/src/objects/nessus/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Nessus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 24.5, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/niobe/object.json b/src/objects/niobe/object.json index 673426076fe..d8bc25fdde9 100644 --- a/src/objects/niobe/object.json +++ b/src/objects/niobe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Niobe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.754299168249887, "description": "Main-belt asteroid, discovered in August 1861.", "systemName": "Solar System", diff --git a/src/objects/nix/object.json b/src/objects/nix/object.json index bd8ed0fb40d..cbdfefe91ba 100644 --- a/src/objects/nix/object.json +++ b/src/objects/nix/object.json @@ -110,7 +110,7 @@ "catalog": { "name": "Nix", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 39.482, "description": "Small moon of Pluto with a reddish spot seen by New Horizons.", "systemName": "Solar System", diff --git a/src/objects/nuwa/object.json b/src/objects/nuwa/object.json index 9bbfb42b4a2..2186ddc1c5c 100644 --- a/src/objects/nuwa/object.json +++ b/src/objects/nuwa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Nuwa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.9879264955692397, "description": "Dark, carbon-rich main-belt asteroid, discovered in October 1875.", "systemName": "Solar System", diff --git a/src/objects/nysa/object.json b/src/objects/nysa/object.json index 704a396d899..115d4be6855 100644 --- a/src/objects/nysa/object.json +++ b/src/objects/nysa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Nysa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.422203726127018, "description": "Main-belt asteroid, discovered in May 1857.", "systemName": "Solar System", diff --git a/src/objects/nyx/object.json b/src/objects/nyx/object.json index 6c59d81fad9..27f2cc55e43 100644 --- a/src/objects/nyx/object.json +++ b/src/objects/nyx/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Nyx", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.9280281672276844, "description": "Near-Earth asteroid found in 1980.", "systemName": "Solar System", diff --git a/src/objects/oenone/object.json b/src/objects/oenone/object.json index e2f1e225ab1..5ef65aadbcd 100644 --- a/src/objects/oenone/object.json +++ b/src/objects/oenone/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Oenone", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.76856663571234, "description": "Stony main-belt asteroid, discovered in April 1880.", "systemName": "Solar System", diff --git a/src/objects/okyrhoe/object.json b/src/objects/okyrhoe/object.json index 1af4c95c2c8..fa2750e8487 100644 --- a/src/objects/okyrhoe/object.json +++ b/src/objects/okyrhoe/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Okyrhoe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 8.35, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/ophelia/object.json b/src/objects/ophelia/object.json index 5ee49a6187d..e4292af88b2 100644 --- a/src/objects/ophelia/object.json +++ b/src/objects/ophelia/object.json @@ -108,7 +108,7 @@ ], "name": "Ophelia", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Outer shepherd of Uranus's bright epsilon ring.", "systemName": "Solar System", diff --git a/src/objects/orcus/object.json b/src/objects/orcus/object.json index 4dc2b762f6c..617f03b5748 100644 --- a/src/objects/orcus/object.json +++ b/src/objects/orcus/object.json @@ -108,7 +108,7 @@ ], "name": "Orcus", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 47.98129781525766, "description": "Plutino paired with a large moon, Vanth.", "systemName": "Solar System", diff --git a/src/objects/orus/object.json b/src/objects/orus/object.json index 2efe8419274..4a2250e765f 100644 --- a/src/objects/orus/object.json +++ b/src/objects/orus/object.json @@ -108,7 +108,7 @@ ], "name": "Orus", "classification": "asteroid", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.1231730197676795, "description": "Dark Jupiter Trojan that Lucy will visit.", "systemName": "Solar System", diff --git a/src/objects/oumuamua/object.json b/src/objects/oumuamua/object.json index a8d0b92cfd4..9aaa6c1a3c1 100644 --- a/src/objects/oumuamua/object.json +++ b/src/objects/oumuamua/object.json @@ -108,7 +108,7 @@ ], "name": "ʻOumuamua", "classification": "interstellar", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 54.22423400905037, "description": "The first interstellar object seen passing through the Solar System.", "systemName": "Solar System", diff --git a/src/objects/paaliaq/object.json b/src/objects/paaliaq/object.json index c0e394e9f33..219c3d4caa4 100644 --- a/src/objects/paaliaq/object.json +++ b/src/objects/paaliaq/object.json @@ -108,7 +108,7 @@ ], "name": "Paaliaq", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Inuit-group moon of Saturn whose brightness peaks four times per turn.", "systemName": "Solar System", diff --git a/src/objects/pales/object.json b/src/objects/pales/object.json index c4e991ae706..7665c08a90e 100644 --- a/src/objects/pales/object.json +++ b/src/objects/pales/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Pales", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.097178213859086, "description": "Dark, carbon-rich main-belt asteroid, found the same night as Doris in 1857.", "systemName": "Solar System", diff --git a/src/objects/pallas/object.json b/src/objects/pallas/object.json index bfaa80576d6..611bed4ffea 100644 --- a/src/objects/pallas/object.json +++ b/src/objects/pallas/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Pallas", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.769411416140799, "description": "Heavily cratered asteroid, one of the largest in the main belt.", "systemName": "Solar System", diff --git a/src/objects/pallene/object.json b/src/objects/pallene/object.json index 7dd90658ead..e115959ae98 100644 --- a/src/objects/pallene/object.json +++ b/src/objects/pallene/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Pallene", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Small moon of Saturn that shares its orbit with a faint dust ring.", "systemName": "Solar System", diff --git a/src/objects/palma/object.json b/src/objects/palma/object.json index 55fe9d415fb..01c900ba8a5 100644 --- a/src/objects/palma/object.json +++ b/src/objects/palma/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Palma", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.163095282258092, "description": "Dark, carbon-rich main-belt asteroid, discovered in August 1893.", "systemName": "Solar System", diff --git a/src/objects/pandora-55/object.json b/src/objects/pandora-55/object.json index be7087051a1..2aca1f238c2 100644 --- a/src/objects/pandora-55/object.json +++ b/src/objects/pandora-55/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "55 Pandora", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.75816485113467, "description": "Main-belt asteroid, discovered in September 1858.", "systemName": "Solar System", diff --git a/src/objects/panopaea/object.json b/src/objects/panopaea/object.json index 73a282f83d2..62467fab56d 100644 --- a/src/objects/panopaea/object.json +++ b/src/objects/panopaea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Panopaea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6141561893254357, "description": "Dark, carbon-rich main-belt asteroid, discovered in May 1861.", "systemName": "Solar System", diff --git a/src/objects/papagena/object.json b/src/objects/papagena/object.json index ef1d590da52..95290be83c9 100644 --- a/src/objects/papagena/object.json +++ b/src/objects/papagena/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Papagena", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.890757026115369, "description": "Main-belt asteroid found in 1901.", "systemName": "Solar System", diff --git a/src/objects/parthenope/object.json b/src/objects/parthenope/object.json index ad26a4c7d57..daa60bda852 100644 --- a/src/objects/parthenope/object.json +++ b/src/objects/parthenope/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Parthenope", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4520884704604438, "description": "Stony main-belt asteroid, discovered in May 1850.", "systemName": "Solar System", diff --git a/src/objects/parysatis/object.json b/src/objects/parysatis/object.json index 97a5e885c8c..772ce1004c8 100644 --- a/src/objects/parysatis/object.json +++ b/src/objects/parysatis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Parysatis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.707622170185717, "description": "Stony main-belt asteroid, discovered in February 1918.", "systemName": "Solar System", diff --git a/src/objects/pasiphae/object.json b/src/objects/pasiphae/object.json index 01df58e8f0b..d6db415e2b1 100644 --- a/src/objects/pasiphae/object.json +++ b/src/objects/pasiphae/object.json @@ -108,7 +108,7 @@ ], "name": "Pasiphae", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "An outer, irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/patroclus/object.json b/src/objects/patroclus/object.json index d17d2bfc68d..5260fe188f1 100644 --- a/src/objects/patroclus/object.json +++ b/src/objects/patroclus/object.json @@ -108,7 +108,7 @@ ], "name": "Patroclus", "classification": "asteroid", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.206163281913244, "description": "Binary Jupiter Trojan paired with Menoetius.", "systemName": "Solar System", diff --git a/src/objects/peitho/object.json b/src/objects/peitho/object.json index dade1b08a92..c39533d7612 100644 --- a/src/objects/peitho/object.json +++ b/src/objects/peitho/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Peitho", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4376754729416765, "description": "Stony main-belt asteroid, discovered in March 1872.", "systemName": "Solar System", diff --git a/src/objects/pelion/object.json b/src/objects/pelion/object.json index 22e989c9a7c..3a5c0034679 100644 --- a/src/objects/pelion/object.json +++ b/src/objects/pelion/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Pelion", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 20, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/penelope/object.json b/src/objects/penelope/object.json index be386ecd179..f60e297b5af 100644 --- a/src/objects/penelope/object.json +++ b/src/objects/penelope/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Penelope", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6780911879337896, "description": "Dark main-belt asteroid, discovered on 7 August 1879.", "systemName": "Solar System", diff --git a/src/objects/penthesilea/object.json b/src/objects/penthesilea/object.json index 8315a5a7adf..faa8e93737c 100644 --- a/src/objects/penthesilea/object.json +++ b/src/objects/penthesilea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Penthesilea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0044325414876942, "description": "Very dark main-belt asteroid, discovered in October 1887.", "systemName": "Solar System", diff --git a/src/objects/petrina/object.json b/src/objects/petrina/object.json index d3d3be84755..aad568b4d75 100644 --- a/src/objects/petrina/object.json +++ b/src/objects/petrina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Petrina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0015196284082286, "description": "Stony main-belt asteroid, discovered in March 1902.", "systemName": "Solar System", diff --git a/src/objects/phaedra/object.json b/src/objects/phaedra/object.json index 547aab94fc9..dade03cf22e 100644 --- a/src/objects/phaedra/object.json +++ b/src/objects/phaedra/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Phaedra", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8588859462315144, "description": "Stony main-belt asteroid, discovered in September 1877.", "systemName": "Solar System", diff --git a/src/objects/phaethon/object.json b/src/objects/phaethon/object.json index 2fe8582a5d3..e22cc48575e 100644 --- a/src/objects/phaethon/object.json +++ b/src/objects/phaethon/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Phaethon", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.2714545674912625, "description": "Dark, carbon-rich near-Earth asteroid, discovered in October 1983.", "systemName": "Solar System", diff --git a/src/objects/philagoria/object.json b/src/objects/philagoria/object.json index 3f1ea53ba67..3e9fbf185d2 100644 --- a/src/objects/philagoria/object.json +++ b/src/objects/philagoria/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Philagoria", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0476100267473623, "description": "Main-belt asteroid, discovered in April 1888.", "systemName": "Solar System", diff --git a/src/objects/philosophia/object.json b/src/objects/philosophia/object.json index eefdba0a7bd..5c69e7b8146 100644 --- a/src/objects/philosophia/object.json +++ b/src/objects/philosophia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Philosophia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.152308355019594, "description": "Dark main-belt asteroid, discovered in August 1882.", "systemName": "Solar System", diff --git a/src/objects/phocaea/object.json b/src/objects/phocaea/object.json index 9af12ea9ed8..fabe601e07c 100644 --- a/src/objects/phocaea/object.json +++ b/src/objects/phocaea/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Phocaea", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4015197093590164, "description": "Stony main-belt asteroid, discovered in April 1853.", "systemName": "Solar System", diff --git a/src/objects/pholus/object.json b/src/objects/pholus/object.json index 0a3a6921bb5..81f777cb640 100644 --- a/src/objects/pholus/object.json +++ b/src/objects/pholus/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Pholus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 20.3, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/piazzia/object.json b/src/objects/piazzia/object.json index db6bbe2113d..1a55e5468b2 100644 --- a/src/objects/piazzia/object.json +++ b/src/objects/piazzia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Piazzia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1710520001451843, "description": "Main-belt asteroid, discovered on 12 August 1923.", "systemName": "Solar System", diff --git a/src/objects/polydeuces/object.json b/src/objects/polydeuces/object.json index 9290e08c1bf..7b8e6b86561 100644 --- a/src/objects/polydeuces/object.json +++ b/src/objects/polydeuces/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Polydeuces", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Tiny moon trailing Dione that wanders farther from its balance point than any known Trojan moon.", "systemName": "Solar System", diff --git a/src/objects/polyhymnia/object.json b/src/objects/polyhymnia/object.json index d3e3610e258..0b0dd7b725d 100644 --- a/src/objects/polyhymnia/object.json +++ b/src/objects/polyhymnia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Polyhymnia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8701879510937207, "description": "Stony main-belt asteroid, discovered on 28 October 1854.", "systemName": "Solar System", diff --git a/src/objects/polymele/object.json b/src/objects/polymele/object.json index 71b1ba442eb..0c58e90ebc5 100644 --- a/src/objects/polymele/object.json +++ b/src/objects/polymele/object.json @@ -108,7 +108,7 @@ ], "name": "Polymele", "classification": "asteroid", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.191974805775306, "description": "Very flattened Jupiter Trojan with a small moon.", "systemName": "Solar System", diff --git a/src/objects/pomona/object.json b/src/objects/pomona/object.json index 078fb80b671..615d040928a 100644 --- a/src/objects/pomona/object.json +++ b/src/objects/pomona/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Pomona", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.588787675965266, "description": "Stony main-belt asteroid, discovered on 26 October 1854.", "systemName": "Solar System", diff --git a/src/objects/portia/object.json b/src/objects/portia/object.json index 18459aa8fc0..aa16a0e76e8 100644 --- a/src/objects/portia/object.json +++ b/src/objects/portia/object.json @@ -108,7 +108,7 @@ ], "name": "Portia", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "One of the largest of Uranus's small inner moons, circling in about 12 hours.", "systemName": "Solar System", diff --git a/src/objects/praxidike/object.json b/src/objects/praxidike/object.json index 0e55668ac5d..03fee00a661 100644 --- a/src/objects/praxidike/object.json +++ b/src/objects/praxidike/object.json @@ -108,7 +108,7 @@ ], "name": "Praxidike", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/proserpina/object.json b/src/objects/proserpina/object.json index 2092916d4c5..fa0676a5942 100644 --- a/src/objects/proserpina/object.json +++ b/src/objects/proserpina/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Proserpina", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6551885129968467, "description": "Stony main-belt asteroid, discovered in May 1853.", "systemName": "Solar System", diff --git a/src/objects/prospero/object.json b/src/objects/prospero/object.json index 49fe0f12cda..6342905aeae 100644 --- a/src/objects/prospero/object.json +++ b/src/objects/prospero/object.json @@ -108,7 +108,7 @@ ], "name": "Prospero", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Outer moon of Uranus on a backward orbit, found in 1999.", "systemName": "Solar System", diff --git a/src/objects/protogeneia/object.json b/src/objects/protogeneia/object.json index eee79ff6b82..b1c32f787cb 100644 --- a/src/objects/protogeneia/object.json +++ b/src/objects/protogeneia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Protogeneia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.13636157165271, "description": "Dark, carbon-rich main-belt asteroid, discovered in July 1875.", "systemName": "Solar System", diff --git a/src/objects/psamathe/object.json b/src/objects/psamathe/object.json index 848e303bae2..b3b8846102d 100644 --- a/src/objects/psamathe/object.json +++ b/src/objects/psamathe/object.json @@ -108,7 +108,7 @@ ], "name": "Psamathe", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.05, "description": "A distant, irregular moon of Neptune.", "systemName": "Solar System", diff --git a/src/objects/psyche/object.json b/src/objects/psyche/object.json index 5165ef18e4f..1f9c18bc4b0 100644 --- a/src/objects/psyche/object.json +++ b/src/objects/psyche/object.json @@ -118,7 +118,7 @@ "catalog": { "name": "Psyche", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.9261360015644122, "description": "Metal-rich asteroid and target of NASA's Psyche mission.", "systemName": "Solar System", diff --git a/src/objects/puck/object.json b/src/objects/puck/object.json index eaaa1754424..35bb2026c8e 100644 --- a/src/objects/puck/object.json +++ b/src/objects/puck/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Puck", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "The largest of Uranus's small inner moons.", "systemName": "Solar System", diff --git a/src/objects/pyrrhus/object.json b/src/objects/pyrrhus/object.json index 265c49ac57c..295437ff4a4 100644 --- a/src/objects/pyrrhus/object.json +++ b/src/objects/pyrrhus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Pyrrhus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 5.198966960927357, "description": "Jupiter Trojan asteroid, discovered in January 1989.", "systemName": "Solar System", diff --git a/src/objects/quaoar/object.json b/src/objects/quaoar/object.json index 3ff881bf458..644784b1fe4 100644 --- a/src/objects/quaoar/object.json +++ b/src/objects/quaoar/object.json @@ -111,7 +111,7 @@ ], "name": "Quaoar", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 43.16573948799057, "description": "Kuiper Belt object with two narrow rings.", "systemName": "Solar System", diff --git a/src/objects/ra-shalom/object.json b/src/objects/ra-shalom/object.json index 4c323256da1..8495690fa7c 100644 --- a/src/objects/ra-shalom/object.json +++ b/src/objects/ra-shalom/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Ra-Shalom", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 0.8320332524916527, "description": "Near-Earth asteroid whose orbit lies mostly inside Earth's.", "systemName": "Solar System", diff --git a/src/objects/raup/object.json b/src/objects/raup/object.json index f801dde1d88..3c237728b5a 100644 --- a/src/objects/raup/object.json +++ b/src/objects/raup/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Raup", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.9862246368080674, "description": "Asteroid in the inner main belt, discovered in September 1987.", "systemName": "Solar System", diff --git a/src/objects/reinmuthia/object.json b/src/objects/reinmuthia/object.json index 9483e89514d..0afb5ec904e 100644 --- a/src/objects/reinmuthia/object.json +++ b/src/objects/reinmuthia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Reinmuthia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.991273442215631, "description": "Dark, carbon-rich main-belt asteroid, discovered in February 1927.", "systemName": "Solar System", diff --git a/src/objects/rhodope/object.json b/src/objects/rhodope/object.json index 11675d6de08..c9a1f4c2970 100644 --- a/src/objects/rhodope/object.json +++ b/src/objects/rhodope/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Rhodope", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6866911021546116, "description": "Dark main-belt asteroid, discovered on 15 August 1876 at Clinton.", "systemName": "Solar System", diff --git a/src/objects/ritona/object.json b/src/objects/ritona/object.json index f57e2866a8f..5beec599c18 100644 --- a/src/objects/ritona/object.json +++ b/src/objects/ritona/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Ritona", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 41.5, "description": "A large icy body in the Kuiper belt.", "systemName": "Solar System", diff --git a/src/objects/romulus/object.json b/src/objects/romulus/object.json index 0e0eac96ce4..63a22634451 100644 --- a/src/objects/romulus/object.json +++ b/src/objects/romulus/object.json @@ -108,7 +108,7 @@ ], "name": "Romulus", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 3.491, "description": "Outer of the two small moons of the asteroid Sylvia.", "systemName": "Solar System", diff --git a/src/objects/rosalind/object.json b/src/objects/rosalind/object.json index d919e193858..61f5111067c 100644 --- a/src/objects/rosalind/object.json +++ b/src/objects/rosalind/object.json @@ -108,7 +108,7 @@ ], "name": "Rosalind", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Inner moon of Uranus, named for a character in As You Like It.", "systemName": "Solar System", diff --git a/src/objects/rosalinde/object.json b/src/objects/rosalinde/object.json index 9cf4b4ecde2..160849bd153 100644 --- a/src/objects/rosalinde/object.json +++ b/src/objects/rosalinde/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Rosalinde", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.4725643786568288, "description": "Main-belt asteroid, discovered in August 1918.", "systemName": "Solar System", diff --git a/src/objects/rusthawelia/object.json b/src/objects/rusthawelia/object.json index 8814a709804..04736c8a8e3 100644 --- a/src/objects/rusthawelia/object.json +++ b/src/objects/rusthawelia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Rusthawelia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.173103931458051, "description": "Very dark main-belt asteroid, discovered in October 1930.", "systemName": "Solar System", diff --git a/src/objects/salacia/object.json b/src/objects/salacia/object.json index 531c8503585..fe0a57f55a8 100644 --- a/src/objects/salacia/object.json +++ b/src/objects/salacia/object.json @@ -108,7 +108,7 @@ ], "name": "Salacia", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 45.37159590675732, "description": "Large, dark Kuiper Belt object with a moon, Actaea.", "systemName": "Solar System", diff --git a/src/objects/sao/object.json b/src/objects/sao/object.json index 9e6e4d10d84..5dd8e4b004c 100644 --- a/src/objects/sao/object.json +++ b/src/objects/sao/object.json @@ -108,7 +108,7 @@ ], "name": "Sao", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.05, "description": "A distant, irregular moon of Neptune.", "systemName": "Solar System", diff --git a/src/objects/sapientia/object.json b/src/objects/sapientia/object.json index 71a2543b981..e789b5a7b8e 100644 --- a/src/objects/sapientia/object.json +++ b/src/objects/sapientia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Sapientia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.771802925757048, "description": "Dark, carbon-rich main-belt asteroid, discovered on 15 April 1888 at Vienna.", "systemName": "Solar System", diff --git a/src/objects/sappho/object.json b/src/objects/sappho/object.json index c50e72ca171..a6bdc5656ac 100644 --- a/src/objects/sappho/object.json +++ b/src/objects/sappho/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Sappho", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.2965637786549675, "description": "Stony main-belt asteroid, discovered in May 1864.", "systemName": "Solar System", diff --git a/src/objects/saturn-minor-moons/README.md b/src/objects/saturn-minor-moons/README.md index 3fb37adcb6c..c708e2e9721 100644 --- a/src/objects/saturn-minor-moons/README.md +++ b/src/objects/saturn-minor-moons/README.md @@ -27,6 +27,6 @@ A headless capture of this version's Saturn system overview. The bank reported 9 ## Known problems - S/2009 S1 and S/2009 S2 have no Horizons ephemeris and are not drawn. -- No colour is measured for these moons. Every dot is `#a0a0a0`, the neutral grey the 93 paged moons without a measured colour already use; no group or family colouring is applied. +- No colour is measured for these moons. Every dot is `#9a9a9a`, the one neutral grey the app gives a body without a measured colour (`NEUTRAL_CATALOGUE_COLOUR`); no group or family colouring is applied. - The 2 px dot size is a display choice, picked so the moons stand out from background stars. The moons are a few kilometres across and would be invisible at scale. - The positions hold for the world's one epoch; the dots do not move. diff --git a/src/objects/saturn-minor-moons/inventory.json b/src/objects/saturn-minor-moons/inventory.json index a552832f219..a41edec597d 100644 --- a/src/objects/saturn-minor-moons/inventory.json +++ b/src/objects/saturn-minor-moons/inventory.json @@ -4,8 +4,8 @@ { "location": "prepared", "filename": "dots.bin", - "bytes": 4048, - "sha256": "ca2db8a1697cbda168e65865d8c4d0e00834fe7138dc7f358918aa99dd1f3bcd" + "bytes": 4049, + "sha256": "fbd767f13f0faef8abf1ca06577af91bb2c47d26b0e70144eb8e4d1e2f4bc6a4" } ] } diff --git a/src/objects/saturn-minor-moons/source/dots/points.json b/src/objects/saturn-minor-moons/source/dots/points.json index 7617bdacb28..bb70f64e163 100644 --- a/src/objects/saturn-minor-moons/source/dots/points.json +++ b/src/objects/saturn-minor-moons/source/dots/points.json @@ -16,7 +16,7 @@ "epochJdTt": 2461286.5 }, "appearance": { - "colorCss": "#a0a0a0", + "colorCss": "#9a9a9a", "radiusPx": 1, "opacity": 1 } diff --git a/src/objects/schaber/object.json b/src/objects/schaber/object.json index 34ccf1d7161..35207a75f5f 100644 --- a/src/objects/schaber/object.json +++ b/src/objects/schaber/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Schaber", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1389418599378245, "description": "Dark main-belt asteroid, discovered in October 1980.", "systemName": "Solar System", diff --git a/src/objects/schorria/object.json b/src/objects/schorria/object.json index a99d3c8ad1e..f7c0a366886 100644 --- a/src/objects/schorria/object.json +++ b/src/objects/schorria/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Schorria", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.9102898161034227, "description": "Dark, carbon-rich Mars-crossing asteroid, discovered in October 1931.", "systemName": "Solar System", diff --git a/src/objects/scylla/object.json b/src/objects/scylla/object.json index e9d005bb7be..758ff007859 100644 --- a/src/objects/scylla/object.json +++ b/src/objects/scylla/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Scylla", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7604931019999346, "description": "Dark main-belt asteroid, discovered on 8 November 1875.", "systemName": "Solar System", diff --git a/src/objects/sedna/object.json b/src/objects/sedna/object.json index 8bb4b71a4a7..cf726ba1ca6 100644 --- a/src/objects/sedna/object.json +++ b/src/objects/sedna/object.json @@ -108,7 +108,7 @@ ], "name": "Sedna", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 82.85697523892613, "description": "Distant object on one of the most stretched orbits known.", "systemName": "Solar System", diff --git a/src/objects/selam/object.json b/src/objects/selam/object.json index 3be6c81d6d1..1ae8fd8f230 100644 --- a/src/objects/selam/object.json +++ b/src/objects/selam/object.json @@ -109,7 +109,7 @@ "name": "Selam", "systemName": "Solar System", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 2.073581431805674, "description": "The first contact-binary moon found, orbiting the asteroid Dinkinesh.", "context": {} diff --git a/src/objects/selinur/object.json b/src/objects/selinur/object.json index 9c3eaf59674..cdc52d7a5fe 100644 --- a/src/objects/selinur/object.json +++ b/src/objects/selinur/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Selinur", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.6116658234603194, "description": "Main-belt asteroid, discovered in January 1903.", "systemName": "Solar System", diff --git a/src/objects/semele/object.json b/src/objects/semele/object.json index bf289d513d1..d471dc6d11b 100644 --- a/src/objects/semele/object.json +++ b/src/objects/semele/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Semele", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.102547858991143, "description": "Dark, carbon-rich main-belt asteroid, discovered in January 1866.", "systemName": "Solar System", diff --git a/src/objects/setebos/object.json b/src/objects/setebos/object.json index a94e6cd85f8..d6abfa5ef63 100644 --- a/src/objects/setebos/object.json +++ b/src/objects/setebos/object.json @@ -108,7 +108,7 @@ ], "name": "Setebos", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Backward-orbiting outer moon of Uranus about 47 km across.", "systemName": "Solar System", diff --git a/src/objects/siarnaq/object.json b/src/objects/siarnaq/object.json index 7839a969e2c..0d1c5e47d39 100644 --- a/src/objects/siarnaq/object.json +++ b/src/objects/siarnaq/object.json @@ -108,7 +108,7 @@ ], "name": "Siarnaq", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Largest of Saturn's Inuit-group moons, about 39 km across.", "systemName": "Solar System", diff --git a/src/objects/sibylla/object.json b/src/objects/sibylla/object.json index 2e4b80fb00d..2677c04eec3 100644 --- a/src/objects/sibylla/object.json +++ b/src/objects/sibylla/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Sibylla", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.3713315960899832, "description": "Dark, carbon-rich asteroid in the outer main belt, discovered in September 1876.", "systemName": "Solar System", diff --git a/src/objects/siegena/object.json b/src/objects/siegena/object.json index 7b8dcf91533..4a0a63111c6 100644 --- a/src/objects/siegena/object.json +++ b/src/objects/siegena/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Siegena", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.8996042288538577, "description": "Main-belt asteroid found at Heidelberg in 1894.", "systemName": "Solar System", diff --git a/src/objects/silesia/object.json b/src/objects/silesia/object.json index 4592d51a4ce..ebdc6d49a7a 100644 --- a/src/objects/silesia/object.json +++ b/src/objects/silesia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Silesia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1183254802109865, "description": "Dark, carbon-rich main-belt asteroid, discovered in April 1886.", "systemName": "Solar System", diff --git a/src/objects/silvretta/object.json b/src/objects/silvretta/object.json index 99a611a9617..9739c5ad853 100644 --- a/src/objects/silvretta/object.json +++ b/src/objects/silvretta/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Silvretta", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.204231585995867, "description": "Dark, carbon-rich asteroid in the outer main belt, discovered in September 1935.", "systemName": "Solar System", diff --git a/src/objects/sinope/object.json b/src/objects/sinope/object.json index ddb563bc5d9..c5f574e3c8c 100644 --- a/src/objects/sinope/object.json +++ b/src/objects/sinope/object.json @@ -108,7 +108,7 @@ ], "name": "Sinope", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "An outer, irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/siwa/object.json b/src/objects/siwa/object.json index 994c37eac46..9847f59e585 100644 --- a/src/objects/siwa/object.json +++ b/src/objects/siwa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Siwa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.72994935329283, "description": "Dark main-belt asteroid, discovered on 13 October 1874 at Pola.", "systemName": "Solar System", diff --git a/src/objects/skathi/object.json b/src/objects/skathi/object.json index b00128202ab..ef63bb391f3 100644 --- a/src/objects/skathi/object.json +++ b/src/objects/skathi/object.json @@ -108,7 +108,7 @@ ], "name": "Skathi", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn on a tilted, backward orbit.", "systemName": "Solar System", diff --git a/src/objects/skoll/object.json b/src/objects/skoll/object.json index b4368b6d366..1ac2454ccda 100644 --- a/src/objects/skoll/object.json +++ b/src/objects/skoll/object.json @@ -108,7 +108,7 @@ ], "name": "Skoll", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn whose Cassini light curves disagree.", "systemName": "Solar System", diff --git a/src/objects/sn263-beta/object.json b/src/objects/sn263-beta/object.json index 296b1b041c0..a848f4c4a8e 100644 --- a/src/objects/sn263-beta/object.json +++ b/src/objects/sn263-beta/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "2001 SN263 Beta", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 1.9869, "description": "The larger, outer moon of the triple asteroid 2001 SN263.", "systemName": "Solar System", diff --git a/src/objects/sn263-gamma/object.json b/src/objects/sn263-gamma/object.json index cd1a8db2ab7..3e240faa973 100644 --- a/src/objects/sn263-gamma/object.json +++ b/src/objects/sn263-gamma/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "2001 SN263 Gamma", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 1.9869, "description": "The smaller, inner moon of the triple asteroid 2001 SN263.", "systemName": "Solar System", diff --git a/src/objects/sophrosyne/object.json b/src/objects/sophrosyne/object.json index f7dc05baae2..8c00d85c468 100644 --- a/src/objects/sophrosyne/object.json +++ b/src/objects/sophrosyne/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Sophrosyne", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.564014163529194, "description": "Dark, carbon-rich main-belt asteroid, discovered in September 1873.", "systemName": "Solar System", diff --git a/src/objects/squannit/object.json b/src/objects/squannit/object.json index d19280b7643..09b1b8dc185 100644 --- a/src/objects/squannit/object.json +++ b/src/objects/squannit/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Squannit", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 0.642, "description": "The small moon of the near-Earth asteroid Moshup.", "systemName": "Solar System", diff --git a/src/objects/steins/object.json b/src/objects/steins/object.json index 990ce06ca61..1acbe34be34 100644 --- a/src/objects/steins/object.json +++ b/src/objects/steins/object.json @@ -126,7 +126,7 @@ "catalog": { "name": "Steins", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.363, "description": "Diamond-shaped asteroid that Rosetta flew past.", "systemName": "Solar System", diff --git a/src/objects/stephania/object.json b/src/objects/stephania/object.json index 1f99fef74d8..8add835bea1 100644 --- a/src/objects/stephania/object.json +++ b/src/objects/stephania/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Stephania", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.348271490890079, "description": "Dark main-belt asteroid, discovered in May 1881.", "systemName": "Solar System", diff --git a/src/objects/stephano/object.json b/src/objects/stephano/object.json index ee90f067aa3..2d6da5d1d7c 100644 --- a/src/objects/stephano/object.json +++ b/src/objects/stephano/object.json @@ -108,7 +108,7 @@ ], "name": "Stephano", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "A small, irregular outer moon of Uranus.", "systemName": "Solar System", diff --git a/src/objects/styx/object.json b/src/objects/styx/object.json index 0ef8f008eb4..f248394ea45 100644 --- a/src/objects/styx/object.json +++ b/src/objects/styx/object.json @@ -108,7 +108,7 @@ ], "name": "Styx", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 39.482, "description": "Highly elongated small moon of Pluto, found with Hubble in 2012.", "systemName": "Solar System", diff --git a/src/objects/sun/inventory.json b/src/objects/sun/inventory.json index 354cd4ff00d..7ec88c49811 100644 --- a/src/objects/sun/inventory.json +++ b/src/objects/sun/inventory.json @@ -4630,14 +4630,14 @@ { "location": "prepared", "filename": "world-context-summary.json", - "bytes": 913416, - "sha256": "1ecb72da8844b58438ef6a1b3de7c419ded26ba813fd12646300abc92f2f00b4" + "bytes": 913256, + "sha256": "12126a7a786679a07156f95b7d6b7af697fed1cdf4d0ff67802d9b1c34610658" }, { "location": "prepared", "filename": "world-context.json", - "bytes": 54126312, - "sha256": "6cd48d6a36c53dc2e43fe2e369a9670759b76fcfb1a7add0b239ab13f7aad3b8" + "bytes": 54125512, + "sha256": "fac730dc42e4b657a1e8ed70b55e0b3bd7e2f08cb8cbf417baa89b9b1cfc694b" }, { "location": "prepared", diff --git a/src/objects/susi/object.json b/src/objects/susi/object.json index 2c5bdb1caf1..e18e2290af1 100644 --- a/src/objects/susi/object.json +++ b/src/objects/susi/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Susi", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3684607015715247, "description": "Dark main-belt asteroid, discovered in February 1927.", "systemName": "Solar System", diff --git a/src/objects/suttungr/object.json b/src/objects/suttungr/object.json index 7783f179510..4664c22ec86 100644 --- a/src/objects/suttungr/object.json +++ b/src/objects/suttungr/object.json @@ -108,7 +108,7 @@ ], "name": "Suttungr", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn whose brightness peaks two or three times per turn.", "systemName": "Solar System", diff --git a/src/objects/sycorax/object.json b/src/objects/sycorax/object.json index 2470c857643..6415cc85f9d 100644 --- a/src/objects/sycorax/object.json +++ b/src/objects/sycorax/object.json @@ -108,7 +108,7 @@ ], "name": "Sycorax", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "Largest of Uranus's outer moons, orbiting backward.", "systemName": "Solar System", diff --git a/src/objects/sylvia/object.json b/src/objects/sylvia/object.json index 82693907217..c253107e96c 100644 --- a/src/objects/sylvia/object.json +++ b/src/objects/sylvia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Sylvia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.4930585312343174, "description": "Dark asteroid in the outer main belt with 2 known moons, discovered in May 1866.", "systemName": "Solar System", diff --git a/src/objects/tantalus/object.json b/src/objects/tantalus/object.json index ab5e9d92651..c39ae7fd2c8 100644 --- a/src/objects/tantalus/object.json +++ b/src/objects/tantalus/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Tantalus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.2900615327857758, "description": "Near-Earth asteroid that spins once every 2.4 hours.", "systemName": "Solar System", diff --git a/src/objects/tarqeq/object.json b/src/objects/tarqeq/object.json index c81c7889db9..e6bdfb0bb6a 100644 --- a/src/objects/tarqeq/object.json +++ b/src/objects/tarqeq/object.json @@ -108,7 +108,7 @@ ], "name": "Tarqeq", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Slowly spinning Inuit-group moon of Saturn.", "systemName": "Solar System", diff --git a/src/objects/tartaglia/object.json b/src/objects/tartaglia/object.json index 67554af7781..d72c17292ac 100644 --- a/src/objects/tartaglia/object.json +++ b/src/objects/tartaglia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Tartaglia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.708012033150063, "description": "Dark main-belt asteroid, discovered in July 1994.", "systemName": "Solar System", diff --git a/src/objects/tarvos/object.json b/src/objects/tarvos/object.json index 56bdf79395d..d75c494aec9 100644 --- a/src/objects/tarvos/object.json +++ b/src/objects/tarvos/object.json @@ -108,7 +108,7 @@ ], "name": "Tarvos", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Gallic-group moon of Saturn with a precisely timed spin.", "systemName": "Solar System", diff --git a/src/objects/taurinensis/object.json b/src/objects/taurinensis/object.json index cf145abcea0..c6dc349c9ff 100644 --- a/src/objects/taurinensis/object.json +++ b/src/objects/taurinensis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Taurinensis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.1894142356630333, "description": "Stony Mars-crossing asteroid, discovered in June 1903.", "systemName": "Solar System", diff --git a/src/objects/taygete/object.json b/src/objects/taygete/object.json index a424a095b46..8f89326f00e 100644 --- a/src/objects/taygete/object.json +++ b/src/objects/taygete/object.json @@ -108,7 +108,7 @@ ], "name": "Taygete", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/thalassa/object.json b/src/objects/thalassa/object.json index 9947bf1c1ac..a28c1572d61 100644 --- a/src/objects/thalassa/object.json +++ b/src/objects/thalassa/object.json @@ -104,7 +104,7 @@ ], "name": "Thalassa", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 30.07, "description": "Disk-shaped moon of Neptune, unusual among irregular moons.", "systemName": "Solar System", diff --git a/src/objects/thalia/object.json b/src/objects/thalia/object.json index b994e9946a3..cb667fdb240 100644 --- a/src/objects/thalia/object.json +++ b/src/objects/thalia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Thalia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.628581333515509, "description": "Stony main-belt asteroid, discovered in December 1852.", "systemName": "Solar System", diff --git a/src/objects/themis/object.json b/src/objects/themis/object.json index 1a546ca2f8b..d2788931b90 100644 --- a/src/objects/themis/object.json +++ b/src/objects/themis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Themis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1442518680771308, "description": "Dark, carbon-rich main-belt asteroid, discovered in April 1853.", "systemName": "Solar System", diff --git a/src/objects/themisto/object.json b/src/objects/themisto/object.json index eddd3fc55ca..2923388226a 100644 --- a/src/objects/themisto/object.json +++ b/src/objects/themisto/object.json @@ -108,7 +108,7 @@ ], "name": "Themisto", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 5.2, "description": "A small, distant irregular moon of Jupiter.", "systemName": "Solar System", diff --git a/src/objects/thereus/object.json b/src/objects/thereus/object.json index 1aab2a10779..cea5dee3aa7 100644 --- a/src/objects/thereus/object.json +++ b/src/objects/thereus/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Thereus", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 10.6, "description": "A centaur orbiting among the giant planets.", "systemName": "Solar System", diff --git a/src/objects/thetis/object.json b/src/objects/thetis/object.json index f05459c8d99..ef4bf0df618 100644 --- a/src/objects/thetis/object.json +++ b/src/objects/thetis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Thetis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.472287077212926, "description": "Stony main-belt asteroid, discovered in April 1852.", "systemName": "Solar System", diff --git a/src/objects/thisbe/object.json b/src/objects/thisbe/object.json index e817dc089bd..db4fdf0324d 100644 --- a/src/objects/thisbe/object.json +++ b/src/objects/thisbe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Thisbe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7660737949851626, "description": "Dark, carbon-rich main-belt asteroid, discovered in June 1866.", "systemName": "Solar System", diff --git a/src/objects/thrymr/object.json b/src/objects/thrymr/object.json index 077af07244f..87ed40f9742 100644 --- a/src/objects/thrymr/object.json +++ b/src/objects/thrymr/object.json @@ -108,7 +108,7 @@ ], "name": "Thrymr", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Norse-group moon of Saturn with a long, uncertain rotation period.", "systemName": "Solar System", diff --git a/src/objects/thule/object.json b/src/objects/thule/object.json index d5db33e3190..0696307e155 100644 --- a/src/objects/thule/object.json +++ b/src/objects/thule/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Thule", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 4.270063067184944, "description": "Dark asteroid in the outer main belt, discovered in October 1888.", "systemName": "Solar System", diff --git a/src/objects/thyra/object.json b/src/objects/thyra/object.json index 97947d600a5..51ccd7b8475 100644 --- a/src/objects/thyra/object.json +++ b/src/objects/thyra/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Thyra", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.379742056440902, "description": "Stony main-belt asteroid, discovered in August 1871.", "systemName": "Solar System", diff --git a/src/objects/toro/object.json b/src/objects/toro/object.json index 02bdc20b61d..feccc7ec28a 100644 --- a/src/objects/toro/object.json +++ b/src/objects/toro/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Toro", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.3678992132175503, "description": "Stony near-Earth asteroid, discovered in July 1948.", "systemName": "Solar System", diff --git a/src/objects/toutatis/object.json b/src/objects/toutatis/object.json index 16bb7697ec9..81215145c55 100644 --- a/src/objects/toutatis/object.json +++ b/src/objects/toutatis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Toutatis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.543055738919472, "description": "Elongated near-Earth asteroid that tumbles through space.", "systemName": "Solar System", diff --git a/src/objects/transvaalia/object.json b/src/objects/transvaalia/object.json index 1b1a633f549..e9e63b9ffc0 100644 --- a/src/objects/transvaalia/object.json +++ b/src/objects/transvaalia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Transvaalia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.766754099697322, "description": "Main-belt asteroid, discovered in April 1911.", "systemName": "Solar System", diff --git a/src/objects/trinculo/object.json b/src/objects/trinculo/object.json index 0fa4630aef6..82cf01b9dec 100644 --- a/src/objects/trinculo/object.json +++ b/src/objects/trinculo/object.json @@ -108,7 +108,7 @@ ], "name": "Trinculo", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 19.2, "description": "A small, irregular outer moon of Uranus.", "systemName": "Solar System", diff --git a/src/objects/tulipa/object.json b/src/objects/tulipa/object.json index 6b9462d5193..102015e02eb 100644 --- a/src/objects/tulipa/object.json +++ b/src/objects/tulipa/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Tulipa", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.0255703303423154, "description": "Main-belt asteroid, discovered in April 1926.", "systemName": "Solar System", diff --git a/src/objects/tyche/object.json b/src/objects/tyche/object.json index 59b9ca079c0..d3a621d3564 100644 --- a/src/objects/tyche/object.json +++ b/src/objects/tyche/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Tyche", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.61507505241983, "description": "Stony main-belt asteroid, discovered in May 1886.", "systemName": "Solar System", diff --git a/src/objects/una/object.json b/src/objects/una/object.json index 17b9a372a6e..146a9bd7823 100644 --- a/src/objects/una/object.json +++ b/src/objects/una/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Una", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.728272185210906, "description": "Dark, carbon-rich main-belt asteroid, discovered in February 1876.", "systemName": "Solar System", diff --git a/src/objects/uni/object.json b/src/objects/uni/object.json index 94a55ebe342..5f19a263bb2 100644 --- a/src/objects/uni/object.json +++ b/src/objects/uni/object.json @@ -105,7 +105,7 @@ "catalog": { "name": "Uni", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 42.9, "description": "A large icy body in the Kuiper belt.", "systemName": "Solar System", diff --git a/src/objects/unitas/object.json b/src/objects/unitas/object.json index 6cf7a1bd761..123bcd8db3d 100644 --- a/src/objects/unitas/object.json +++ b/src/objects/unitas/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Unitas", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.357778522320458, "description": "Stony main-belt asteroid, discovered in March 1891.", "systemName": "Solar System", diff --git a/src/objects/united-nations/object.json b/src/objects/united-nations/object.json index 527d013c037..6e253eb07c5 100644 --- a/src/objects/united-nations/object.json +++ b/src/objects/united-nations/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "United Nations", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.603483726490706, "description": "Main-belt asteroid, discovered in October 1987.", "systemName": "Solar System", diff --git a/src/objects/urania/object.json b/src/objects/urania/object.json index 7983ee13529..e6c0c4c7a51 100644 --- a/src/objects/urania/object.json +++ b/src/objects/urania/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Urania", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.365562509475688, "description": "Stony main-belt asteroid, discovered in July 1854.", "systemName": "Solar System", diff --git a/src/objects/urda/object.json b/src/objects/urda/object.json index 3fc946d8a1d..91dbb1be5ef 100644 --- a/src/objects/urda/object.json +++ b/src/objects/urda/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Urda", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.853052645325009, "description": "Stony main-belt asteroid, discovered in August 1876.", "systemName": "Solar System", diff --git a/src/objects/vanadis/object.json b/src/objects/vanadis/object.json index 33f5af5eb5d..50cf387e66a 100644 --- a/src/objects/vanadis/object.json +++ b/src/objects/vanadis/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Vanadis", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.662913987797179, "description": "Dark, carbon-rich main-belt asteroid, discovered in August 1884.", "systemName": "Solar System", diff --git a/src/objects/vanth/object.json b/src/objects/vanth/object.json index 116903e5975..b36b2417a9e 100644 --- a/src/objects/vanth/object.json +++ b/src/objects/vanth/object.json @@ -108,7 +108,7 @@ ], "name": "Vanth", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 39.2, "description": "A moon of Orcus.", "systemName": "Solar System", diff --git a/src/objects/varda/object.json b/src/objects/varda/object.json index fd842b3d068..6b62e4f5196 100644 --- a/src/objects/varda/object.json +++ b/src/objects/varda/object.json @@ -108,7 +108,7 @@ ], "name": "Varda", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 45.619915704968584, "description": "Distant object with a moon, Ilmarë.", "systemName": "Solar System", diff --git a/src/objects/varuna/object.json b/src/objects/varuna/object.json index 25fb018a7ef..828ea35abfa 100644 --- a/src/objects/varuna/object.json +++ b/src/objects/varuna/object.json @@ -108,7 +108,7 @@ ], "name": "Varuna", "classification": "trans-neptunian", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 44.266134719069306, "description": "Fast-spinning object beyond Neptune.", "systemName": "Solar System", diff --git a/src/objects/velleda/object.json b/src/objects/velleda/object.json index 005286060e4..e79561934a7 100644 --- a/src/objects/velleda/object.json +++ b/src/objects/velleda/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Velleda", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.43905767386019, "description": "Stony main-belt asteroid, discovered in November 1872.", "systemName": "Solar System", diff --git a/src/objects/vera/object.json b/src/objects/vera/object.json index 02460caa4d1..c5db201054e 100644 --- a/src/objects/vera/object.json +++ b/src/objects/vera/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Vera", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.098448648035085, "description": "Stony main-belt asteroid, discovered in February 1885.", "systemName": "Solar System", diff --git a/src/objects/veritas/object.json b/src/objects/veritas/object.json index f22555e92c7..0a5cc7e50fa 100644 --- a/src/objects/veritas/object.json +++ b/src/objects/veritas/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Veritas", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 3.1755270453241122, "description": "Dark, carbon-rich main-belt asteroid, discovered in September 1902.", "systemName": "Solar System", diff --git a/src/objects/vibilia/object.json b/src/objects/vibilia/object.json index 4091d0aa298..486a416cb4a 100644 --- a/src/objects/vibilia/object.json +++ b/src/objects/vibilia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Vibilia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.654067519715369, "description": "Dark, carbon-rich main-belt asteroid, discovered on 3 June 1875.", "systemName": "Solar System", diff --git a/src/objects/victoria/object.json b/src/objects/victoria/object.json index 0efd47bdd25..276ccaae011 100644 --- a/src/objects/victoria/object.json +++ b/src/objects/victoria/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Victoria", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.3351679097411595, "description": "Stony main-belt asteroid, discovered in September 1850.", "systemName": "Solar System", diff --git a/src/objects/vindobona/object.json b/src/objects/vindobona/object.json index 27bf7f689e8..961d3a2cff8 100644 --- a/src/objects/vindobona/object.json +++ b/src/objects/vindobona/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Vindobona", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.918785954300875, "description": "Dark main-belt asteroid, discovered in September 1882.", "systemName": "Solar System", diff --git a/src/objects/virginia/object.json b/src/objects/virginia/object.json index 6fe871529ed..fe5480fd0ee 100644 --- a/src/objects/virginia/object.json +++ b/src/objects/virginia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Virginia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.651502448166739, "description": "Dark, carbon-rich main-belt asteroid, discovered in October 1857.", "systemName": "Solar System", diff --git a/src/objects/virtanen/object.json b/src/objects/virtanen/object.json index a1b0e9bfc5e..a41e984c465 100644 --- a/src/objects/virtanen/object.json +++ b/src/objects/virtanen/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Virtanen", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.221835773585211, "description": "Stony main-belt asteroid, discovered in February 1938.", "systemName": "Solar System", diff --git a/src/objects/weringia/object.json b/src/objects/weringia/object.json index b8c2e1bb03e..5edad99a07b 100644 --- a/src/objects/weringia/object.json +++ b/src/objects/weringia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Weringia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.7118191273654264, "description": "Stony main-belt asteroid, discovered in July 1882.", "systemName": "Solar System", diff --git a/src/objects/weywot/object.json b/src/objects/weywot/object.json index ca8f42e938d..48ba31ed453 100644 --- a/src/objects/weywot/object.json +++ b/src/objects/weywot/object.json @@ -108,7 +108,7 @@ ], "name": "Weywot", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 43.7, "description": "A moon of Quaoar.", "systemName": "Solar System", diff --git a/src/objects/xanthippe/object.json b/src/objects/xanthippe/object.json index 0da7239d87c..0f2e9211dab 100644 --- a/src/objects/xanthippe/object.json +++ b/src/objects/xanthippe/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Xanthippe", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.732385125710907, "description": "Dark, carbon-rich main-belt asteroid, discovered on 22 November 1875 at Pola.", "systemName": "Solar System", diff --git a/src/objects/ymir/object.json b/src/objects/ymir/object.json index 0b6aad495e9..e47ece42cf8 100644 --- a/src/objects/ymir/object.json +++ b/src/objects/ymir/object.json @@ -108,7 +108,7 @@ ], "name": "Ymir", "classification": "satellite", - "color": "#a0a0a0", + "color": "#9a9a9a", "distanceAu": 9.58, "description": "Backward-orbiting outer moon of Saturn with a triangular outline.", "systemName": "Solar System", diff --git a/src/objects/yorp/object.json b/src/objects/yorp/object.json index 33d046e5d5a..a09d44aeb4a 100644 --- a/src/objects/yorp/object.json +++ b/src/objects/yorp/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "YORP", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 1.0059143954320515, "description": "Tiny near-Earth asteroid whose spin is speeding up.", "systemName": "Solar System", diff --git a/src/objects/zachia/object.json b/src/objects/zachia/object.json index b4561d15000..7f85a9bbe3d 100644 --- a/src/objects/zachia/object.json +++ b/src/objects/zachia/object.json @@ -108,7 +108,7 @@ "catalog": { "name": "Zachia", "classification": "asteroid", - "color": "#aaaaaa", + "color": "#9a9a9a", "distanceAu": 2.61497834334827, "description": "Main-belt asteroid, discovered on 9 August 1923.", "systemName": "Solar System", From d19d617107c7cda67590f4109e45d51323e38eba Mon Sep 17 00:00:00 2001 From: alowpoly Date: Thu, 1 Oct 2026 16:58:43 -0300 Subject: [PATCH 2/4] fix: draw rings at their measured optical depth and remove Jupiter's pole graft --- .../src/objects/geometry/radial-contract.ts | 6 +- .../src/objects/layers/giant/giant-layers.ts | 4 +- .../bake/src/objects/layers/giant/index.ts | 1 - .../objects/layers/giant/observed-polar.ts | 42 +- .../layers/giant/polar-continuation.ts | 516 ------------------ .../src/objects/layers/giant/polar-dome.ts | 4 +- .../layers/giant/polar-source-contract.ts | 17 +- .../src/objects/layers/giant/rings.test.mts | 12 +- .../bake/src/objects/layers/giant/rings.ts | 13 +- .../observed-surfaces/observed-polar.test.mts | 10 - .../src/objects/layers/shape-model/raster.ts | 3 +- .../objects/layers/shape-model/shape-model.ts | 4 +- .../src/objects/layers/shape-model/source.ts | 2 +- .../objects/layers/terrestrial/rings.test.mts | 4 +- .../src/objects/layers/terrestrial/rings.ts | 13 +- .../objects/src/registry/context-colour.ts | 2 + packages/objects/src/registry/index.ts | 2 +- src/objects/chariklo/README.md | 2 +- src/objects/chariklo/inventory.json | 24 +- .../source/preparation/terrestrial.json | 10 +- .../source/rings/occultation-2022.json | 12 +- src/objects/haumea/README.md | 2 +- src/objects/haumea/inventory.json | 20 +- .../source/preparation/shape-model.json | 5 +- src/objects/jupiter/NOTICE.md | 11 - src/objects/jupiter/README.md | 39 +- .../2026-10-01/giants-before-after.webp | Bin 0 -> 59314 bytes src/objects/jupiter/inventory.json | 54 +- src/objects/jupiter/investigations.json | 20 +- .../jupiter/source/content/object.json | 2 +- src/objects/jupiter/source/manifest.json | 144 ----- .../source/preparation/acquisition.json | 36 -- .../source/preparation/navigation.json | 6 +- .../source/preparation/observations.json | 73 +-- .../jupiter/source/preparation/rings.json | 47 +- .../MWRNH3A2016240070004_R00548_V01.LBL | 57 ++ .../MWRNH3U2016240070004_R00548_V01.LBL | 57 ++ .../telescopes/juno-mwr/MWR_J_NH3A_V01.FMT | 342 ++++++++++++ .../telescopes/juno-mwr/MWR_J_NH3U_V01.FMT | 342 ++++++++++++ src/objects/jupiter/text.json | 2 +- src/objects/neptune/README.md | 6 +- src/objects/neptune/inventory.json | 30 +- src/objects/neptune/investigations.json | 2 +- .../source/preparation/navigation.json | 6 +- .../neptune/source/preparation/rings.json | 160 ++---- src/objects/quaoar/README.md | 7 +- src/objects/quaoar/inventory.json | 30 +- .../source/preparation/terrestrial.json | 10 +- src/objects/sun/inventory.json | 8 +- src/objects/uranus/README.md | 6 +- src/objects/uranus/inventory.json | 28 +- src/objects/uranus/investigations.json | 9 +- .../uranus/source/preparation/rings.json | 119 +--- 53 files changed, 1117 insertions(+), 1266 deletions(-) delete mode 100644 packages/bake/src/objects/layers/giant/polar-continuation.ts create mode 100644 src/objects/jupiter/evidence/2026-10-01/giants-before-after.webp create mode 100644 src/objects/jupiter/source/telescopes/juno-mwr/MWRNH3A2016240070004_R00548_V01.LBL create mode 100644 src/objects/jupiter/source/telescopes/juno-mwr/MWRNH3U2016240070004_R00548_V01.LBL create mode 100644 src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3A_V01.FMT create mode 100644 src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3U_V01.FMT diff --git a/packages/bake/src/objects/geometry/radial-contract.ts b/packages/bake/src/objects/geometry/radial-contract.ts index f4077367561..84b8d3f94a5 100644 --- a/packages/bake/src/objects/geometry/radial-contract.ts +++ b/packages/bake/src/objects/geometry/radial-contract.ts @@ -6,7 +6,9 @@ export type SourcePin = s.Infer; export const webpEncoding = obj({quality: opt(n), alphaQuality: opt(n), lossless: opt(s.boolean), nearLossless: opt(s.boolean), smartSubsample: opt(s.boolean), effort: opt(n), preset: opt(s.literal('default', 'picture', 'photo', 'drawing', 'icon', 'text'))}); const radiusMapping = s.union(obj({kind: s.literal('linear'), scale: n}), obj({kind: s.literal('piecewise-log'), knots: arr(vector2)})); export type RadiusMapping = s.Infer; -const bandCommon = {color: vector3, opacity: n, arcs: opt(obj({centers: arr(n), halfWidth: n}))}; +/** A ring band is drawn from its published normal optical depth alone: its opacity is 1 - exp(-opticalDepth) and its colour + * the neutral gray of a body with no measured colour (rings.ts). A recipe sets neither. */ +const bandCommon = {opticalDepth: n, arcs: opt(obj({centers: arr(n), halfWidth: n}))}; const band = s.union( obj({...bandCommon, envelope: s.literal('constant'), bounds: vector2, inclusive: opt(s.tuple(s.boolean, s.boolean))}), obj({...bandCommon, envelope: s.literal('tent'), center: n, width: n, edgeGain: n, minimumHalfWidthPixels: opt(n)}), @@ -18,7 +20,7 @@ export type RadialShadow = s.Infer; const overlay = obj({kind: s.literal('projected-strip-shadow'), bodyRadius: n, outerRadius: n, direction: vector2, color: vector3, startFraction: n, edgeFraction: n, maximumAlpha: n, centerInset: n, marginPixels: n, output: str, encoding: webpEncoding}); export type RadialOverlay = s.Infer; const common = {size: n, densities: arr(n), output: str, encoding: webpEncoding, densityMode: opt(s.literal('independent', 'downsample-highest')), overlays: opt(arr(overlay))}; -const annular = obj({...common, kind: s.literal('annular-field'), outerRadius: n, grid: obj({centerInset: n, sampleOffset: n, marginPixels: n, scaleOrder: s.literal('divide-multiply', 'multiply-hypot')}), composition: s.literal('maximum', 'front-to-back'), alphaUnits: n, maximumAlpha: n, mapping: radiusMapping, bands: arr(band), defaultColor: opt(vector3), shadow: opt(shadow), wedges: opt(obj({count: n}))}); +const annular = obj({...common, kind: s.literal('annular-field'), outerRadius: n, grid: obj({centerInset: n, sampleOffset: n, marginPixels: n, scaleOrder: s.literal('divide-multiply', 'multiply-hypot')}), composition: s.literal('maximum', 'front-to-back'), alphaUnits: n, maximumAlpha: n, mapping: radiusMapping, bands: arr(band), shadow: opt(shadow), wedges: opt(obj({count: n}))}); export type AnnularLayer = s.Infer; const operationCommon = {bounds: vector2, inclusive: opt(s.tuple(s.boolean, s.boolean))}; const operation = s.union( diff --git a/packages/bake/src/objects/layers/giant/giant-layers.ts b/packages/bake/src/objects/layers/giant/giant-layers.ts index 0d295578cb1..a076ce734af 100644 --- a/packages/bake/src/objects/layers/giant/giant-layers.ts +++ b/packages/bake/src/objects/layers/giant/giant-layers.ts @@ -62,8 +62,8 @@ export function parseRadialLayerRecipe(input: unknown) { (index > 0 && (knot[0] <= mapping.knots[index - 1][0] || knot[1] <= mapping.knots[index - 1][1])))) fail('invalid radius mapping.'); if (!isArray(layer.bands) || layer.bands.length === 0) fail('empty annular field.'); for (const band of layer.bands) { - if (!['constant', 'tent', 'smooth-annulus'].includes(band.envelope) || !color(band.color) || - !Number.isFinite(band.opacity) || band.opacity < 0) fail('invalid band.'); + if (!['constant', 'tent', 'smooth-annulus'].includes(band.envelope) || !positive(band.opticalDepth)) fail('invalid band.'); + if ('color' in band || 'opacity' in band) fail('a band states its optical depth; its opacity and colour are not authored.'); if (band.envelope === 'tent' ? !positive(band.center) || !positive(band.width) || !positive(band.edgeGain) : !pair(band.bounds)) fail('invalid radial bounds.'); if (band.envelope === 'smooth-annulus' && (!isArray(band.fade) || band.fade.length !== 2 || !band.fade.every(positive) || band.bounds[0] <= band.fade[0])) fail('invalid annular fade.'); if (band.arcs && (!isArray(band.arcs.centers) || band.arcs.centers.length === 0 || !band.arcs.centers.every(Number.isFinite) || !positive(band.arcs.halfWidth))) fail('invalid arcs.'); diff --git a/packages/bake/src/objects/layers/giant/index.ts b/packages/bake/src/objects/layers/giant/index.ts index 561f00c8cfd..7afdb7a0672 100644 --- a/packages/bake/src/objects/layers/giant/index.ts +++ b/packages/bake/src/objects/layers/giant/index.ts @@ -14,7 +14,6 @@ export * from './object.ts'; export * from './observed-polar.ts'; export * from './photometric-contract.ts'; export * from './photometric-disc.ts'; -export * from './polar-continuation.ts'; export * from './polar-dome.ts'; export * from './polar-source-contract.ts'; export * from './presentation-contract.ts'; diff --git a/packages/bake/src/objects/layers/giant/observed-polar.ts b/packages/bake/src/objects/layers/giant/observed-polar.ts index 7b91e7a8008..3295c2e3d09 100644 --- a/packages/bake/src/objects/layers/giant/observed-polar.ts +++ b/packages/bake/src/objects/layers/giant/observed-polar.ts @@ -1,6 +1,5 @@ import type {Channels} from 'sharp'; -import type { ObservedRgb, PolarDetails } from './polar-continuation.ts'; -import type { DetailImage } from './polar-source-contract.ts'; +import type { ObservedRgb } from './polar-dome.ts'; import { parseObservedPolarSource } from './polar-source-contract.ts'; import {mkdir,readFile,writeFile} from 'node:fs/promises'; import {resolve} from 'node:path'; @@ -10,7 +9,6 @@ import {planetographicRowsToMeshLatitude} from '../../geometry/index.ts'; import { readFitsPrimary } from '@cssearth/fits'; import {verifyObservationSources} from '../observed-surfaces/index.ts'; import { latitudeRasterBands } from './geometry.ts'; -import { preparePolarContinuationAtlas, preparePolarSurfaceTransition } from './polar-continuation.ts'; import { compositePolarOverlay, layoutPolarAtlasForCaps, writeDomeRings, type DomeRingWarp, type PoleProjection } from './polar-dome.ts'; import { validateRelativePath } from './relative-path.ts'; import {measureScalarCoverage,finitePercentiles,falseColorMap} from '../observed-surfaces/index.ts'; @@ -29,13 +27,12 @@ export function parseObservedPolarRecipe(input: unknown) { if(!/^[a-z][a-z0-9-]*$/.test(dataset.id)||ids.has(dataset.id))throw new TypeError('Invalid observed polar dataset operation.'); ids.add(dataset.id);source(dataset.source); for(const filename of Object.values(dataset.files)){validateRelativePath(filename);if(outputs.has(filename))throw new TypeError('Observed polar outputs must be unique.');outputs.add(filename);} - for(const detail of Object.values(dataset.polarDetails??{})){source(detail.structure.path);if(detail.palette)source(detail.palette.path);} - if(dataset.operation==='rgb-polar-structure'&&(!Number.isInteger(dataset.coverage.columnStride)||dataset.coverage.columnStride<1))throw new TypeError('Invalid observed RGB coverage stride.'); + if(dataset.operation==='rgb-measured-rows'&&(!Number.isInteger(dataset.coverage.columnStride)||dataset.coverage.columnStride<1))throw new TypeError('Invalid observed RGB coverage stride.'); if(dataset.operation==='rgb-observed-gaps'){ if(dataset.coverageSources.length!==3||!(dataset.planetographicAxisRatio>=1))throw new TypeError('RGB maps require three component coverage maps and an ellipsoid ratio.'); dataset.coverageSources.forEach(source); } - if(dataset.operation==='scalar-observed-gaps'&&(!Array.isArray(dataset.palette)||dataset.palette.length<2||Object.keys(dataset.polarDetails??{}).length>0||dataset.scalar.range&&!(dataset.scalar.range[1]>dataset.scalar.range[0])))throw new TypeError('Invalid measured scalar parameters.'); + if(dataset.operation==='scalar-observed-gaps'&&(!Array.isArray(dataset.palette)||dataset.palette.length<2||dataset.scalar.range&&!(dataset.scalar.range[1]>dataset.scalar.range[0])))throw new TypeError('Invalid measured scalar parameters.'); } return {...config,sourcePins:[...sourcePaths].map(path=>({path}))}; } @@ -45,7 +42,6 @@ export function parseObservedPolarRecipe(input: unknown) { export function polarImageProjection(config: unknown): PoleProjection { const recipe=parseObservedPolarRecipe(config); const projections=recipe.datasets.map(dataset=>{ - if(dataset.operation==='rgb-polar-structure')return{id:dataset.id,edgeLatitudeDegrees:dataset.continuation.measuredProjectionEdgeLatitudeDegrees??dataset.continuation.edgeLatitudeDegrees,scale:dataset.continuation.overlap??1.035}; if((dataset.projection.projection??'latitude-linear')!=='latitude-linear')throw new TypeError(`${recipe.namespace} dataset ${dataset.id}: pole tiles in the ${dataset.projection.projection} projection cannot share a dome with latitude-linear ones.`); return{id:dataset.id,edgeLatitudeDegrees:dataset.projection.boundaryLatitudeDegrees,scale:dataset.projection.overlap??1.035}; }); @@ -70,11 +66,6 @@ export async function prepareObservedPolarSurfaces({sourceDirectory,publicDirect maps=new Map(), coverage: Record>={},controls=[]; const {width,height,polarTileSize}=recipe.dimensions; - const load=async (spec: DetailImage)=>{ - let pipeline=sharp(requireSource(sources,spec.path)).removeAlpha(); - if(spec.extract)pipeline=pipeline.extract(spec.extract); - return pipeline.resize(polarTileSize*2,polarTileSize*2,spec.resize).raw().toBuffer({resolveWithObject:true}); - }; const add=async(filename: string,data: Buffer)=>{ const info=await sharp(data).metadata(); if (!info.width || !info.height) throw new Error(`Observed asset has no dimensions: ${filename}`); @@ -91,20 +82,23 @@ export async function prepareObservedPolarSurfaces({sourceDirectory,publicDirect }; for(const dataset of recipe.datasets) { let source1x: ObservedRgb,source2x: ObservedRgb; - let polar: ReturnType | ReturnType; + let polar: ReturnType; let sourceRange: [number,number] | undefined; let measured: {firstMeasuredRow: number; lastMeasuredRow: number; sourceMissingPixels?: number}; - const bytes=requireSource(sources,dataset.source),details: PolarDetails={}; - if(dataset.operation==='rgb-polar-structure') { - const original=await sharp(bytes).removeAlpha().raw().toBuffer({resolveWithObject:true}); - measured=measureRgbCoverage(original,dataset.coverage); - source2x=await sharp(original.data,{raw:original.info}).resize(width*2,height*2,{fit:'fill'}).raw().toBuffer({resolveWithObject:true}); - source1x=await sharp(original.data,{raw:original.info}).resize(width,height,{fit:'fill'}).raw().toBuffer({resolveWithObject:true}); - for(const pole of ['north','south'] as const) { const detail=dataset.polarDetails[pole]; if(detail)details[pole]={...detail,structure:await load(detail.structure),palette:await load(detail.palette)}; } - const {edgeLatitudeDegrees,...continuation}=dataset.continuation; - polar=preparePolarContinuationAtlas({source:source2x,tileSize:polarTileSize*2,firstMeasuredRow:Math.round((90-edgeLatitudeDegrees)/180*(original.info.height-1)),lastMeasuredRow:Math.round((90+edgeLatitudeDegrees)/180*(original.info.height-1)),measuredHeight:original.info.height,polarDetails:details,...continuation}); - source2x=preparePolarSurfaceTransition({source:source2x,polarDetails:details,...dataset.transition}); - source1x=preparePolarSurfaceTransition({source:source1x,polarDetails:details,...dataset.transition}); + const bytes=requireSource(sources,dataset.source); + if(dataset.operation==='rgb-measured-rows') { + // The map's own rows are all it shows: a row outside the pinned measured range is missing, and nothing is drawn into it. + const image=await sharp(bytes).removeAlpha().raw().toBuffer({resolveWithObject:true}); + measured=measureRgbCoverage(image,dataset.coverage); + const pixels=image.info.width*image.info.height,data=Buffer.alloc(pixels*4),missing=new Uint8Array(pixels).fill(1); + for(let row=measured.firstMeasuredRow;row<=measured.lastMeasuredRow;row++)for(let column=0;columnsum+n,0)}; + polar=prepareMeasuredPolarAtlas(original,polarTileSize*2,{projection:'latitude-linear',...dataset.projection}); } else if(dataset.operation==='rgb-observed-gaps') { const image=await sharp(bytes).removeAlpha().raw().toBuffer({resolveWithObject:true}); const masks=dataset.coverageSources.map(path=>{ diff --git a/packages/bake/src/objects/layers/giant/polar-continuation.ts b/packages/bake/src/objects/layers/giant/polar-continuation.ts deleted file mode 100644 index b30d7597945..00000000000 --- a/packages/bake/src/objects/layers/giant/polar-continuation.ts +++ /dev/null @@ -1,516 +0,0 @@ -export interface ObservedRgb {data: Uint8Array; info: {width: number; height: number; channels: number};} -export interface PolarDetail {structure: ObservedRgb; palette: ObservedRgb; contrast: number; tint: number; structureRadius?: number;} -export interface PolarDetails {north?: PolarDetail; south?: PolarDetail;} -export interface PolarContinuationOptions { - source: ObservedRgb; tileSize: number; firstMeasuredRow: number; lastMeasuredRow: number; measuredHeight: number; - overlap?: number; detailLookbackDegrees?: number; polarDetails?: PolarDetails; detailBlendStartRadius?: number; detailBlendEndRadius?: number; - edgeStructureWeight?: number; alphaOpaqueRadius?: number; alphaTransparentRadius?: number; measuredProjectionEdgeLatitudeDegrees?: number | null; -} -export interface PolarTransitionOptions {source: ObservedRgb; polarDetails: PolarDetails; transitionStartLatitudeDegrees?: number; transitionEndLatitudeDegrees?: number; - edgeStructureWeight?: number; innerDetailRadius?: number; outerDetailRadius?: number;} -const DEFAULT_DETAIL_BLEND_START_RADIUS = 0.08; -const DEFAULT_DETAIL_BLEND_END_RADIUS = 0.96; - -export function preparePolarContinuationAtlas({ - source, - tileSize, - firstMeasuredRow, - lastMeasuredRow, - measuredHeight, - overlap = 1.035, - detailLookbackDegrees = 0.5, - polarDetails = Object.freeze({}), - detailBlendStartRadius = DEFAULT_DETAIL_BLEND_START_RADIUS, - detailBlendEndRadius = DEFAULT_DETAIL_BLEND_END_RADIUS, - edgeStructureWeight = 0.3, - alphaOpaqueRadius = 0.43, - alphaTransparentRadius = 0.93, - measuredProjectionEdgeLatitudeDegrees = null, -}: PolarContinuationOptions) { - if (!source?.data || !source?.info || source.info.channels < 3 || - !Number.isSafeInteger(tileSize) || tileSize < 16 || - !Number.isSafeInteger(firstMeasuredRow) || - !Number.isSafeInteger(lastMeasuredRow) || - !Number.isSafeInteger(measuredHeight) || measuredHeight < 2 || - firstMeasuredRow < 0 || lastMeasuredRow >= measuredHeight || - firstMeasuredRow >= lastMeasuredRow || - !validPolarDetails(polarDetails) || - !(detailBlendStartRadius >= 0 && - detailBlendStartRadius < detailBlendEndRadius && - detailBlendEndRadius <= 1) || - !(edgeStructureWeight >= 0 && edgeStructureWeight <= 1) || - !(alphaOpaqueRadius >= 0 && - alphaOpaqueRadius < alphaTransparentRadius && - alphaTransparentRadius <= 1) || - !(measuredProjectionEdgeLatitudeDegrees === null || - Number.isFinite(measuredProjectionEdgeLatitudeDegrees) && - measuredProjectionEdgeLatitudeDegrees >= 0 && - measuredProjectionEdgeLatitudeDegrees < 90)) { - throw new TypeError("Observed polar continuation input is invalid."); - } - const width = tileSize * 2; - const height = tileSize; - const data = Buffer.alloc(width * height * 4); - const center = tileSize / 2; - const sourceHeight = source.info.height; - const scaleRow = (row: number) => row / (measuredHeight - 1) * (sourceHeight - 1); - const lookbackRows = detailLookbackDegrees / 180 * sourceHeight; - const polePlans = Object.freeze([ - Object.freeze({ - id: "south", - edgeRow: scaleRow(lastMeasuredRow), - inward: -1, - detail: polarDetails.south ?? null, - measuredLatitudeDegrees: - Math.abs(90 - lastMeasuredRow / (measuredHeight - 1) * 180), - }), - Object.freeze({ - id: "north", - edgeRow: scaleRow(firstMeasuredRow), - inward: 1, - detail: polarDetails.north ?? null, - measuredLatitudeDegrees: - 90 - firstMeasuredRow / (measuredHeight - 1) * 180, - }), - ]); - const harmonicOrder = 32; - const harmonics = polePlans.map(({ edgeRow, inward }) => - measuredLongitudeHarmonics( - source, - edgeRow, - inward, - lookbackRows, - harmonicOrder, - )); - const detailPlans = polePlans.map(({ detail }) => - detail ? prepareDetailPlan(detail) : null); - let transparentPixelCount = 0; - - for (let poleIndex = 0; poleIndex < polePlans.length; poleIndex += 1) { - const plan = polePlans[poleIndex]; - const harmonic = harmonics[poleIndex]; - const detailPlan = detailPlans[poleIndex]; - const unmeasuredCoreRadius = measuredProjectionEdgeLatitudeDegrees === null - ? null - : (90 - plan.measuredLatitudeDegrees) / - (90 - measuredProjectionEdgeLatitudeDegrees); - for (let y = 0; y < tileSize; y += 1) { - for (let x = 0; x < tileSize; x += 1) { - const dx = (x + 0.5 - center) / center; - const dy = (y + 0.5 - center) / center; - const radius = Math.hypot(dx, dy) / overlap; - const destination = (y * width + poleIndex * tileSize + x) * 4; - if (radius > 1) { - transparentPixelCount += 1; - continue; - } - const longitude = Math.atan2(dx, -dy); - let measured = measuredProjectionEdgeLatitudeDegrees === null - ? harmonicSample(harmonic, longitude + Math.PI, radius) - : projectedPolarSample({ - source, - pole: plan.id, - longitude, - radius, - unmeasuredCoreRadius: unmeasuredCoreRadius ?? (() => { throw new Error("Polar projection requires a core radius."); })(), - measuredProjectionEdgeLatitudeDegrees, - harmonic, - }); - if (detailPlan) { - const detailWeight = 1 - smootherStep( - (radius - detailBlendStartRadius) / - (detailBlendEndRadius - detailBlendStartRadius), - ); - const detailX = (dx / overlap * detailPlan.structureRadius + 1) / 2 * - (detailPlan.structure.info.width - 1); - const detailY = (dy / overlap * detailPlan.structureRadius + 1) / 2 * - (detailPlan.structure.info.height - 1); - measured = injectPolarStructure({ - base: measured, - sample: bilinearSample(detailPlan.structure, detailX, detailY), - detailPlan, - detailWeight, - edgeStructureWeight, - }); - } - const alphaWeight = 1 - smootherStep( - (radius - alphaOpaqueRadius) / - (alphaTransparentRadius - alphaOpaqueRadius), - ); - for (let channel = 0; channel < 3; channel += 1) { - data[destination + channel] = Math.round(measured[channel]); - } - data[destination + 3] = Math.round(alphaWeight * 255); - if (alphaWeight === 0) transparentPixelCount += 1; - } - } - } - - const detailedPoles = polePlans - .filter(({ detail }) => detail) - .map(({ id }) => id); - return Object.freeze({ - data, - width, - height, - model: measuredProjectionEdgeLatitudeDegrees !== null && - detailedPoles.length > 0 - ? "measured-polar-projection-with-source-structured-unmeasured-core" - : measuredProjectionEdgeLatitudeDegrees !== null - ? "measured-polar-projection-with-harmonic-unmeasured-core" - : detailedPoles.length > 0 - ? "source-structure-hubble-chroma-bounded-polar-atlas" - : "measured-edge-harmonic-bounded-polar-continuation", - detailLookbackDegrees, - harmonicOrder, - detailedPoles: Object.freeze(detailedPoles), - centerDetailWeight: detailedPoles.length > 0 ? 1 : 0, - edgeDetailWeight: detailedPoles.length > 0 ? edgeStructureWeight : 0, - detailBlendStartRadius: detailedPoles.length > 0 - ? detailBlendStartRadius - : null, - detailBlendEndRadius: detailedPoles.length > 0 - ? detailBlendEndRadius - : null, - alphaOpaqueRadius, - alphaTransparentRadius, - measuredProjectionEdgeLatitudeDegrees, - polarProjectionAngularSamples: - measuredProjectionEdgeLatitudeDegrees === null ? null : 9, - unmeasuredCoreHarmonicOrder: - measuredProjectionEdgeLatitudeDegrees === null ? null : 2, - unmeasuredCoreRadius: measuredProjectionEdgeLatitudeDegrees === null - ? null - : Object.freeze(Object.fromEntries(polePlans.map((plan) => [ - plan.id, - Number(((90 - plan.measuredLatitudeDegrees) / - (90 - measuredProjectionEdgeLatitudeDegrees)).toFixed(6)), - ]))), - transparentPixelRatio: transparentPixelCount / (width * height), - }); -} - -function projectedPolarSample({ - source, - pole, - longitude, - radius, - unmeasuredCoreRadius, - measuredProjectionEdgeLatitudeDegrees, - harmonic, -}: {source: ObservedRgb; pole: string; longitude: number; radius: number; unmeasuredCoreRadius: number; measuredProjectionEdgeLatitudeDegrees: number; harmonic: ReturnType}) { - const normalizedCoreRadius = Math.max(0.000001, unmeasuredCoreRadius); - const continued = harmonicSample( - harmonic, - longitude + Math.PI, - Math.min(1, radius / normalizedCoreRadius), - 2, - ); - const absoluteLatitude = 90 - radius * - (90 - measuredProjectionEdgeLatitudeDegrees); - const latitude = pole === "north" ? absoluteLatitude : -absoluteLatitude; - const projected = angularlySupersampledPolarSource( - source, - longitude, - latitude, - radius, - ); - const projectedWeight = smootherStep(radius / normalizedCoreRadius); - return continued.map((value, channel) => - value * (1 - projectedWeight) + projected[channel] * projectedWeight); -} - -function angularlySupersampledPolarSource(source: ObservedRgb, longitude: number, latitude: number, radius: number) { - const sampleCount = 9; - const halfWidth = Math.max(0, 1 - radius / 0.65) * 0.3; - const projected = [0, 0, 0]; - for (let sampleIndex = 0; sampleIndex < sampleCount; sampleIndex += 1) { - const sampleLongitude = longitude - halfWidth + halfWidth * 2 * - sampleIndex / (sampleCount - 1); - const sample = bilinearSample( - source, - (sampleLongitude + Math.PI) / (Math.PI * 2) * source.info.width, - (90 - latitude) / 180 * (source.info.height - 1), - ); - for (let channel = 0; channel < 3; channel += 1) { - projected[channel] += sample[channel] / sampleCount; - } - } - return projected; -} - -export function preparePolarSurfaceTransition({ - source, - polarDetails, - transitionStartLatitudeDegrees = 48, - transitionEndLatitudeDegrees = 64, - edgeStructureWeight = 0.3, - innerDetailRadius = 0.72, - outerDetailRadius = 0.9, -}: PolarTransitionOptions) { - if (!source?.data || !source?.info || source.info.channels < 3 || - !validPolarDetails(polarDetails) || - !(transitionStartLatitudeDegrees >= 0 && - transitionStartLatitudeDegrees < transitionEndLatitudeDegrees && - transitionEndLatitudeDegrees < 90) || - !(edgeStructureWeight >= 0 && edgeStructureWeight <= 1) || - !(innerDetailRadius > 0 && - innerDetailRadius < outerDetailRadius && outerDetailRadius <= 1)) { - throw new TypeError("Observed polar surface transition input is invalid."); - } - const output = Buffer.from(source.data); - const detailPlans = Object.freeze({ - north: polarDetails.north ? prepareDetailPlan(polarDetails.north) : null, - south: polarDetails.south ? prepareDetailPlan(polarDetails.south) : null, - }); - const { width, height, channels } = source.info; - for (let y = 0; y < height; y += 1) { - const latitude = 90 - (y + 0.5) / height * 180; - const absoluteLatitude = Math.abs(latitude); - if (absoluteLatitude < transitionStartLatitudeDegrees || - absoluteLatitude > transitionEndLatitudeDegrees) continue; - const detailPlan = latitude >= 0 ? detailPlans.north : detailPlans.south; - if (!detailPlan) continue; - const transition = smootherStep( - (absoluteLatitude - transitionStartLatitudeDegrees) / - (transitionEndLatitudeDegrees - transitionStartLatitudeDegrees), - ); - const detailRadius = innerDetailRadius + - (outerDetailRadius - innerDetailRadius) * transition; - for (let x = 0; x < width; x += 1) { - const longitude = (x + 0.5) / width * Math.PI * 2; - const detailX = (Math.cos(longitude) * detailRadius + 1) / 2 * - (detailPlan.structure.info.width - 1); - const detailY = (Math.sin(longitude) * detailRadius + 1) / 2 * - (detailPlan.structure.info.height - 1); - const index = (y * width + x) * channels; - const base = [output[index], output[index + 1], output[index + 2]]; - const transitioned = injectPolarStructure({ - base, - sample: bilinearSample(detailPlan.structure, detailX, detailY), - detailPlan, - structureWeight: edgeStructureWeight * transition, - tintWeight: 0, - }); - for (let channel = 0; channel < 3; channel += 1) { - output[index + channel] = Math.round(transitioned[channel]); - } - } - } - return Object.freeze({ data: output, info: source.info }); -} - -function validPolarDetails(details: PolarDetails) { - if (!details || typeof details !== "object") return false; - return [details.north, details.south].every((detail) => - !detail || ( - detail.structure?.data && detail.structure?.info?.channels >= 3 && - detail.palette?.data && detail.palette?.info?.channels >= 3 && - Number.isFinite(detail.contrast) && detail.contrast >= 0 && - detail.contrast <= 1 && - Number.isFinite(detail.tint) && detail.tint >= 0 && detail.tint <= 1 && - (!Number.isFinite(detail.structureRadius) || - (typeof detail.structureRadius === "number" && detail.structureRadius > 0 && detail.structureRadius <= 1)) - )); -} - -function prepareDetailPlan(detail: PolarDetail) { - const structureStats = imageStatistics(detail.structure, { - maximumRadius: 0.9, - minimumLuminance: 3, - }); - const paletteStats = imageStatistics(detail.palette, { - maximumRadius: 0.88, - minimumLuminance: 24, - }); - const paletteLuminance = luminance(paletteStats.mean); - return Object.freeze({ - structure: detail.structure, - structureMean: structureStats.luminanceMean, - structureDeviation: Math.max(1, structureStats.luminanceDeviation), - paletteChroma: Object.freeze(paletteStats.mean.map((value) => - value / Math.max(1, paletteLuminance))), - contrast: detail.contrast, - tint: detail.tint, - structureRadius: detail.structureRadius ?? 0.9, - }); -} - -function injectPolarStructure({ - base, - sample, - detailPlan, - detailWeight, - edgeStructureWeight, - structureWeight: explicitStructureWeight, - tintWeight: explicitTintWeight, -}: {base: readonly number[]; sample: readonly number[]; detailPlan: ReturnType; detailWeight?: number; edgeStructureWeight?: number; structureWeight?: number; tintWeight?: number}) { - if (explicitStructureWeight === undefined && (edgeStructureWeight === undefined || detailWeight === undefined) || explicitTintWeight === undefined && detailWeight === undefined) { - throw new TypeError('Polar structure injection requires explicit weights or a complete blend.'); - } - const standardizedLuminance = Math.max(-2.4, Math.min(2.4, - (luminance(sample) - detailPlan.structureMean) / - detailPlan.structureDeviation)); - const baseLuminance = Math.max(1, luminance(base)); - const structureWeight = explicitStructureWeight ?? ( - requireBlendWeight(edgeStructureWeight) + (1 - requireBlendWeight(edgeStructureWeight)) * requireBlendWeight(detailWeight) - ); - const luminanceGain = Math.exp( - standardizedLuminance * detailPlan.contrast * structureWeight, - ); - const targetLuminance = Math.max(4, Math.min(246, - baseLuminance * luminanceGain)); - const structured = base.map((value) => - value * targetLuminance / baseLuminance); - const tinted = detailPlan.paletteChroma.map((ratio) => - ratio * targetLuminance); - const tintWeight = explicitTintWeight ?? detailPlan.tint * requireBlendWeight(detailWeight); - return structured.map((value, channel) => Math.max(0, Math.min(255, - value * (1 - tintWeight) + tinted[channel] * tintWeight))); -} - -function imageStatistics(source: ObservedRgb, { maximumRadius, minimumLuminance }: {maximumRadius: number; minimumLuminance: number}) { - const centerX = (source.info.width - 1) / 2; - const centerY = (source.info.height - 1) / 2; - const radiusX = Math.max(1, centerX); - const radiusY = Math.max(1, centerY); - const stride = Math.max(1, Math.floor( - Math.min(source.info.width, source.info.height) / 256)); - const mean = [0, 0, 0]; - let luminanceSum = 0; - let luminanceSquaredSum = 0; - let count = 0; - for (let y = 0; y < source.info.height; y += stride) { - for (let x = 0; x < source.info.width; x += stride) { - const radius = Math.hypot( - (x - centerX) / radiusX, - (y - centerY) / radiusY, - ); - if (radius > maximumRadius) continue; - const sample = pixelSample(source, x, y); - const sampleLuminance = luminance(sample); - if (sampleLuminance < minimumLuminance) continue; - for (let channel = 0; channel < 3; channel += 1) { - mean[channel] += sample[channel]; - } - luminanceSum += sampleLuminance; - luminanceSquaredSum += sampleLuminance * sampleLuminance; - count += 1; - } - } - if (count === 0) throw new Error("Observed polar detail has no usable pixels."); - const luminanceMean = luminanceSum / count; - return Object.freeze({ - mean: Object.freeze(mean.map((value) => value / count)), - luminanceMean, - luminanceDeviation: Math.sqrt(Math.max(0, - luminanceSquaredSum / count - luminanceMean * luminanceMean)), - }); -} - -function luminance(sample: readonly number[]) { - return sample[0] * 0.2126 + sample[1] * 0.7152 + sample[2] * 0.0722; -} - -function pixelSample(source: ObservedRgb, x: number, y: number) { - const index = (y * source.info.width + x) * source.info.channels; - return [ - source.data[index], - source.data[index + 1], - source.data[index + 2], - ]; -} - -function smootherStep(value: number) { - const amount = Math.max(0, Math.min(1, value)); - return amount * amount * amount * (amount * (amount * 6 - 15) + 10); -} - -function measuredLongitudeHarmonics( - source: ObservedRgb, - edgeRow: number, - inward: number, - lookbackRows: number, - order: number, -) { - const values = new Float64Array(source.info.width * 3); - const sampleRows = Math.max(2, Math.ceil(lookbackRows) + 1); - for (let rowIndex = 0; rowIndex < sampleRows; rowIndex += 1) { - const row = edgeRow + inward * lookbackRows * rowIndex / - Math.max(1, sampleRows - 1); - for (let column = 0; column < source.info.width; column += 1) { - const sample = bilinearSample(source, column, row); - for (let channel = 0; channel < 3; channel += 1) { - values[column * 3 + channel] += sample[channel] / sampleRows; - } - } - } - const coefficients = [0, 1, 2].map(() => Object.freeze({ - cosine: new Float64Array(order + 1), - sine: new Float64Array(order + 1), - })); - for (let channel = 0; channel < 3; channel += 1) { - for (let column = 0; column < source.info.width; column += 1) { - coefficients[channel].cosine[0] += values[column * 3 + channel] / - source.info.width; - } - for (let harmonic = 1; harmonic <= order; harmonic += 1) { - let cosine = 0; - let sine = 0; - for (let column = 0; column < source.info.width; column += 1) { - const angle = column / source.info.width * Math.PI * 2; - const value = values[column * 3 + channel]; - cosine += value * Math.cos(harmonic * angle); - sine += value * Math.sin(harmonic * angle); - } - const normalized = Math.PI * harmonic / (order + 1); - const lanczos = Math.sin(normalized) / normalized; - coefficients[channel].cosine[harmonic] = - 2 * cosine / source.info.width * lanczos; - coefficients[channel].sine[harmonic] = - 2 * sine / source.info.width * lanczos; - } - } - return Object.freeze({ order, coefficients: Object.freeze(coefficients) }); -} - -function harmonicSample(plan: ReturnType, angle: number, radius: number, maximumOrder = plan.order) { - return [0, 1, 2].map((channel) => { - const { cosine, sine } = plan.coefficients[channel]; - let value = cosine[0]; - let radiusPower = radius; - for (let harmonic = 1; - harmonic <= Math.min(plan.order, maximumOrder); - harmonic += 1) { - value += radiusPower * ( - cosine[harmonic] * Math.cos(harmonic * angle) + - sine[harmonic] * Math.sin(harmonic * angle) - ); - radiusPower *= radius; - } - return Math.max(0, Math.min(255, value)); - }); -} - -function bilinearSample(source: ObservedRgb, sourceX: number, sourceY: number) { - const { width, height, channels } = source.info; - const floorX = Math.floor(sourceX); - const x0 = ((floorX % width) + width) % width; - const x1 = (x0 + 1) % width; - const floorY = Math.floor(sourceY); - const y0 = Math.max(0, Math.min(height - 1, floorY)); - const y1 = Math.max(0, Math.min(height - 1, floorY + 1)); - const xAmount = sourceX - floorX; - const yAmount = sourceY - floorY; - const sample = (x: number, y: number, channel: number) => - source.data[(y * width + x) * channels + channel]; - return [0, 1, 2].map((channel) => { - const top = sample(x0, y0, channel) * (1 - xAmount) + - sample(x1, y0, channel) * xAmount; - const bottom = sample(x0, y1, channel) * (1 - xAmount) + - sample(x1, y1, channel) * xAmount; - return top * (1 - yAmount) + bottom * yAmount; - }); -} - -function requireBlendWeight(value: number | undefined): number { if (value === undefined) throw new TypeError("Missing polar blend weight."); return value; } diff --git a/packages/bake/src/objects/layers/giant/polar-dome.ts b/packages/bake/src/objects/layers/giant/polar-dome.ts index 2dc65472ab8..f348757f34a 100644 --- a/packages/bake/src/objects/layers/giant/polar-dome.ts +++ b/packages/bake/src/objects/layers/giant/polar-dome.ts @@ -1,10 +1,10 @@ -import type {ObservedRgb} from './polar-continuation.ts'; +export interface ObservedRgb {data: Uint8Array; info: {width: number; height: number; channels: number};} import type {domeRingWarp} from './geometry.ts'; /** Two square pole tiles side by side, RGBA: the south tile first, then the north tile, as both atlas generators write them. */ export interface PolarAtlas {data: Uint8Array; width: number; height: number} /** A pole tile's own projection: tile coordinates d in [-1, 1]² (y down) lie at radius r = |d| / scale, latitude - * 90° − r·(90° − edge), and hold the map column (atan2(dx, −dy) + π) / 2π (polar-continuation.ts, objects/layers/observed-surfaces). */ + * 90° − r·(90° − edge), and hold the map column (atan2(dx, −dy) + π) / 2π (objects/layers/observed-surfaces). */ export interface PoleProjection {edgeLatitudeDegrees: number; scale: number} export type DomeRingWarp = ReturnType; diff --git a/packages/bake/src/objects/layers/giant/polar-source-contract.ts b/packages/bake/src/objects/layers/giant/polar-source-contract.ts index 3bc4a45ef27..8c49decfe9a 100644 --- a/packages/bake/src/objects/layers/giant/polar-source-contract.ts +++ b/packages/bake/src/objects/layers/giant/polar-source-contract.ts @@ -1,10 +1,5 @@ -import {array, boolean, dictionary, json, literal, number, object, optional, parse, string, tuple, union, type Infer} from '@cssearth/core/schema'; +import {array, boolean, dictionary, json, literal, number, object, optional, parse, string, tuple, union} from '@cssearth/core/schema'; const fit = literal('cover', 'contain', 'fill', 'inside', 'outside'); -const resize = object({fit: optional(fit), position: optional(union(string, number))}); -const detailImage = object({path: string, extract: optional(object({left: number, top: number, width: number, height: number})), resize: optional(resize)}); -export type DetailImage = Infer; -const detail = object({structure: detailImage, palette: detailImage, contrast: number, tint: number, structureRadius: optional(number)}); -const details = object({north: optional(detail), south: optional(detail)}); const files = object({surface: string, surface2x: string, poles: string, poles2x: string, thumbnail: string}); const control = object({id: string, label: string, shortLabel: string, measurement: string, thumbnailUrl: string, surfaceUrl: string, surface2xUrl: string, polesUrl: string, poles2xUrl: string, falseColor: boolean, qualification: string, @@ -14,12 +9,10 @@ const absent = (value: unknown): value is undefined => value === undefined; const dataset = union( object({id:string, operation:literal('rgb-observed-gaps'), source:string, files, control, polarDetails:absent, coverageSources:array(string), planetographicAxisRatio:number, projection}), - object({id: string, operation: literal('rgb-polar-structure'), source: string, files, control, polarDetails: details, - coverage: object({columnStride: number, minimumMean: number, firstMeasuredRow: number, lastMeasuredRow: number}), - continuation: object({edgeLatitudeDegrees: number, overlap: optional(number), detailLookbackDegrees: optional(number), detailBlendStartRadius: optional(number), - detailBlendEndRadius: optional(number), edgeStructureWeight: optional(number), alphaOpaqueRadius: optional(number), alphaTransparentRadius: optional(number), measuredProjectionEdgeLatitudeDegrees: optional(number)}), - transition: object({transitionStartLatitudeDegrees: optional(number), transitionEndLatitudeDegrees: optional(number), edgeStructureWeight: optional(number), innerDetailRadius: optional(number), outerDetailRadius: optional(number)})}), - object({id: string, operation: literal('scalar-observed-gaps'), source: string, files, control: absent, polarDetails: optional(details), + // A colour map with no per-band coverage maps: its measured rows are pinned, and every row outside them is missing. + object({id: string, operation: literal('rgb-measured-rows'), source: string, files, control, polarDetails: absent, + coverage: object({columnStride: number, minimumMean: number, firstMeasuredRow: number, lastMeasuredRow: number}), projection}), + object({id: string, operation: literal('scalar-observed-gaps'), source: string, files, control: absent, polarDetails: absent, label: string, shortLabel: string, filter: string, wavelength: string, measurement: string, qualification: string, structuralAuthority: optional(string), palette: array(tuple(number, number, number)), scalar: object({bitpix: number, width: number, height: number, percentiles: tuple(number, number), minimumCoverageFraction: number, noData: literal(0), coverage: literal('polar-connected-zero','finite'), range:optional(tuple(number,number)), gamma:optional(number), lossless:optional(boolean)}), diff --git a/packages/bake/src/objects/layers/giant/rings.test.mts b/packages/bake/src/objects/layers/giant/rings.test.mts index d5993faae83..1fd854a3b78 100644 --- a/packages/bake/src/objects/layers/giant/rings.test.mts +++ b/packages/bake/src/objects/layers/giant/rings.test.mts @@ -12,7 +12,7 @@ const recipe = () => ({schema:'cssearth-radial-layer-recipe@1',units:'kilometers kind:'annular-field',size:9,densities:[1],output:'hypothetical-ring{suffix}.webp',encoding:{lossless:true}, outerRadius:4,mapping:{kind:'linear',scale:1},grid:{centerInset:1,sampleOffset:0,marginPixels:0,scaleOrder:'divide-multiply'}, composition:'maximum',alphaUnits:255,maximumAlpha:255, - bands:[{envelope:'constant',bounds:[2,3],opacity:90,color:[10,20,30]}], + bands:[{envelope:'constant',bounds:[2,3],opticalDepth:0.5}], }]}); test('annular preparation is driven by physical band data for an unregistered body', () => { @@ -23,8 +23,9 @@ test('annular preparation is driven by physical band data for an unregistered bo const pixels = rasterAnnularField(layer,9); const pixel = (x: number,y: number) => [...pixels.subarray((y*9+x)*4,(y*9+x)*4+4)]; assert.deepEqual(pixel(4,4),[0,0,0,0]); - assert.deepEqual(pixel(6,4),[10,20,30,90]); - assert.deepEqual(pixel(7,4),[10,20,30,90]); + // Optical depth 0.5 stops 1 - exp(-0.5) of the light: alpha 100 of 255, in the neutral gray of an unmeasured colour. + assert.deepEqual(pixel(6,4),[154,154,154,100]); + assert.deepEqual(pixel(7,4),[154,154,154,100]); assert.deepEqual(pixel(8,4),[0,0,0,0]); const band = layer.bands[0]; assert.ok('bounds' in band); @@ -87,7 +88,7 @@ test('ring wedges cover every point of their sectors from where the ring begins, assert.throws(() => ringWedgeLayout({ size: 1200, count: 2, contentPixels: 200 }), /three wedges/); }); -test('ring wedges draw exactly the square ring image inside each wedge, arcs included', async () => { +test('ring wedges draw exactly the square ring image inside each wedge', async () => { const { rasterAnnularField, rasterAnnularWedges, annularContentPixels } = await import('@cssearth/bake/objects/layers/giant'); const { ringWedgeLayout, wedgePoint, wedgeShare } = await import('@cssearth/bake/scene'); for (const body of ['uranus', 'neptune']) { @@ -106,6 +107,7 @@ test('ring wedges draw exactly the square ring image inside each wedge, arcs inc assert.deepEqual([...atlas.subarray(a, a + 4)], [...square.subarray(s, s + 4)], `${body} wedge ${k} texel ${i}, ${j}`); compared++; if (square[s + 3]) drawn++; } - assert.ok(compared > 20000 && drawn > 500, `${body}: compared ${compared}, ${drawn} drawn`); + // Neptune's two drawn rings are a pixel wide at their true opacity, so few of the compared texels are drawn. + assert.ok(compared > 20000 && drawn > 100, `${body}: compared ${compared}, ${drawn} drawn`); } }); diff --git a/packages/bake/src/objects/layers/giant/rings.ts b/packages/bake/src/objects/layers/giant/rings.ts index 3576d81e435..6d3e11c680c 100644 --- a/packages/bake/src/objects/layers/giant/rings.ts +++ b/packages/bake/src/objects/layers/giant/rings.ts @@ -1,4 +1,5 @@ import { applyLinearTint } from '../../color/index.ts'; +import { NEUTRAL_CATALOGUE_RGB } from '@cssearth/objects'; import sharp from 'sharp'; import type {RadiusMapping, RadialBand, RadialShadow, RadialOverlay, AnnularLayer, ObservedRadialLayer, RadialProfile} from '../../geometry/index.ts'; import { type RingWedgeLayout, wedgePoint, wedgeShare } from '../../../scene/index.ts'; @@ -76,6 +77,11 @@ function bandCoverage(radius: number, angle: number, band: ReturnType 1 - Math.exp(-opticalDepth); + function annularSetup(recipe: AnnularLayer, size: number) { const { grid, mapping } = recipe; const center = (size - grid.centerInset) / 2; @@ -95,19 +101,18 @@ function annularTexel(recipe: AnnularLayer, setup: ReturnType{ - const source={data:Buffer.alloc(64*32*3,80),info:{width:64,height:32,channels:3}}; - const polar=preparePolarContinuationAtlas({source,tileSize:16,firstMeasuredRow:4,lastMeasuredRow:27,measuredHeight:32}); - assert.equal(polar.width,32);assert.equal(polar.height,16);assert.ok(polar.transparentPixelRatio>0); - assert.ok(polar.data.some((value,index)=>index%4===3&&value===0));assert.ok(polar.data.some((value,index)=>index%4===3&&value===255)); - assert.deepEqual(preparePolarSurfaceTransition({source,polarDetails:{}}).data,source.data); - assert.throws(()=>preparePolarContinuationAtlas({source,tileSize:8,firstMeasuredRow:4,lastMeasuredRow:27,measuredHeight:32}),/invalid/); -}); diff --git a/packages/bake/src/objects/layers/shape-model/raster.ts b/packages/bake/src/objects/layers/shape-model/raster.ts index a09af1f7053..97254dcfb79 100644 --- a/packages/bake/src/objects/layers/shape-model/raster.ts +++ b/packages/bake/src/objects/layers/shape-model/raster.ts @@ -1,3 +1,4 @@ +import { NEUTRAL_CATALOGUE_RGB } from '@cssearth/objects'; import type { ShapeModelConfig } from './source.ts'; import sharp from 'sharp'; import { lambertAttenuationAtlas } from '../../geometry/index.ts'; @@ -69,7 +70,7 @@ export async function prepareRingRaster({ config, publicDirectory, publicBase }: const width = 2048, height = 32, ring = config.ring; if(!ring)throw new TypeError("Ring raster needs an authored ring."); await sharp({ create: { width, height, channels: 4, - background: { r: ring.displayValue, g: ring.displayValue, b: ring.displayValue, alpha: ring.displayOpacity } } }) + background: { r: NEUTRAL_CATALOGUE_RGB[0], g: NEUTRAL_CATALOGUE_RGB[1], b: NEUTRAL_CATALOGUE_RGB[2], alpha: ring.normalOpacity } } }) .webp({ lossless: true }).toFile(resolve(publicDirectory, 'ring.webp')); return { url: publicBase + 'ring.webp', width, height }; } diff --git a/packages/bake/src/objects/layers/shape-model/shape-model.ts b/packages/bake/src/objects/layers/shape-model/shape-model.ts index b261eac0400..574acefb1a6 100644 --- a/packages/bake/src/objects/layers/shape-model/shape-model.ts +++ b/packages/bake/src/objects/layers/shape-model/shape-model.ts @@ -1,3 +1,4 @@ +import { NEUTRAL_CATALOGUE_RGB } from '@cssearth/objects'; import type { AuthoredObjectDescriptor } from '@cssearth/objects'; import type { ContentPreparationContext, PreparedObjectContentAssets } from '../../content/index.ts'; import { parseShapeModelConfig, parseShapeContent } from './source.ts'; @@ -93,8 +94,7 @@ export async function prepareShapeModel({ descriptor, sources, objectDirectory, const w = m[3]*x + m[7]*y + m[15]; const at=(axis:number)=>(m[axis]*x+m[4+axis]*y+m[12+axis])/w;return [at(0),at(1),at(2)] as [number,number,number]; }); - ringFaces.push({ vertices, color: [ringConfig.displayValue, ringConfig.displayValue, ringConfig.displayValue, - Math.round(ringConfig.displayOpacity * 255)] }); + ringFaces.push({ vertices, color: [...NEUTRAL_CATALOGUE_RGB, Math.round(ringConfig.normalOpacity * 255)] }); }) : []; const ringRaster = ringTexture ? await prepareCoplanarColorRaster({ faces: ringFaces, pixelsPerUnit: ringTexture.width / (2 * Math.max(...ringFaces.flatMap(face => face.vertices.flatMap(v => [Math.abs(v[0]),Math.abs(v[1])])))) }) : null; diff --git a/packages/bake/src/objects/layers/shape-model/source.ts b/packages/bake/src/objects/layers/shape-model/source.ts index b75c9534617..58f15c25017 100644 --- a/packages/bake/src/objects/layers/shape-model/source.ts +++ b/packages/bake/src/objects/layers/shape-model/source.ts @@ -2,7 +2,7 @@ import {refuseAuthoredCameraAngles} from '../../scene/index.ts'; import {shape,text,number,optional,array,requireRecord} from '@cssearth/core'; export const parseShapeModelConfig=shape({schema:text,displayName:text,displayRadius:number,quadBudget:number, mesh:shape({latitudeSegments:number,longitudeSegments:number,width:number,height:number,poleSize:number,seamOverlap:number}), - ring:optional(shape({innerRadiusKm:number,outerRadiusKm:number,segments:number,displayValue:number,displayOpacity:number})), + ring:optional(shape({innerRadiusKm:number,outerRadiusKm:number,segments:number,normalOpacity:number})), // One entry per dataset; a body without entries shows one neutral gray dataset. Each kind validates its own science block. surfaces:optional(array(shape({dataset:text,source:text,science:(value):Record&{kind:string}=>({...requireRecord(value),kind:shape({kind:text})(value).kind})}))), camera:value=>{const camera=shape({maximumHeightShare:number})(value);refuseAuthoredCameraAngles(camera);return camera;}}); diff --git a/packages/bake/src/objects/layers/terrestrial/rings.test.mts b/packages/bake/src/objects/layers/terrestrial/rings.test.mts index 2870557f5d9..7f3eb244a1a 100644 --- a/packages/bake/src/objects/layers/terrestrial/rings.test.mts +++ b/packages/bake/src/objects/layers/terrestrial/rings.test.mts @@ -10,8 +10,8 @@ import { BASE_TILE } from '@layoutit/polycss'; import { prepareRingLeaves } from '@cssearth/bake/objects/layers/shape-model'; import { prepareTerrestrialRings, validateTerrestrialRings } from '@cssearth/bake/objects/layers/terrestrial'; -const band = (id: string, innerRadiusKm: number, outerRadiusKm: number, displayOpacity: number) => ({ - id, innerRadiusKm, outerRadiusKm, displayOpacity, displayValue: 160, segments: 64, +const band = (id: string, innerRadiusKm: number, outerRadiusKm: number, normalOpacity: number) => ({ + id, innerRadiusKm, outerRadiusKm, normalOpacity, segments: 64, qualification: 'Measured dimensions; opacity is a schematic display value.', }); const profile = { textureSize: 256, bands: [band('inner', 20, 24, 1), band('outer', 28, 30, .25)] }; diff --git a/packages/bake/src/objects/layers/terrestrial/rings.ts b/packages/bake/src/objects/layers/terrestrial/rings.ts index 08caab016f2..3ad5aff413c 100644 --- a/packages/bake/src/objects/layers/terrestrial/rings.ts +++ b/packages/bake/src/objects/layers/terrestrial/rings.ts @@ -1,5 +1,6 @@ import { shape, text, number, array } from '@cssearth/core'; -const parseRingProfile = shape({textureSize:number,bands:array(shape({id:text,segments:number,innerRadiusKm:number,outerRadiusKm:number,displayValue:number,displayOpacity:number,qualification:text}))}); +import { NEUTRAL_CATALOGUE_RGB } from '@cssearth/objects'; +const parseRingProfile = shape({textureSize:number,bands:array(shape({id:text,segments:number,innerRadiusKm:number,outerRadiusKm:number,normalOpacity:number,qualification:text}))}); export type TerrestrialRings = ReturnType; import { writeFile } from 'node:fs/promises'; import { resolve } from 'node:path'; @@ -7,7 +8,8 @@ import { prepareRingLeaves } from '../shape-model/index.ts'; import { prepareCoplanarColorRaster, coplanarTileLayout } from '../material-composition/index.ts'; import { publishedImageSize } from '../shape-model/index.ts'; -/** Ring geometry and display assumptions are authored by the body. */ +/** A ring is drawn from its measured dimensions and its published normal opacity, in the neutral gray of a body with no + * measured colour. A recipe sets no colour. */ export function validateTerrestrialRings(input: unknown, referenceRadiusKm: number): asserts input is TerrestrialRings | undefined { if (input === undefined) return; const profile = parseRingProfile(input); @@ -20,10 +22,9 @@ export function validateTerrestrialRings(input: unknown, referenceRadiusKm: numb if (!/^[a-z][a-z0-9-]*$/.test(band.id) || !Number.isInteger(band.segments) || band.segments < 16 || band.segments > 512 || !Number.isFinite(band.innerRadiusKm) || band.innerRadiusKm <= referenceRadiusKm || !Number.isFinite(band.outerRadiusKm) || band.outerRadiusKm <= band.innerRadiusKm || - !Number.isInteger(band.displayValue) || band.displayValue < 0 || band.displayValue > 255 || - !Number.isFinite(band.displayOpacity) || band.displayOpacity < 0 || band.displayOpacity > 1 || + !Number.isFinite(band.normalOpacity) || band.normalOpacity < 0 || band.normalOpacity > 1 || typeof band.qualification !== 'string' || !band.qualification.trim()) { - throw new TypeError('Invalid annulus dimensions or display interpretation.'); + throw new TypeError('Invalid annulus dimensions or normal opacity.'); } } } @@ -54,7 +55,7 @@ export async function prepareTerrestrialRings({ config, publicDirectory }: {conf const coordinate=(axis:number)=>(m[axis] * x + m[4 + axis] * y + m[12 + axis]) / w; return [coordinate(0), coordinate(1), coordinate(2)]; }); - faces.push({ vertices, color: [band.displayValue, band.displayValue, band.displayValue, Math.round(band.displayOpacity * 255)] }); + faces.push({ vertices, color: [...NEUTRAL_CATALOGUE_RGB, Math.round(band.normalOpacity * 255)] }); }); } const extent = Math.max(...faces.flatMap(face => face.vertices.flatMap(v => [Math.abs(v[0]), Math.abs(v[1])]))); diff --git a/packages/objects/src/registry/context-colour.ts b/packages/objects/src/registry/context-colour.ts index 252fb3c87eb..1e5bf3603cb 100644 --- a/packages/objects/src/registry/context-colour.ts +++ b/packages/objects/src/registry/context-colour.ts @@ -16,6 +16,8 @@ export const TEXT_CONTRAST_MINIMUM = 4.5; /** The catalogue colour of every body with no measured colour: one neutral gray, so no two unmeasured bodies differ by a * colour nobody measured. It is achromatic, which is how the context tells it from a measured colour (contextColour). */ export const NEUTRAL_CATALOGUE_COLOUR = '#9a9a9a'; +/** The same gray as sRGB bytes, for prepared images (a ring with no measured colour). */ +export const NEUTRAL_CATALOGUE_RGB: readonly [number, number, number] = [0x9a, 0x9a, 0x9a]; /** The world context's own marker, orbit and label colour for a body with no colour of its own. */ export const DEFAULT_CONTEXT_COLOUR = '#dfdfdf'; diff --git a/packages/objects/src/registry/index.ts b/packages/objects/src/registry/index.ts index 0b092831070..77a6562f235 100644 --- a/packages/objects/src/registry/index.ts +++ b/packages/objects/src/registry/index.ts @@ -4,7 +4,7 @@ // scene loader (`site/objects.mts`); nothing here loads a scene or reads a file. export { parseArrivalView, parseArrivalBillboard } from './arrival-view.js'; export type { PreparedArrivalView, PreparedArrivalBillboard } from './arrival-view.js'; -export { composited, contextColour, contrastRatio, DEFAULT_CONTEXT_COLOUR, NEUTRAL_CATALOGUE_COLOUR, readableOnSky, relativeLuminance, SKY_BACKGROUND, TEXT_CONTRAST_MINIMUM } from './context-colour.js'; +export { composited, contextColour, contrastRatio, DEFAULT_CONTEXT_COLOUR, NEUTRAL_CATALOGUE_COLOUR, NEUTRAL_CATALOGUE_RGB, readableOnSky, relativeLuminance, SKY_BACKGROUND, TEXT_CONTRAST_MINIMUM } from './context-colour.js'; export { normalizeDestinationQuery, searchDestinations } from './destination-search.js'; export { orderFacts } from './fact-order.js'; export { mapLabel } from './map-label.js'; diff --git a/src/objects/chariklo/README.md b/src/objects/chariklo/README.md index 85cc5e5af61..fb20d591e7c 100644 --- a/src/objects/chariklo/README.md +++ b/src/objects/chariklo/README.md @@ -15,7 +15,7 @@ ## Known problems - The grid marks an unmapped surface. The ellipsoid resolves no terrain, and integrated JWST spectra provide no mapped colors. -- Rings are fixed circular annuli. Gray and opacity are schematic; there is no reflected-light, scattering or ring-shadow model. +- Rings are fixed circular annuli at their measured normal opacity (0.425 and 0.048), in the neutral gray of a body without a measured colour; there is no reflected-light, scattering or ring-shadow model. - Spin alignment with the ring normal is assumed; spin direction is unknown, and display longitude and phase are arbitrary. Orbit context is fixed at 2026-09-03 TT. - Settings is hidden; optional Shadows were checked through the checkbox event. These reports do not establish a full-suite pass or physical-device performance. diff --git a/src/objects/chariklo/inventory.json b/src/objects/chariklo/inventory.json index c0302109ffd..034f6f8fe40 100644 --- a/src/objects/chariklo/inventory.json +++ b/src/objects/chariklo/inventory.json @@ -4,14 +4,14 @@ { "location": "public", "filename": "chariklo-arrival.webp", - "bytes": 41132, - "sha256": "c6f6a501390947fd555fc77bd404982ccfd5fced6585e599fad44c72cf01189f" + "bytes": 41124, + "sha256": "800345062734d86a9108ccf16b898388a8a14b52faa78acba5bbfeea506f0b89" }, { "location": "public", "filename": "chariklo-billboard.webp", - "bytes": 4256, - "sha256": "79936ad76ee5d02ea0bf5e1fdce76085e918a397a4cd9f406f69185db4505e7c" + "bytes": 4238, + "sha256": "229b6d018b76c0442139f1d0505629e405bc0b83783b03b53edc7c9d3e43f63a" }, { "location": "public", @@ -47,7 +47,7 @@ "location": "public", "filename": "chariklo-rings.webp", "bytes": 19322, - "sha256": "62ab226715480f5c3f4951bf898e03abb034614632fc4700e82584d7bc4b90ab" + "sha256": "d120b7f50cffc3223882af26e48b03ec8a42c3d6178c3e5bbebaa278734d4f7d" }, { "location": "prepared", @@ -88,26 +88,26 @@ { "location": "prepared", "filename": "minimaps.json", - "bytes": 82, - "sha256": "d2c1add892ab2a7bb9eb7ecfbef8b3a837f8635234c8bf4b4fee2193a02adc18" + "bytes": 101, + "sha256": "33a55f589f67b8e6f4695895930a895111f1d7816b4ff4c953aedad1cf560513" }, { "location": "prepared", "filename": "minimaps/model.webp", - "bytes": 1260, - "sha256": "568c9019ec1d61eeac9d6bef82dfeca646f93fbd1b85afa22d90cb3c407079a4" + "bytes": 1110, + "sha256": "2a9588eb084c560c51e934f79a7eec84b346bb855605d5b5a2485ceec15ceabb" }, { "location": "prepared", "filename": "runtime.json", "bytes": 303658, - "sha256": "d6a2e927999074cd46371ffb4547147880109c8adb3d9688c9b977c88e9a8c8d" + "sha256": "12cceb5967192b35781818ba37be8ae2e0c3da967d1d50547e69e51338796c18" }, { "location": "prepared", "filename": "scene.json", - "bytes": 412149, - "sha256": "b57476695c8538c8c584c9945c584aa8b19f17b17d924274e2cee543d9abfe0b" + "bytes": 412181, + "sha256": "2ca169038587df15c3d62ab4f30dcd7f87e921a013f3bf2ccc2c13aa43df5f0c" }, { "location": "prepared", diff --git a/src/objects/chariklo/source/preparation/terrestrial.json b/src/objects/chariklo/source/preparation/terrestrial.json index 7f281501414..852f3d23d36 100644 --- a/src/objects/chariklo/source/preparation/terrestrial.json +++ b/src/objects/chariklo/source/preparation/terrestrial.json @@ -84,18 +84,16 @@ "innerRadiusKm": 382.38, "outerRadiusKm": 389.42, "segments": 128, - "displayValue": 160, - "displayOpacity": 0.425, - "qualification": "2022 JWST F150W2 first-contact radius and width, extended as a circular annulus. Neutral gray and fixed alpha are schematic; occultation opacity is not a reflected-light scattering model." + "qualification": "2022 JWST F150W2 first-contact radius and width, extended as a circular annulus, at its measured normal opacity. No ring colour is measured; occultation opacity is not a reflected-light scattering model.", + "normalOpacity": 0.425 }, { "id": "c2r", "innerRadiusKm": 399.7955, "outerRadiusKm": 400.8045, "segments": 128, - "displayValue": 160, - "displayOpacity": 0.048, - "qualification": "2022 JWST F150W2 first-contact radius and width, extended as a circular annulus. Neutral gray and fixed alpha are schematic; occultation opacity is not a reflected-light scattering model." + "qualification": "2022 JWST F150W2 first-contact radius and width, extended as a circular annulus, at its measured normal opacity. No ring colour is measured; occultation opacity is not a reflected-light scattering model.", + "normalOpacity": 0.048 } ] } diff --git a/src/objects/chariklo/source/rings/occultation-2022.json b/src/objects/chariklo/source/rings/occultation-2022.json index d8778402180..ed689e3ad8f 100644 --- a/src/objects/chariklo/source/rings/occultation-2022.json +++ b/src/objects/chariklo/source/rings/occultation-2022.json @@ -13,8 +13,8 @@ "poleSource": "https://doi.org/10.1051/0004-6361/202141543", "assumptions": [ "Concentric circular rings in the body equator; radius and width are held fixed at one measured contact instead of inventing unsampled azimuthal structure.", - "Use the normal opacity numerically as an explicitly schematic constant display alpha; it is occultation transmission evidence, not reflected-light brightness or a complete view-dependent optical model.", - "Neutral gray is display content; no spatially resolved ring-color texture is available.", + "The ring is drawn at its measured normal opacity as a constant alpha; it is occultation transmission evidence, not reflected-light brightness or a complete view-dependent optical model.", + "No ring colour is measured: the rings take the neutral gray of a body without a measured colour.", "The 2021 equivalent width of C2R (0.117 km) is opacity times radial width, and MUST NOT be used as a geometric ring width." ], "rings": [ @@ -27,9 +27,7 @@ "innerRadiusKm": 382.38, "outerRadiusKm": 389.42, "normalOpacity": 0.425, - "normalOpacityUncertainty": 0.008, - "displayValue": 160, - "displayOpacity": 0.425 + "normalOpacityUncertainty": 0.008 }, { "id": "c2r", @@ -46,9 +44,7 @@ "normalOpacityUncertainty": { "minus": 0.033, "plus": 0.117 - }, - "displayValue": 160, - "displayOpacity": 0.048 + } } ] } diff --git a/src/objects/haumea/README.md b/src/objects/haumea/README.md index 30449d28cd3..efb6ea8a39c 100644 --- a/src/objects/haumea/README.md +++ b/src/objects/haumea/README.md @@ -54,6 +54,6 @@ The illustration's area-weighted mean colour is sRGB 112, 102, 96 (#706660) agai - The Illustration is far darker than the measured colour, and any dark or red area in it is not the region the light curve implies. It is shown as NASA published it. - The ALMA picture averages over Haumea's rotation and shows no surface. The ring the project looked for cannot be made out in it; no ring analysis was tried here. - The pole is observationally constrained, but the display meridian is arbitrary. The 3.915341-hour period does not establish an absolute orientation at the app epoch. -- Ring gray and fixed opacity are schematic. The ring has no invented bands and remains evenly lit. +- The ring is drawn at the published opacity, 0.5 (Ortiz et al. 2017), in the neutral gray of a body without a measured colour. It has no invented bands and remains evenly lit. [Inputs](source/manifest.json) · [Preparation](source/preparation) · [Delivered files](inventory.json) · [Credits](NOTICE.md) diff --git a/src/objects/haumea/inventory.json b/src/objects/haumea/inventory.json index 7f5be5108f4..6ba05a11a4d 100644 --- a/src/objects/haumea/inventory.json +++ b/src/objects/haumea/inventory.json @@ -16,14 +16,14 @@ { "location": "public", "filename": "haumea-arrival.webp", - "bytes": 48926, - "sha256": "b101225134ef87a01d8edb7e04aa08c07f9dae443c29d7b3966719d5f7c72332" + "bytes": 48986, + "sha256": "c99bfac0ee57cb418d7e58da4d5c476a218442905380d7b88ab6ecf7e190bef1" }, { "location": "public", "filename": "haumea-billboard.webp", - "bytes": 5108, - "sha256": "c7a212fa9de4b1a2272a965205e78fa5e900f5ee0df5607f7394e64bfe1e129b" + "bytes": 5128, + "sha256": "f35b82ed761b5d6bf392d015da3ef13779cb51ac7803c6a74f6a1c8bfc038811" }, { "location": "public", @@ -52,8 +52,8 @@ { "location": "public", "filename": "ring.webp", - "bytes": 14158, - "sha256": "4dec840c2a89a5a78d230e0472d12d4927dedf20c9d3ae080e7adef2db2b590b" + "bytes": 14160, + "sha256": "5a6fa82a404ea0171facbed98891c79670905fda035929eb6ec9b7285361d002" }, { "location": "public", @@ -100,8 +100,8 @@ { "location": "prepared", "filename": "minimaps.json", - "bytes": 473, - "sha256": "617ce78c3eda38a3d6a106d80d3c15d36ece4a1faf343c037489e01c365342df" + "bytes": 511, + "sha256": "9725a2f334893509919c60da5ce9c78d83908bbef1ae2a26786f2b808cd2c33c" }, { "location": "prepared", @@ -124,8 +124,8 @@ { "location": "prepared", "filename": "scene.json", - "bytes": 955922, - "sha256": "4af6a8569ca09cd713e3a68ae9553fc437fe3c35f38e41d8d00c3c4185edfa33" + "bytes": 955892, + "sha256": "d5070b7711b5489d6de3dd756962e567bce8f5dd4f529963a2ff91acdcc0d53e" }, { "location": "prepared", diff --git a/src/objects/haumea/source/preparation/shape-model.json b/src/objects/haumea/source/preparation/shape-model.json index 326df331f1f..20c31a80b6d 100644 --- a/src/objects/haumea/source/preparation/shape-model.json +++ b/src/objects/haumea/source/preparation/shape-model.json @@ -15,9 +15,8 @@ "innerRadiusKm": 2252, "outerRadiusKm": 2322, "segments": 128, - "displayValue": 130, - "displayOpacity": 0.5, - "qualification": "Ring dimensions from the 2017 occultation. Gray appearance and constant display opacity are schematic; the measured 0.5 occultation opacity is not a view-independent optical model." + "qualification": "Ring dimensions and the 0.5 opacity from the 2017 occultation (Ortiz et al. 2017). No ring colour is measured: it is the neutral gray of a body without a measured colour.", + "normalOpacity": 0.5 }, "surfaces": [ { diff --git a/src/objects/jupiter/NOTICE.md b/src/objects/jupiter/NOTICE.md index 762ea388919..fa401d9269d 100644 --- a/src/objects/jupiter/NOTICE.md +++ b/src/objects/jupiter/NOTICE.md @@ -1,17 +1,6 @@ # Jupiter source notices - NASA/ESA Hubble WFC3 2019 global map: NASA, ESA, A. Simon (NASA GSFC), and M. H. Wong (UC Berkeley). -- Jupiter north-polar-region detail PIA24239: image data - NASA/JPL-Caltech/SwRI/MSSS; image processing Emma Wälimäki, CC BY. -- Jupiter north polar projection PIA23808: image data - NASA/JPL-Caltech/SwRI/MSSS; image processing Gerald Eichstädt. Its extreme - false color is not transported; preparation uses bounded structure only. -- Jupiter south polar cyclones PIA23556: NASA/JPL-Caltech/SwRI/ASI/INAF/JIRAM. - Its 5-micron infrared color is not transported; preparation uses bounded - structure only. -- Jupiter visible south pole PIA21382: enhanced image by John Landino from - NASA/JPL-Caltech/SwRI/MSSS data, CC BY. Preparation uses it as a bounded - visible-light chroma source. - Hubble OPAL Cycle 32 products: NASA, ESA, A. A. Simon, and M. H. Wong; CC BY 4.0 as recorded in the FITS headers and MAST product page. - Galileo PIA01299 Galilean satellites: NASA/JPL/DLR. - Jupiter ring statistics and Galileo PIA00701/PIA01623 observations: NASA diff --git a/src/objects/jupiter/README.md b/src/objects/jupiter/README.md index d6081fa8f1e..fc97fdc3f06 100644 --- a/src/objects/jupiter/README.md +++ b/src/objects/jupiter/README.md @@ -1,6 +1,6 @@ # Jupiter source and preparation record -Jupiter combines Hubble observations, qualified polar illustrations, a faint ring model, a magnetic field model and +Jupiter combines Hubble observations, its rings at their published optical depths, a magnetic field model and modeled atmosphere charts. Source selections, recorded trials and open questions are in the [investigation ledger](investigations.json). @@ -9,7 +9,7 @@ Source selections, recorded trials and open questions are in the [investigation | View or quantity | Source | | --- | --- | -| Visible clouds and polar structure | [Hubble 2019 global map](https://science.nasa.gov/asset/hubble/jupiter-global-map-2019/) and Juno products listed below | +| Visible clouds | [Hubble 2019 global map](https://science.nasa.gov/asset/hubble/jupiter-global-map-2019/) | | Ultraviolet and methane bands | [Hubble OPAL Cycle 32](https://archive.stsci.edu/hlsp/opal/opal-jupiter-cycle-32), 2025 | | Ring structure | [PDS ring statistics](https://pds-rings.seti.org/jupiter/jupiter_rings_table.html) and Galileo images | | Atmosphere charts | [NASA Planetary Spectrum Generator](https://psg.gsfc.nasa.gov/), modeled 30 August 2026 | @@ -18,12 +18,6 @@ Source selections, recorded trials and open questions are in the [investigation 11 December 2025. - Magnetic field: [JRM33](https://doi.org/10.1029/2021JE007055), evaluated with the unchanged [PSH community implementation](https://github.com/rjwilson-LASP/PSH). -- North pole: NASA/JPL [PIA23808](https://www.jpl.nasa.gov/images/pia23808-cyclones-of-color-at-jupiters-north-pole/) - JunoCam projection for structure, and [PIA24239](https://science.nasa.gov/photojournal/jupiter-north-pole-detail/) - for colour, credited to Emma Wälimäki under CC BY. -- South pole: [PIA23556](https://science.nasa.gov/photojournal/jupiters-south-pole-cyclones-in-2016/) JIRAM 5-micron - imagery for structure, and JunoCam [PIA21382](https://science.nasa.gov/photojournal/jovian-stormy-weather/) for - colour, processed by John Landino under CC BY. - Rings: Galileo [PIA00701](https://pds-rings.seti.org/jupiter/galileo/PIA00701.html) and [PIA01623](https://pds-rings.seti.org/jupiter/galileo/PIA01623.html). - Limb law: the [OPAL photometry paper](https://doi.org/10.1088/0004-637X/812/1/55) by Simon, Wong and Orton. @@ -38,13 +32,11 @@ Source selections, recorded trials and open questions are in the [investigation **Visible map.** The Hubble WFC3 map from 27 June 2019 is 3,600 by 1,800 pixels from the 395, 502 and 631 nm filters, and excludes latitudes beyond 80°. Bands are limited to eight degrees to reduce close-zoom faceting. Poleward of 64° -the body is a dome of two rings and a flat cap at 80°. Preparation lays the polar atlas over the Hubble map there, so -one surface carries both. +the body is a dome of two rings and a flat cap at 80°. -**Poles.** The JunoCam and JIRAM sources use false colour, so their RGB is discarded and only luminance structure is -kept. Colour comes from the visible-light JunoCam products and the measured Hubble 64° edge. The cyclone arrangements -are source-backed, but the sources are not registered to the Hubble longitudes. No absent Hubble pixel is presented as -an observation. +**Poles.** The map observed nothing beyond 80° north or south. The shared gray grid marks those caps; nothing is +drawn into them. Juno polar photographs were grafted in until 2026-10-01 and were removed: the south pole's structure +was a 5-micron infrared image, and neither pole was registered to the Hubble longitudes. **Dated maps.** Each OPAL image keeps the intersection of its three component footprints. Polar-connected zero fill and non-finite values are gaps. F395N, F502N and F631N provide the channels, except January 2024 uses F658N for red. @@ -71,9 +63,10 @@ every pixel of the 1.005-to-1.03 exterior annulus is zero, so no atmosphere halo **Rings.** The PDS Ring-Moon Systems table fixes boundaries and optical depths: halo 100,000 to 122,400 km, main ring to 129,100 km, Amalthea gossamer to 181,350 km, Thebe to 221,900 km and its extension to 270,000 km. The Galileo images establish the three-part structure, the gossamer components and the truncation in Jupiter's shadow. The components are -composited once into a 4 by 4 tile grid. Their radial mapping keeps the Thebe extension inside Io. Because the optical -depths are far below opaque, contrast is emphasized, capped at 0.4 alpha, and the main ring has a three-unit minimum -width. +composited once into a 4 by 4 tile grid. Their radial mapping keeps the Thebe extension inside Io. Each ring's opacity +is 1 − exp(−optical depth). The published depths run from 10⁻⁹ to 8 × 10⁻⁶, below one display level for every +ring, so nothing shows and the map marker carries no ring. Hand-picked greys and a contrast emphasis capped at 0.4 +alpha were removed on 2026-10-01. **Scene.** The scene uses the IAU radii (71,492 and 66,854 km), the JUP365 ephemeris, 3.13° axial tilt and NASA's 9.9-hour rotation period. The 36-second CSS rotation is an accelerated presentation timescale. Io, Europa, Ganymede @@ -87,6 +80,11 @@ Jupiter is prepared only from inputs declared in `source/manifest.json`; ignored ## Evidence +![Jupiter, Uranus and Neptune before (left) and after (right) the 2026-10-01 fidelity pass](evidence/2026-10-01/giants-before-after.webp) + +Headless captures of the default views: the Juno pole graft and the boosted rings on the left, the measured map +with its gray polar cap and the rings at true opacity on the right. + - Every added dataset was selected and visually inspected in the browser on 26 September 2026. - Polar ring leaves place every texel within 0.33 of a 2x polar-atlas texel of its latitude, and the cap within 0.39. The cap's rim stands 0.15% of the radius outside the body. @@ -95,15 +93,14 @@ Jupiter is prepared only from inputs declared in `source/manifest.json`; ignored ## Known problems -- The polar views combine visible and infrared structure without registration to the Hubble longitudes; they are - structural illustrations. +- The default map has no data beyond 80° north or south; the gray grid marks those caps. - Spectral gaps remain missing. The edge-fill mask is a heuristic without an independent validity mask. - The dated maps vary in filters and provider colour processing, so they are a morphological comparison, not a calibrated colour trend or a measurement of the Great Red Spot's shrinkage. - The magnetic map is an inferred internal field. It excludes external currents, and its grid follows the mesh's parametric latitude, not planetographic latitude. -- Ring contrast and widths are enhanced for visibility. Atmosphere lighting and charts are models, and the display - rotation is accelerated. +- The rings are invisible at their true opacity. An empty ring layer is still mounted. +- Atmosphere lighting and charts are models, and the display rotation is accelerated. - The photometric overlay has one colour and alpha per pixel, so the per-channel limb law is exact for the 2019 map's mean colour and approximate for colours far from it. The coefficients are for near-zero phase; directional frames use them at every phase. diff --git a/src/objects/jupiter/evidence/2026-10-01/giants-before-after.webp b/src/objects/jupiter/evidence/2026-10-01/giants-before-after.webp new file mode 100644 index 0000000000000000000000000000000000000000..a058de3f69d1eb9d3d4bf558ef1a2b5cf53ba88f GIT binary patch literal 59314 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 +OBJECT = SPREADSHEET +ROWS = 548 +ROW_BYTES = 417 +FIELDS = 38 +FIELD_DELIMITER = "COMMA" +^STRUCTURE = "MWR_J_NH3A_V01.FMT" +END_OBJECT = SPREADSHEET + +END diff --git a/src/objects/jupiter/source/telescopes/juno-mwr/MWRNH3U2016240070004_R00548_V01.LBL b/src/objects/jupiter/source/telescopes/juno-mwr/MWRNH3U2016240070004_R00548_V01.LBL new file mode 100644 index 00000000000..700f086b184 --- /dev/null +++ b/src/objects/jupiter/source/telescopes/juno-mwr/MWRNH3U2016240070004_R00548_V01.LBL @@ -0,0 +1,57 @@ +PDS_VERSION_ID = "PDS3" + +/* FILE DATA ELEMENTS */ + +RECORD_TYPE = "STREAM" +RECORD_BYTES = 450 +FILE_RECORDS = 549 +MD5_CHECKSUM = "5864c63dcfa3736533fe8dcd799888dc" + +/* IDENTIFICATION DATA ELEMENTS */ + +DATA_SET_ID = "JNO-J-MWR-5-NH3-DISTRIBUTION-V1.0" +PRODUCT_ID = "MWRNH3U2016240070004_R00548_V01.CSV" +STANDARD_DATA_PRODUCT_ID = "NH3U" +PRODUCT_TYPE = "NH3U" +PRODUCT_VERSION_ID = "01" +INSTRUMENT_HOST_ID = "JNO" +INSTRUMENT_HOST_NAME = "JUNO" +INSTRUMENT_ID = "MWR" +INSTRUMENT_TYPE = "RADIOMETER" +INSTRUMENT_NAME = "MICROWAVE RADIOMETER" +MISSION_NAME = "JUNO" +MISSION_PHASE_NAME = "SCIENCE ORBITS" +PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM, + JET PROPULSION LAB" +PRODUCT_CREATION_TIME = 2024-10-22T22:08:43 +SPACECRAFT_CLOCK_START_COUNT = "5/525553380.60452" +SPACECRAFT_CLOCK_STOP_COUNT = "5/575863436.60452" +START_TIME = 2016-08-27T07:00:04.844 +STOP_TIME = 2018-04-01T13:59:59.299 +TARGET_NAME = "JUPITER" + +/* HISTORY DATA ELEMENTS */ + +PROCESSING_LEVEL_ID = "5" + +/* HEADER REFERENCE */ + +^HEADER = ("MWRNH3U2016240070004_R00548_V01.CSV",1) +OBJECT = HEADER +BYTES = 450 +HEADER_TYPE = "TEXT" +DESCRIPTION = "See ^STRUCTURE" +END_OBJECT = HEADER + +/* DATA REFERENCE */ + +^SPREADSHEET = ("MWRNH3U2016240070004_R00548_V01.CSV",451) +OBJECT = SPREADSHEET +ROWS = 548 +ROW_BYTES = 417 +FIELDS = 38 +FIELD_DELIMITER = "COMMA" +^STRUCTURE = "MWR_J_NH3U_V01.FMT" +END_OBJECT = SPREADSHEET + +END diff --git a/src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3A_V01.FMT b/src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3A_V01.FMT new file mode 100644 index 00000000000..788f547babf --- /dev/null +++ b/src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3A_V01.FMT @@ -0,0 +1,342 @@ + +OBJECT = FIELD + NAME = pressure_bar + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 1 + BYTES = 25 + DESCRIPTION = "Pressure levels (bar)" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_49.3S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 2 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -49.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_46.2S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 3 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -46.2 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_43.0S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 4 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -43.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_39.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 5 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -39.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_36.8S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 6 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -36.8 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_33.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 7 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -33.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_31.1S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 8 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -31.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_28.3S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 9 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -28.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_25.6S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 10 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -25.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_23.0S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 11 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -23.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_20.4S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 12 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -20.4 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_17.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 13 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -17.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_15.4S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 14 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -15.4 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_12.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 15 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -12.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_10.5S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 16 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -10.5 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_08.1S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 17 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -8.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_05.7S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 18 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -5.7 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_03.3S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 19 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -3.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_00.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 20 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude -0.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_01.5N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 21 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +1.5 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_03.9N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 22 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +3.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_06.3N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 23 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +6.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_08.7N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 24 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +8.7 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_11.1N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 25 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +11.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_13.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 26 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +13.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_16.0N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 27 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +16.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_18.5N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 28 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +18.5 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_21.1N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 29 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +21.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_23.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 30 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +23.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_26.3N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 31 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +26.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_29.0N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 32 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +29.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_31.7N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 33 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +31.7 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_34.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 34 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +34.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_37.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 35 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +37.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_40.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 36 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +40.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_43.8N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 37 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +43.8 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3A_PC_lat_47.0N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 38 + BYTES = 25 + DESCRIPTION = "Ammonia abundance at planetocentric latitude +47.0 degree" + +END_OBJECT diff --git a/src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3U_V01.FMT b/src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3U_V01.FMT new file mode 100644 index 00000000000..8afa475f24c --- /dev/null +++ b/src/objects/jupiter/source/telescopes/juno-mwr/MWR_J_NH3U_V01.FMT @@ -0,0 +1,342 @@ + +OBJECT = FIELD + NAME = pressure_bar + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 1 + BYTES = 25 + DESCRIPTION = "Pressure levels (bar)" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_49.3S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 2 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -49.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_46.2S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 3 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -46.2 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_43.0S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 4 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -43.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_39.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 5 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -39.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_36.8S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 6 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -36.8 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_33.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 7 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -33.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_31.1S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 8 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -31.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_28.3S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 9 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -28.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_25.6S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 10 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -25.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_23.0S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 11 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -23.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_20.4S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 12 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -20.4 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_17.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 13 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -17.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_15.4S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 14 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -15.4 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_12.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 15 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -12.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_10.5S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 16 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -10.5 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_08.1S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 17 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -8.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_05.7S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 18 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -5.7 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_03.3S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 19 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -3.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "NH3U_PC_lat_00.9S" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 20 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude -0.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_01.5N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 21 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +1.5 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_03.9N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 22 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +3.9 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_06.3N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 23 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +6.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_08.7N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 24 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +8.7 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_11.1N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 25 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +11.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_13.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 26 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +13.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_16.0N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 27 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +16.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_18.5N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 28 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +18.5 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_21.1N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 29 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +21.1 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_23.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 30 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +23.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_26.3N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 31 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +26.3 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_29.0N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 32 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +29.0 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_31.7N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 33 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +31.7 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_34.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 34 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +34.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_37.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 35 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +37.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_40.6N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 36 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +40.6 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_43.8N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 37 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +43.8 degree" + +END_OBJECT + +OBJECT = FIELD + NAME = "MH3U_PC_lat_47.0N" + DATA_TYPE = ASCII_REAL + FIELD_NUMBER = 38 + BYTES = 25 + DESCRIPTION = "Ammonia abundance 1 sigma uncertainty at planetocentric latitude +47.0 degree" + +END_OBJECT diff --git a/src/objects/jupiter/text.json b/src/objects/jupiter/text.json index fdf78653268..8cf2a494a7f 100644 --- a/src/objects/jupiter/text.json +++ b/src/objects/jupiter/text.json @@ -29,7 +29,7 @@ "normal": { "title": "WFC3 visible-color map", "detail": "Visible light", - "summary": "A 2019 global cloud map with separate polar images; the poles do not line up with its longitudes." + "summary": "A 2019 global cloud map; the gray grid marks the polar caps it never observed." }, "ultraviolet": { "title": "OPAL F275W map", diff --git a/src/objects/neptune/README.md b/src/objects/neptune/README.md index 098a18db00d..5ea6ea9d5e2 100644 --- a/src/objects/neptune/README.md +++ b/src/objects/neptune/README.md @@ -9,7 +9,7 @@ The [navigation marker](source/preparation/navigation.json) retains its existing - The visible-colour globe is the 2025 Hubble OPAL Cycle 32 colour global map, assembled by the OPAL team from WFC3/UVIS F467M, F547M and F657N exposures. The methane dataset uses the matching FQ619N global map and the near-infrared dataset F845M. The products and the OPAL readme are in `source/opal/`. - The OPAL readme says the TIFF is arbitrarily scaled and contrast enhanced, so its colours are calibrated against the 2024 Irwin et al. true-colour Neptune reconstruction distributed by the Royal Astronomical Society. The reference is committed under `source/color/` with CC BY 4.0 attribution. - The radii are 24,764 km equatorial and 24,341 km polar (IAU 2015 report values), the same the OPAL readme gives for its limb fits. -- JPL Solar System Dynamics discovery, mean-elements and physical-parameter tables supply the 16-moon catalog. The PDS Rings Node Neptune table supplies the ring radii and widths, including the Adams ring at 62,933 km. +- JPL Solar System Dynamics discovery, mean-elements and physical-parameter tables supply the 16-moon catalog. The [PDS Rings Node Neptune table](https://pds-rings.seti.org/neptune/neptune_rings_table.html) supplies the ring radii, widths and normal optical depths, including the Adams ring at 62,933 km. - Two panel charts come from the committed NASA GSFC Planetary Spectrum Generator configuration and raw I/F response; the third uses the pinned photometric phase coefficients. Panel prose and facts come from the committed NASA Science `Neptune: Facts` snapshot. - The dated maps are listed under [Hubble dates](#hubble-dates). @@ -21,7 +21,7 @@ Preparation matches the mean and channel variation of a checked equatorial OPAL Each dataset is mapped across 722 surface leaves on the shared sphere lane: 720 longitude-latitude cells and two polar caps. The orientation is solved from Neptune's pole and rotation at the scene epoch. Lighting is one 256-frame bank shared by every dataset. Each frame puts back the limb darkening OPAL removed from the colour map, with the 2025b readme's Minnaert coefficients: k 0.50 in F657N, 0.80 in F547M and 0.88 in F467M ([planet limbs](../../../docs/surface-preparation.md#planet-limbs-from-published-laws)). No floor, ambient term or terminator ramp remains. -The rings are 16 wedges drawn from the ring recipe, the Adams arcs included, each starting outside the planet so the planet hides their far side. +The rings are 16 wedges drawn from the ring recipe, each starting outside the planet so the planet hides their far side. Each ring's opacity is 1 − exp(−optical depth) and its colour the neutral gray of a body without a measured colour. Le Verrier and Adams (0.003) are one display level; Galle and Lassell (10⁻⁴) are below one and do not show, so the rings are all but invisible and the map marker carries no ring. Arago and the unnamed ring have no optical depth in the table and are not drawn. Until 2026-10-01 the rings were one blue with hand-set opacities. ## Hubble dates @@ -55,7 +55,7 @@ The RGB TIFF and its three component FITS files are recorded in [the source mani - Neptune's north pole was tilted away from Hubble in 2025. On the pinned OPAL maps coverage ends near 71° N, and the rows below it still carry dark swath edges. Preparation starts the fill where the rows recover, at 57° N for the 619 and 845 nm maps and 41° N for colour, and extends that row toward its longitudinal mean at the pole. The fill supplies no storm or cloud detail. - The normal pole atlas samples the 720 × 360 OPAL grid directly. This keeps the existing projection and does not recover unobserved polar features. - The lighting overlay has one colour and alpha per pixel, so its limb law is exact only for the colour map's mean colour. The FQ619N and F845M maps share the colour map's bank, so their limb is not their own law. -- The four Adams arcs are schematic. The Rings Node table lists five arcs (Courage, Liberte, Egalite 1 and 2, Fraternite) but gives only relative spacings, so the drawn arc centres and widths are not measured positions. +- The Adams arcs are not drawn. The Rings Node table lists five arcs (Courage, Liberte, Egalite 1 and 2, Fraternite) at an optical depth near 0.1 but gives only relative spacings, so their positions at the scene epoch are not published. - The dated maps are publisher mosaics with contrast enhancement and arbitrary channel scaling, not calibrated colour comparisons between years. The scene camera, Sun and rings do not reproduce the original observing geometry. Publisher seam artifacts inside valid coverage remain. [Inputs](source/manifest.json) · [Preparation](source/preparation) · [Delivered files](inventory.json) · [Credits](NOTICE.md) diff --git a/src/objects/neptune/inventory.json b/src/objects/neptune/inventory.json index 79253024f15..050ce22f474 100644 --- a/src/objects/neptune/inventory.json +++ b/src/objects/neptune/inventory.json @@ -118,8 +118,8 @@ { "location": "public", "filename": "neptune-arrival.webp", - "bytes": 107810, - "sha256": "8d96036310f851ab2a504840f76156f4fc3e366218327a34297c9504091f283f" + "bytes": 36926, + "sha256": "c04a3859c5d313a9bd44cc5ebc7e67bb35636269d92740482fcdc6672c768d93" }, { "location": "public", @@ -130,8 +130,8 @@ { "location": "public", "filename": "neptune-billboard.webp", - "bytes": 11578, - "sha256": "611c343e29cae1537eb172481ad0ff1182bafc1c706ea6c8bf6ead8e8f8e448b" + "bytes": 6698, + "sha256": "f953de578f07ed6fcf5b7dfe0ac926298a19117b7c1f5968403084a4e77992ba" }, { "location": "public", @@ -358,8 +358,8 @@ { "location": "public", "filename": "neptune-rings-wedges@2x.webp", - "bytes": 8118, - "sha256": "150575160b2ea9d1bb84f78fd8a49d6f5c527f6b512f4c6aef2ef8207a174f01" + "bytes": 714, + "sha256": "2331f41ab0a531b6a1684585e7442053f846e52c43b4a73fd0e46a480ff9f786" }, { "location": "public", @@ -515,19 +515,19 @@ "location": "prepared", "filename": "arrival-billboard.json", "bytes": 306, - "sha256": "9a66d234bbe898c9bff5b44b523732e00d9901a51a56e31c61f4429ea59e8675" + "sha256": "949f075614ec10d0f3777695ecc6ae631358217b9ab25ec0b536ff5e6e2ad587" }, { "location": "prepared", "filename": "assets.json", - "bytes": 79960, - "sha256": "a5e3c717f0fbea76d1bf97e9f42ad96631d5a6cf2d5d46bd0fac3dc50e8654df" + "bytes": 79273, + "sha256": "e44a0b42c6f9c30c3761e197473f97dda3a0862fce7eb0bf833369ec8134707b" }, { "location": "prepared", "filename": "authored-preparation.json", - "bytes": 894, - "sha256": "d041f5cddf1004461be9d393be1af266e08c64a1f43921b906d8491d0fa8a301" + "bytes": 832, + "sha256": "6470dc4101b0420e918e7f311020f947284cca7c3c8db31655dc80cd3a29509d" }, { "location": "prepared", @@ -628,14 +628,14 @@ { "location": "prepared", "filename": "runtime.json", - "bytes": 592626, - "sha256": "ba752ae34a9db36f5bdbd7ba84f3be3ff957e3eebf2af0f95f1cb4aee18284e7" + "bytes": 592658, + "sha256": "e14e94c2f3b34ad8471ce5bf16b6c6304552c5ba7066312ae31f36264fbfb223" }, { "location": "prepared", "filename": "scene.json", - "bytes": 599427, - "sha256": "1cb0476b72628e19958299dc3490907032bec213018658836d8fa78dcbbbafac" + "bytes": 603391, + "sha256": "fe575b01bfe25cc54f8a4ac5b81d6a1ac4fd81fc374c4ec02ef518c94f26c95d" }, { "location": "prepared", diff --git a/src/objects/neptune/investigations.json b/src/objects/neptune/investigations.json index 61e6aa71543..6aed59f8f0b 100644 --- a/src/objects/neptune/investigations.json +++ b/src/objects/neptune/investigations.json @@ -71,7 +71,7 @@ "id": "pds-rings-node-ring-table", "subject": "PDS Rings Node Neptune ring table", "status": "included", - "finding": "The PDS Rings Node table supplies the prepared ring radii and widths.", + "finding": "The PDS Rings Node table supplies the prepared ring radii, widths and normal optical depths; each ring's opacity is 1 - exp(-optical depth) and its colour the neutral gray of a body without a measured colour. Arago, the unnamed ring and the Adams arcs are not drawn: the table gives the first two no optical depth and the arcs no longitudes.", "evidence": [ "https://github.com/layoutit/css.earth/blob/main/src/objects/neptune/README.md#L21" ] diff --git a/src/objects/neptune/source/preparation/navigation.json b/src/objects/neptune/source/preparation/navigation.json index b44d752e14b..bc3dc3e5469 100644 --- a/src/objects/neptune/source/preparation/navigation.json +++ b/src/objects/neptune/source/preparation/navigation.json @@ -3,11 +3,7 @@ "objectId": "neptune", "owner": "object", "presentation": { - "size": 10, - "ringAngle": -28, - "ringExtra": 11, - "ringHeight": 4, - "ringOpacity": 0.56 + "size": 10 }, "source": { "path": "opal/hlsp_opal_hst_wfc3-uvis_neptune-2025b_f467m-f547m-f657n_v1_globalmap.tif" diff --git a/src/objects/neptune/source/preparation/rings.json b/src/objects/neptune/source/preparation/rings.json index ffc0331103e..8db86ff731d 100644 --- a/src/objects/neptune/source/preparation/rings.json +++ b/src/objects/neptune/source/preparation/rings.json @@ -29,7 +29,7 @@ }, "bands": [ { - "id": "annulus-0", + "id": "Galle", "envelope": "constant", "bounds": [ 41000, @@ -39,33 +39,34 @@ true, true ], - "opacity": 8, - "color": [ - 144, - 174, - 207 - ] + "opticalDepth": 0.0001, + "source": { + "name": "Galle", + "radiusKm": 42000, + "widthKm": 2000, + "opticalDepthText": "10^-4", + "table": "https://pds-rings.seti.org/neptune/neptune_rings_table.html" + } }, { - "id": "annulus-1", - "envelope": "constant", - "bounds": [ - 53150, - 53250 - ], - "inclusive": [ - true, - true - ], - "opacity": 48, - "color": [ - 144, - 174, - 207 - ] + "id": "Le Verrier", + "envelope": "tent", + "center": 53200, + "width": 100, + "minimumHalfWidthPixels": 0.72, + "edgeGain": 2.5, + "opticalDepth": 0.003, + "source": { + "name": "Le Verrier", + "radiusKm": 53200, + "widthKm": 100, + "widthText": "<100", + "opticalDepthText": "0.003", + "table": "https://pds-rings.seti.org/neptune/neptune_rings_table.html" + } }, { - "id": "annulus-2", + "id": "Lassell", "envelope": "constant", "bounds": [ 53200, @@ -75,98 +76,35 @@ true, true ], - "opacity": 10, - "color": [ - 144, - 174, - 207 - ] + "opticalDepth": 0.0001, + "source": { + "name": "Lassell", + "radiusKm": 55200, + "widthKm": 4000, + "opticalDepthText": "10^-4", + "table": "https://pds-rings.seti.org/neptune/neptune_rings_table.html" + } }, { - "id": "annulus-3", - "envelope": "constant", - "bounds": [ - 57110, - 57290 - ], - "inclusive": [ - false, - false - ], - "opacity": 32, - "color": [ - 144, - 174, - 207 - ] - }, - { - "id": "annulus-4", - "envelope": "constant", - "bounds": [ - 61863, - 62043 - ], - "inclusive": [ - false, - false - ], - "opacity": 20, - "color": [ - 144, - 174, - 207 - ] - }, - { - "id": "annulus-5", - "envelope": "constant", - "bounds": [ - 62858, - 63008 - ], - "inclusive": [ - false, - false - ], - "opacity": 82, - "color": [ - 144, - 174, - 207 - ] - }, - { - "id": "arcs", - "note": "Schematic arcs. The PDS Rings Node table gives the 62,933 km radius and only relative spacings (Courage 7.3 deg ahead of Liberte, Liberte 12 deg ahead of Egalite 1, Egalite 2 10.7 deg ahead of Fraternite); it gives no arc lengths or absolute longitudes, so these four centres and widths are not measured positions.", - "envelope": "constant", - "bounds": [ - 62818, - 63048 - ], - "inclusive": [ - false, - false - ], - "arcs": { - "centers": [ - -2.6, - -2.25, - -1.85, - -1.45 - ], - "halfWidth": 0.13 - }, - "opacity": 165, - "color": [ - 144, - 174, - 207 - ] + "id": "Adams", + "envelope": "tent", + "center": 62933, + "width": 15, + "minimumHalfWidthPixels": 0.72, + "edgeGain": 2.5, + "opticalDepth": 0.003, + "source": { + "name": "Adams", + "radiusKm": 62933, + "widthKm": 15, + "opticalDepthText": "0.003-0.1", + "note": "The ring between its arcs; the arcs, near 0.1, are not drawn: the table gives their spacings but no longitudes at this epoch.", + "table": "https://pds-rings.seti.org/neptune/neptune_rings_table.html" + } } ], "output": "neptune-rings{suffix}.webp", - "qualification": "PDS radial ring positions with the accepted schematic opacity, width emphasis and fixed arc presentation.", + "qualification": "PDS Rings Node radii, widths and normal optical depths; opacity is 1 - exp(-optical depth), with the pixel readability floor for the two narrow rings. Arago and the unnamed ring have no optical depth in the table and are not drawn, nor are the Adams arcs.", "wedges": { "count": 16 } diff --git a/src/objects/quaoar/README.md b/src/objects/quaoar/README.md index 1985223a427..8b9ddd9c449 100644 --- a/src/objects/quaoar/README.md +++ b/src/objects/quaoar/README.md @@ -29,7 +29,8 @@ Ring-image check · Inspected views. - Oblate versus triaxial shape remains unresolved. The pole assumes alignment with the rings; 8.8394 h versus 17.6788 h spin interpretations remain model-dependent. - Ring widths are drawn as uniform circular bands. The dense arc is not - reconstructed, and gray color and opacity are not measured reflectance or optical depth. + reconstructed. Both rings are drawn at the published normal optical depth of about 0.004 + ([Pereira et al. 2023](https://doi.org/10.1051/0004-6361/202346365)), one display level, so they barely show. - Surface detail is unresolved. No sidereal spin or precise rotational phase is installed. [Inputs](source/manifest.json) · [Preparation](source/preparation/terrestrial.json) · [Credits](NOTICE.md) @@ -56,8 +57,8 @@ unmapped terrain. The adopted Q1R and Q2R radii are 4057.2 km and 2520 km. Q1R uses the 76.4 km width of the tenuous component measured at one Gemini chord as a circular schematic. Its actual width varies with azimuth; the dense arc is not reconstructed. Q2R uses -the published typical 10 km width. Uniform gray and display opacity are -illustrative. Both bands use the shared terrestrial ring preparation capability. +the published typical 10 km width. Each ring's opacity is 1 − exp(−0.004), and its colour +the neutral gray of a body without a measured colour; a display opacity of 0.4 was removed on 2026-10-01. Both bands use the shared terrestrial ring preparation capability. The [table tool](../../../packages/telescope-cli/src/source-authoring/README.md) reproduces the pinned radii from [measurements](source/measurements.json). diff --git a/src/objects/quaoar/inventory.json b/src/objects/quaoar/inventory.json index 4e5d3de4b63..1496005c870 100644 --- a/src/objects/quaoar/inventory.json +++ b/src/objects/quaoar/inventory.json @@ -4,14 +4,14 @@ { "location": "public", "filename": "quaoar-arrival.webp", - "bytes": 53174, - "sha256": "8110d5c94b3f4e88330795ff226a091a613ad9347dc3961a9e1a74965144f59e" + "bytes": 36632, + "sha256": "a8a4f69eb6af23e82573971284ce28287e0062444760ca6a4dfb7999b2c514c3" }, { "location": "public", "filename": "quaoar-billboard.webp", - "bytes": 5690, - "sha256": "72e2980dbc567f074da15b894e94c1ac4b6ad16a50e121b747f73aeb2ba83e3f" + "bytes": 5622, + "sha256": "c311bacab02d6914533ab6f3cc7259c171ff4c826dd3fc313016ca8b0a7afdf5" }, { "location": "public", @@ -46,14 +46,14 @@ { "location": "public", "filename": "quaoar-rings.webp", - "bytes": 18308, - "sha256": "b47a52147504514abc555ae763800106da5f4947753af3462d5593cd5928c2d5" + "bytes": 11066, + "sha256": "b141cdb8c60e6ceff65af7c0e0380d092fff5563082e5f0af2364012a33d5753" }, { "location": "prepared", "filename": "arrival-billboard.json", - "bytes": 308, - "sha256": "7ed9a9d1df54795323180aea8cd02aa0d783ed1d9ed0dfb7aba009d2d2d1ed35" + "bytes": 309, + "sha256": "e35ff3d5f679e811340ebf196cab2339f11e21c97f2e2736e9f07b5744a42841" }, { "location": "prepared", @@ -88,26 +88,26 @@ { "location": "prepared", "filename": "minimaps.json", - "bytes": 82, - "sha256": "d2c1add892ab2a7bb9eb7ecfbef8b3a837f8635234c8bf4b4fee2193a02adc18" + "bytes": 101, + "sha256": "33a55f589f67b8e6f4695895930a895111f1d7816b4ff4c953aedad1cf560513" }, { "location": "prepared", "filename": "minimaps/model.webp", - "bytes": 1260, - "sha256": "568c9019ec1d61eeac9d6bef82dfeca646f93fbd1b85afa22d90cb3c407079a4" + "bytes": 1110, + "sha256": "2a9588eb084c560c51e934f79a7eec84b346bb855605d5b5a2485ceec15ceabb" }, { "location": "prepared", "filename": "runtime.json", "bytes": 303294, - "sha256": "c3fe5f4eadd8e2e09ea03b54931136dcfb8360d0a711d0cec61b6ca60f401aa1" + "sha256": "1bc116325ba3ad987b43afcd7a32c8193cf8f35936a9af5b9d54c6aa842b9878" }, { "location": "prepared", "filename": "scene.json", - "bytes": 411746, - "sha256": "405c809288386bc67b00a1e41b6a8bc38fcb7a84f8ef3341ce11ee9df231d0ae" + "bytes": 411307, + "sha256": "39c6c70d802992f92522461e49508a55f081c5984c47372e04aec23b8b1f0d16" }, { "location": "prepared", diff --git a/src/objects/quaoar/source/preparation/terrestrial.json b/src/objects/quaoar/source/preparation/terrestrial.json index 55e252d6cbf..0c1a2dddcfe 100644 --- a/src/objects/quaoar/source/preparation/terrestrial.json +++ b/src/objects/quaoar/source/preparation/terrestrial.json @@ -84,18 +84,16 @@ "innerRadiusKm": 4019.0, "outerRadiusKm": 4095.3999999999996, "segments": 128, - "displayValue": 160, - "displayOpacity": 0.4, - "qualification": "Circular schematic at measured radius. Q1R uses the 76.4 km Gemini chord width; true width varies with azimuth and its dense arc is not reconstructed. Uniform gray and display alpha are illustrative, not measured reflectance or optical depth." + "qualification": "Circular band at the measured radius, 76.4 km wide as the tenuous component measured at one Gemini chord. Normal optical depth about 0.004 outside the dense arc (Pereira et al. 2023), so opacity 1 - exp(-0.004); the dense arc, up to 0.1-0.7, is not reconstructed. No ring colour is measured.", + "normalOpacity": 0.003992 }, { "id": "q2r", "innerRadiusKm": 2515, "outerRadiusKm": 2525, "segments": 128, - "displayValue": 160, - "displayOpacity": 0.4, - "qualification": "Circular schematic at radius 2520 km and typical width 10 km; uniform gray and display alpha are illustrative, not measured brightness or optical depth." + "qualification": "Circular band at radius 2520 km with the typical 10 km width and normal optical depth about 0.004 (Pereira et al. 2023), so opacity 1 - exp(-0.004). No ring colour is measured.", + "normalOpacity": 0.003992 } ] } diff --git a/src/objects/sun/inventory.json b/src/objects/sun/inventory.json index 7ec88c49811..cc03456a206 100644 --- a/src/objects/sun/inventory.json +++ b/src/objects/sun/inventory.json @@ -4630,14 +4630,14 @@ { "location": "prepared", "filename": "world-context-summary.json", - "bytes": 913256, - "sha256": "12126a7a786679a07156f95b7d6b7af697fed1cdf4d0ff67802d9b1c34610658" + "bytes": 913195, + "sha256": "7d0ffba6e6f616145bf7ce0619fb9a325482f3768db33a5d976d6ec235c14f11" }, { "location": "prepared", "filename": "world-context.json", - "bytes": 54125512, - "sha256": "fac730dc42e4b657a1e8ed70b55e0b3bd7e2f08cb8cbf417baa89b9b1cfc694b" + "bytes": 54125513, + "sha256": "b86c389a9344c3523ae0dcbc17cc4c2f8709aac1d789561aa5b5bba2d086f9fc" }, { "location": "prepared", diff --git a/src/objects/uranus/README.md b/src/objects/uranus/README.md index b4775722ad6..1f0b3e14910 100644 --- a/src/objects/uranus/README.md +++ b/src/objects/uranus/README.md @@ -16,8 +16,8 @@ observation datasets. Their palettes and percentile stretches are declared in Ring radii, widths, and normal optical depths come from the [PDS Rings Node Uranus table](https://pds-rings.seti.org/uranus/uranus_rings_table.html). -NASA's public Uranus facts supply the gray inner-ring, reddish Nu, and blue Mu -color interpretation. Physical facts are checked against +No ring colour is measured here, so every ring is the neutral gray of a body +without a measured colour. Physical facts are checked against [NASA Uranus facts](https://science.nasa.gov/uranus/facts/) and the JPL physical-parameter page. @@ -37,7 +37,7 @@ photometric phase coefficients in `source/photometry/phase.json`. The body is drawn on the shared sphere lane. Its orientation is solved from its pole and rotation at the scene epoch, so the face toward the camera is the one Uranus turns to it then. Each lighting frame puts back the limb darkening OPAL removed from the colour map, with the readme's own Minnaert coefficients: k 0.57 in F657N, 0.80 in F547M and 0.85 in F467M ([planet limbs](../../../docs/surface-preparation.md#planet-limbs-from-published-laws)). Red barely darkens toward the limb while green and blue do, so the limb turns grey-red as Hubble saw it. No floor, ambient term or terminator ramp remains. -The rings are drawn from `source/preparation/rings.json` as 16 wedges, each starting outside the planet so the planet hides their far side. The table gives the Epsilon ring's optical depth as "0.5 to 2.3"; the recipe's 1.4 is the midpoint, chosen for display. Extremely narrow rings receive a minimum-pixel width so they stay visible; their radii and ordering are not moved. The planet's shadow on the rings is not drawn: at the scene epoch it reaches 1.05 Uranus radii from the center, short of the innermost ring at 1.48. +The rings are drawn from `source/preparation/rings.json` as 16 wedges, each starting outside the planet so the planet hides their far side. Each ring's opacity is 1 − exp(−optical depth) from the table, with no gain. The table gives the Epsilon ring's optical depth as "0.5 to 2.3"; the recipe uses the midpoint, 1.4. Nine narrow rings and Epsilon show; Zeta (0.0045) is one display level, and Nu and Mu (under 10⁻⁵) are below one and do not show. Extremely narrow rings receive a minimum-pixel width so they stay visible; their radii and ordering are not moved. Until 2026-10-01 the rings had hand-set opacities and three colours made from the words gray, reddish and blue. The planet's shadow on the rings is not drawn: at the scene epoch it reaches 1.05 Uranus radii from the center, short of the innermost ring at 1.48. ## Hubble dates diff --git a/src/objects/uranus/inventory.json b/src/objects/uranus/inventory.json index d8928e48b45..535d50473a0 100644 --- a/src/objects/uranus/inventory.json +++ b/src/objects/uranus/inventory.json @@ -118,8 +118,8 @@ { "location": "public", "filename": "uranus-arrival.webp", - "bytes": 97656, - "sha256": "15e386981ac5c392957c1e077e2f03226585cfd5ebd3b6e48b22e9a48cd03a2f" + "bytes": 77406, + "sha256": "79ed8cdd3a134588463f5445c936781e27c04008d9ea630cc935154237845044" }, { "location": "public", @@ -130,8 +130,8 @@ { "location": "public", "filename": "uranus-billboard.webp", - "bytes": 8828, - "sha256": "be79e08824b9e9255e702a59748b51e0ccf2889da73b81056f4c70c023f32b79" + "bytes": 7612, + "sha256": "aaf66032aa37303996d7185a43ac5322b1afb28c2d712b97c9c87d93488bc47a" }, { "location": "public", @@ -412,8 +412,8 @@ { "location": "public", "filename": "uranus-rings-wedges@2x.webp", - "bytes": 114320, - "sha256": "2bb8f96a2dc9364c4d36629f7d8559d79b6d006908415bf472bbb555602a9a74" + "bytes": 52622, + "sha256": "10976c552d6a057307cc0e26db23b5cb54f2fd8d86c5cc427bf279febc3fb9e2" }, { "location": "public", @@ -610,14 +610,14 @@ { "location": "prepared", "filename": "assets.json", - "bytes": 79431, - "sha256": "d048dc7f4fbe9ebd3a895c5515b8c79d93a494468069773c44a3c2a74be9bd3e" + "bytes": 78743, + "sha256": "78faf6aa9db7fea7a8056c1719aaaf670b85deef3c5aa82c6cffd596ccc55b3a" }, { "location": "prepared", "filename": "authored-preparation.json", - "bytes": 893, - "sha256": "d9c27022ecc2008d96715a157df5d4f68e227e0231a3ff194a5a51b2767819f0" + "bytes": 831, + "sha256": "a644654c0b397edf23f9b6fcc6488d452bf890a9e54c758ebf0d7aeff9e3ab25" }, { "location": "prepared", @@ -736,14 +736,14 @@ { "location": "prepared", "filename": "runtime.json", - "bytes": 816737, - "sha256": "f364a6b47836935badd0aad7e27970268b8c395f30e06f633efe2975341717b2" + "bytes": 816769, + "sha256": "d3af1ce6e74e8e5c7d0def1eca5cd8d2c9ea29af2db0e4c1e89bb73dde0446f6" }, { "location": "prepared", "filename": "scene.json", - "bytes": 876006, - "sha256": "2fd7be8512a23ee5467e1c3d603299d5bfb2dca7959293a3c4cc13c49013f625" + "bytes": 879974, + "sha256": "69cfd8fd6eb76b5f93d155dd466b25a7925a2b6fdb7e88a5a1f4ea4b7978e7c5" }, { "location": "prepared", diff --git a/src/objects/uranus/investigations.json b/src/objects/uranus/investigations.json index 4c299f0d4b5..48812e36341 100644 --- a/src/objects/uranus/investigations.json +++ b/src/objects/uranus/investigations.json @@ -54,7 +54,7 @@ "id": "pds-rings-node-table", "subject": "PDS Rings Node Uranus ring table", "status": "included", - "finding": "Ring radii, widths and normal optical depths come from the PDS table, whose labels and measurements preparation verifies before baking one transparent ring texture and one planet-shadow texture; extremely narrow rings receive a recorded minimum-pixel presentation width while their radii and ordering stay put.", + "finding": "Ring radii, widths and normal optical depths come from the PDS table; each ring's opacity is 1 - exp(-optical depth) with no gain. Extremely narrow rings receive a recorded minimum-pixel presentation width while their radii and ordering are unchanged.", "evidence": [ "https://pds-rings.seti.org/uranus/uranus_rings_table.html" ] @@ -62,11 +62,12 @@ { "id": "nasa-ring-colour-interpretation", "subject": "NASA public Uranus facts ring colours", - "status": "included", - "finding": "NASA's public facts supply the documented gray inner-ring, reddish Nu and blue Mu colour interpretation used for the prepared rings.", + "status": "excluded", + "finding": "NASA's facts page describes the inner rings as gray, Nu as reddish and Mu as blue, in words; no ring colour is measured as a value, so the hex colours once made from those words were removed and every ring is the neutral gray of a body without a measured colour.", "evidence": [ "https://science.nasa.gov/uranus/facts/" - ] + ], + "revisitWhen": "A measured ring colour, as a spectrum or band ratios, is published." }, { "id": "psg-charts", diff --git a/src/objects/uranus/source/preparation/rings.json b/src/objects/uranus/source/preparation/rings.json index a2c20e6f2a0..e138176a7ee 100644 --- a/src/objects/uranus/source/preparation/rings.json +++ b/src/objects/uranus/source/preparation/rings.json @@ -35,12 +35,6 @@ "width": 3500, "minimumHalfWidthPixels": 0, "edgeGain": 2.5, - "opacity": 29.516097302997224, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Zeta", "radiusKm": 39600, @@ -49,7 +43,8 @@ "color": "gray", "sourceLabel": "Zeta", "widthQualification": "source-scaled-width" - } + }, + "opticalDepth": 0.0045 }, { "id": "6", @@ -58,12 +53,6 @@ "width": 1.53, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 110, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "6", "radiusKm": 41838, @@ -72,7 +61,8 @@ "color": "gray", "sourceLabel": "Six", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.3 }, { "id": "5", @@ -81,12 +71,6 @@ "width": 2.28, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 138, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "5", "radiusKm": 42234, @@ -95,7 +79,8 @@ "color": "gray", "sourceLabel": "Five", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.5 }, { "id": "4", @@ -104,12 +89,6 @@ "width": 2.33, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 110, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "4", "radiusKm": 42571, @@ -118,7 +97,8 @@ "color": "gray", "sourceLabel": "Four", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.3 }, { "id": "Alpha", @@ -127,12 +107,6 @@ "width": 8.46, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 124, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Alpha", "radiusKm": 44718, @@ -141,7 +115,8 @@ "color": "gray", "sourceLabel": "Alpha", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.4 }, { "id": "Beta", @@ -150,12 +125,6 @@ "width": 9.49, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 110, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Beta", "radiusKm": 45661, @@ -164,7 +133,8 @@ "color": "gray", "sourceLabel": "Beta", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.3 }, { "id": "Eta", @@ -173,12 +143,6 @@ "width": 1.6, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 124, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Eta", "radiusKm": 47176, @@ -187,7 +151,8 @@ "color": "gray", "sourceLabel": "Eta", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.4 }, { "id": "Gamma", @@ -196,12 +161,6 @@ "width": 2.15, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 110, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Gamma", "radiusKm": 47627, @@ -210,7 +169,8 @@ "color": "gray", "sourceLabel": "Gamma", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.3 }, { "id": "Delta", @@ -219,12 +179,6 @@ "width": 4.6, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 138, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Delta", "radiusKm": 48300, @@ -233,7 +187,8 @@ "color": "gray", "sourceLabel": "Delta", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.5 }, { "id": "Lambda", @@ -242,12 +197,6 @@ "width": 2.3, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 82, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Lambda", "radiusKm": 50024, @@ -256,7 +205,8 @@ "color": "gray", "sourceLabel": "Lambda", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 0.1 }, { "id": "Epsilon", @@ -265,12 +215,6 @@ "width": 58.1, "minimumHalfWidthPixels": 0.72, "edgeGain": 2.5, - "opacity": 208, - "color": [ - 125, - 137, - 140 - ], "source": { "name": "Epsilon", "radiusKm": 51149, @@ -279,7 +223,8 @@ "color": "gray", "sourceLabel": "Epsilon", "widthQualification": "source-center-radius-with-minimum-pixel-readability-width" - } + }, + "opticalDepth": 1.4 }, { "id": "Nu", @@ -288,12 +233,6 @@ "width": 3800, "minimumHalfWidthPixels": 0, "edgeGain": 2.5, - "opacity": 1.0412300418255322, - "color": [ - 141, - 91, - 86 - ], "source": { "name": "Nu", "radiusKm": 67300, @@ -302,7 +241,8 @@ "color": "red", "sourceLabel": "Nu", "widthQualification": "source-scaled-width" - } + }, + "opticalDepth": 5.6e-06 }, { "id": "Mu", @@ -311,12 +251,6 @@ "width": 17000, "minimumHalfWidthPixels": 0, "edgeGain": 2.5, - "opacity": 1.282809416865966, - "color": [ - 103, - 151, - 181 - ], "source": { "name": "Mu", "radiusKm": 97700, @@ -325,11 +259,12 @@ "color": "blue", "sourceLabel": "Mu", "widthQualification": "source-scaled-width" - } + }, + "opticalDepth": 8.5e-06 } ], "output": "uranus-rings{suffix}.webp", - "qualification": "PDS center radii and physical widths, with the accepted pixel readability floor for narrow rings.", + "qualification": "PDS centre radii, physical widths and normal optical depths; opacity is 1 - exp(-optical depth), with the pixel readability floor for narrow rings.", "wedges": { "count": 16 } From 5ac0490cabb018a06d851a5c846938887ca472fd Mon Sep 17 00:00:00 2001 From: alowpoly Date: Thu, 1 Oct 2026 17:01:40 -0300 Subject: [PATCH 3/4] chore: pin the regenerated world context --- src/objects/sun/inventory.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/objects/sun/inventory.json b/src/objects/sun/inventory.json index 9b8f5c79dde..e21d675f4a8 100644 --- a/src/objects/sun/inventory.json +++ b/src/objects/sun/inventory.json @@ -4630,14 +4630,14 @@ { "location": "prepared", "filename": "world-context-summary.json", - "bytes": 913395, - "sha256": "4916cb40a1ecb30bffb0e7755eead531ae6b1090f636f1c73cb9e693cf877ac0" + "bytes": 913174, + "sha256": "a380aca398df6914cf831fa73dc96d8a4e6df72b893b06734982ab61f3f3779d" }, { "location": "prepared", "filename": "world-context.json", - "bytes": 54126903, - "sha256": "2c5080c3cb168089e5dfc2fe577fb9580669839c166a2556c9aa10ebf5df1cc6" + "bytes": 54126104, + "sha256": "b2eca814bcaa0351920e0e274041a2865526ced42c1118d44c690aa63e43a653" }, { "location": "prepared", From 0e76ead106a56af4462bfa8811f71a24c41f3eb6 Mon Sep 17 00:00:00 2001 From: alowpoly Date: Thu, 1 Oct 2026 17:24:16 -0300 Subject: [PATCH 4/4] chore: pin the regenerated world context --- src/objects/sun/inventory.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/objects/sun/inventory.json b/src/objects/sun/inventory.json index 4c95799b7ed..eeec6c6f7fe 100644 --- a/src/objects/sun/inventory.json +++ b/src/objects/sun/inventory.json @@ -4636,14 +4636,14 @@ { "location": "prepared", "filename": "world-context-summary.json", - "bytes": 917105, - "sha256": "84ea21782e1d1e85cbbca9bee14f7843c62fdda88b878e69d4399c5ae678f386" + "bytes": 916884, + "sha256": "a32ea3509aab0971b4b053e530ffde6e7a7a48e910cceee15ba304db200c3772" }, { "location": "prepared", "filename": "world-context.json", - "bytes": 54334275, - "sha256": "78d1b7e70cdcf21328b33754acb4a128e39f9261ba433b2e1bb4b15a7ee6a5a8" + "bytes": 54333476, + "sha256": "01f8ddf6baf6a51fbd72635b6c3d9f7cc99e8b8d125325498ebcc1b99fcb7cb3" }, { "location": "prepared",