@johnmorrisdotca/uchusen-rockets 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -4
- package/NOTICE.md +22 -4
- package/README.md +15 -10
- package/dist/assets/hubble-hubble-aft-shroud.glb +0 -0
- package/dist/assets/hubble-hubble-aft-shroud.painted.svg +1 -0
- package/dist/assets/hubble-hubble-aft-shroud.svg +1 -0
- package/dist/assets/hubble-hubble-aft-shroud.thick.svg +1 -0
- package/dist/assets/hubble-hubble-antenna-far.glb +0 -0
- package/dist/assets/hubble-hubble-antenna-far.painted.svg +1 -0
- package/dist/assets/hubble-hubble-antenna-far.svg +1 -0
- package/dist/assets/hubble-hubble-antenna-far.thick.svg +1 -0
- package/dist/assets/hubble-hubble-antenna-near.glb +0 -0
- package/dist/assets/hubble-hubble-antenna-near.painted.svg +1 -0
- package/dist/assets/hubble-hubble-antenna-near.svg +1 -0
- package/dist/assets/hubble-hubble-antenna-near.thick.svg +1 -0
- package/dist/assets/hubble-hubble-apart.painted.svg +1 -0
- package/dist/assets/hubble-hubble-apart.svg +1 -0
- package/dist/assets/hubble-hubble-apart.thick.svg +1 -0
- package/dist/assets/hubble-hubble-aperture-door.glb +0 -0
- package/dist/assets/hubble-hubble-aperture-door.painted.svg +1 -0
- package/dist/assets/hubble-hubble-aperture-door.svg +1 -0
- package/dist/assets/hubble-hubble-aperture-door.thick.svg +1 -0
- package/dist/assets/hubble-hubble-array-left.glb +0 -0
- package/dist/assets/hubble-hubble-array-left.painted.svg +1 -0
- package/dist/assets/hubble-hubble-array-left.svg +1 -0
- package/dist/assets/hubble-hubble-array-left.thick.svg +1 -0
- package/dist/assets/hubble-hubble-array-right.glb +0 -0
- package/dist/assets/hubble-hubble-array-right.painted.svg +1 -0
- package/dist/assets/hubble-hubble-array-right.svg +1 -0
- package/dist/assets/hubble-hubble-array-right.thick.svg +1 -0
- package/dist/assets/hubble-hubble-equipment-section.glb +0 -0
- package/dist/assets/hubble-hubble-equipment-section.painted.svg +1 -0
- package/dist/assets/hubble-hubble-equipment-section.svg +1 -0
- package/dist/assets/hubble-hubble-equipment-section.thick.svg +1 -0
- package/dist/assets/hubble-hubble-forward-shell.glb +0 -0
- package/dist/assets/hubble-hubble-forward-shell.painted.svg +1 -0
- package/dist/assets/hubble-hubble-forward-shell.svg +1 -0
- package/dist/assets/hubble-hubble-forward-shell.thick.svg +1 -0
- package/dist/assets/hubble-hubble-light-shield.glb +0 -0
- package/dist/assets/hubble-hubble-light-shield.painted.svg +1 -0
- package/dist/assets/hubble-hubble-light-shield.svg +1 -0
- package/dist/assets/hubble-hubble-light-shield.thick.svg +1 -0
- package/dist/assets/hubble-hubble.glb +0 -0
- package/dist/assets/hubble-hubble.painted.svg +1 -1
- package/dist/assets/hubble-hubble.svg +1 -1
- package/dist/assets/hubble-hubble.thick.svg +1 -1
- package/dist/assets/iss-iss-airlock.glb +0 -0
- package/dist/assets/iss-iss-airlock.painted.svg +1 -0
- package/dist/assets/iss-iss-airlock.svg +1 -0
- package/dist/assets/iss-iss-airlock.thick.svg +1 -0
- package/dist/assets/iss-iss-apart.painted.svg +1 -0
- package/dist/assets/iss-iss-apart.svg +1 -0
- package/dist/assets/iss-iss-apart.thick.svg +1 -0
- package/dist/assets/iss-iss-arrays-p4.glb +0 -0
- package/dist/assets/iss-iss-arrays-p4.painted.svg +1 -0
- package/dist/assets/iss-iss-arrays-p4.svg +1 -0
- package/dist/assets/iss-iss-arrays-p4.thick.svg +1 -0
- package/dist/assets/iss-iss-arrays-p6.glb +0 -0
- package/dist/assets/iss-iss-arrays-p6.painted.svg +1 -0
- package/dist/assets/iss-iss-arrays-p6.svg +1 -0
- package/dist/assets/iss-iss-arrays-p6.thick.svg +1 -0
- package/dist/assets/iss-iss-arrays-s4.glb +0 -0
- package/dist/assets/iss-iss-arrays-s4.painted.svg +1 -0
- package/dist/assets/iss-iss-arrays-s4.svg +1 -0
- package/dist/assets/iss-iss-arrays-s4.thick.svg +1 -0
- package/dist/assets/iss-iss-arrays-s6.glb +0 -0
- package/dist/assets/iss-iss-arrays-s6.painted.svg +1 -0
- package/dist/assets/iss-iss-arrays-s6.svg +1 -0
- package/dist/assets/iss-iss-arrays-s6.thick.svg +1 -0
- package/dist/assets/iss-iss-columbus.glb +0 -0
- package/dist/assets/iss-iss-columbus.painted.svg +1 -0
- package/dist/assets/iss-iss-columbus.svg +1 -0
- package/dist/assets/iss-iss-columbus.thick.svg +1 -0
- package/dist/assets/iss-iss-destiny.glb +0 -0
- package/dist/assets/iss-iss-destiny.painted.svg +1 -0
- package/dist/assets/iss-iss-destiny.svg +1 -0
- package/dist/assets/iss-iss-destiny.thick.svg +1 -0
- package/dist/assets/iss-iss-harmony.glb +0 -0
- package/dist/assets/iss-iss-harmony.painted.svg +1 -0
- package/dist/assets/iss-iss-harmony.svg +1 -0
- package/dist/assets/iss-iss-harmony.thick.svg +1 -0
- package/dist/assets/iss-iss-kibo.glb +0 -0
- package/dist/assets/iss-iss-kibo.painted.svg +1 -0
- package/dist/assets/iss-iss-kibo.svg +1 -0
- package/dist/assets/iss-iss-kibo.thick.svg +1 -0
- package/dist/assets/iss-iss-radiators-port.glb +0 -0
- package/dist/assets/iss-iss-radiators-port.painted.svg +1 -0
- package/dist/assets/iss-iss-radiators-port.svg +1 -0
- package/dist/assets/iss-iss-radiators-port.thick.svg +1 -0
- package/dist/assets/iss-iss-radiators-starboard.glb +0 -0
- package/dist/assets/iss-iss-radiators-starboard.painted.svg +1 -0
- package/dist/assets/iss-iss-radiators-starboard.svg +1 -0
- package/dist/assets/iss-iss-radiators-starboard.thick.svg +1 -0
- package/dist/assets/iss-iss-soyuz-aft.glb +0 -0
- package/dist/assets/iss-iss-soyuz-aft.painted.svg +1 -0
- package/dist/assets/iss-iss-soyuz-aft.svg +1 -0
- package/dist/assets/iss-iss-soyuz-aft.thick.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zarya-nadir.glb +0 -0
- package/dist/assets/iss-iss-soyuz-zarya-nadir.painted.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zarya-nadir.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zarya-nadir.thick.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zvezda-nadir.glb +0 -0
- package/dist/assets/iss-iss-soyuz-zvezda-nadir.painted.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zvezda-nadir.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zvezda-nadir.thick.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zvezda-zenith.glb +0 -0
- package/dist/assets/iss-iss-soyuz-zvezda-zenith.painted.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zvezda-zenith.svg +1 -0
- package/dist/assets/iss-iss-soyuz-zvezda-zenith.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-p1.glb +0 -0
- package/dist/assets/iss-iss-truss-p1.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-p1.svg +1 -0
- package/dist/assets/iss-iss-truss-p1.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-p3-p4.glb +0 -0
- package/dist/assets/iss-iss-truss-p3-p4.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-p3-p4.svg +1 -0
- package/dist/assets/iss-iss-truss-p3-p4.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-p5.glb +0 -0
- package/dist/assets/iss-iss-truss-p5.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-p5.svg +1 -0
- package/dist/assets/iss-iss-truss-p5.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-p6.glb +0 -0
- package/dist/assets/iss-iss-truss-p6.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-p6.svg +1 -0
- package/dist/assets/iss-iss-truss-p6.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-s0.glb +0 -0
- package/dist/assets/iss-iss-truss-s0.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-s0.svg +1 -0
- package/dist/assets/iss-iss-truss-s0.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-s1.glb +0 -0
- package/dist/assets/iss-iss-truss-s1.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-s1.svg +1 -0
- package/dist/assets/iss-iss-truss-s1.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-s3-s4.glb +0 -0
- package/dist/assets/iss-iss-truss-s3-s4.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-s3-s4.svg +1 -0
- package/dist/assets/iss-iss-truss-s3-s4.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-s5.glb +0 -0
- package/dist/assets/iss-iss-truss-s5.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-s5.svg +1 -0
- package/dist/assets/iss-iss-truss-s5.thick.svg +1 -0
- package/dist/assets/iss-iss-truss-s6.glb +0 -0
- package/dist/assets/iss-iss-truss-s6.painted.svg +1 -0
- package/dist/assets/iss-iss-truss-s6.svg +1 -0
- package/dist/assets/iss-iss-truss-s6.thick.svg +1 -0
- package/dist/assets/iss-iss-unity.glb +0 -0
- package/dist/assets/iss-iss-unity.painted.svg +1 -0
- package/dist/assets/iss-iss-unity.svg +1 -0
- package/dist/assets/iss-iss-unity.thick.svg +1 -0
- package/dist/assets/iss-iss-zarya.glb +0 -0
- package/dist/assets/iss-iss-zarya.painted.svg +1 -0
- package/dist/assets/iss-iss-zarya.svg +1 -0
- package/dist/assets/iss-iss-zarya.thick.svg +1 -0
- package/dist/assets/iss-iss-zvezda.glb +0 -0
- package/dist/assets/iss-iss-zvezda.painted.svg +1 -0
- package/dist/assets/iss-iss-zvezda.svg +1 -0
- package/dist/assets/iss-iss-zvezda.thick.svg +1 -0
- package/dist/assets/iss-iss.glb +0 -0
- package/dist/assets/iss-iss.painted.svg +1 -1
- package/dist/assets/iss-iss.svg +1 -1
- package/dist/assets/iss-iss.thick.svg +1 -1
- package/dist/assets/jupiter-c-jupiter-c-apart.painted.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-apart.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-apart.thick.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-first-stage.glb +0 -0
- package/dist/assets/jupiter-c-jupiter-c-first-stage.painted.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-first-stage.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-first-stage.thick.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-fourth-stage.glb +0 -0
- package/dist/assets/jupiter-c-jupiter-c-fourth-stage.painted.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-fourth-stage.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-fourth-stage.thick.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-tail.glb +0 -0
- package/dist/assets/jupiter-c-jupiter-c-tail.painted.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-tail.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-tail.thick.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-tub.glb +0 -0
- package/dist/assets/jupiter-c-jupiter-c-tub.painted.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-tub.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c-tub.thick.svg +1 -0
- package/dist/assets/jupiter-c-jupiter-c.glb +0 -0
- package/dist/assets/jupiter-c-jupiter-c.painted.svg +1 -1
- package/dist/assets/jupiter-c-jupiter-c.svg +1 -1
- package/dist/assets/jupiter-c-jupiter-c.thick.svg +1 -1
- package/dist/assets/models/hubble-aft-shroud.glb +0 -0
- package/dist/assets/models/hubble-antenna-far.glb +0 -0
- package/dist/assets/models/hubble-antenna-near.glb +0 -0
- package/dist/assets/models/hubble-aperture-door.glb +0 -0
- package/dist/assets/models/hubble-array-left.glb +0 -0
- package/dist/assets/models/hubble-array-right.glb +0 -0
- package/dist/assets/models/hubble-equipment-section.glb +0 -0
- package/dist/assets/models/hubble-forward-shell.glb +0 -0
- package/dist/assets/models/hubble-light-shield.glb +0 -0
- package/dist/assets/models/iss-airlock.glb +0 -0
- package/dist/assets/models/iss-arrays-p4.glb +0 -0
- package/dist/assets/models/iss-arrays-p6.glb +0 -0
- package/dist/assets/models/iss-arrays-s4.glb +0 -0
- package/dist/assets/models/iss-arrays-s6.glb +0 -0
- package/dist/assets/models/iss-columbus.glb +0 -0
- package/dist/assets/models/iss-destiny.glb +0 -0
- package/dist/assets/models/iss-harmony.glb +0 -0
- package/dist/assets/models/iss-kibo.glb +0 -0
- package/dist/assets/models/iss-radiators-port.glb +0 -0
- package/dist/assets/models/iss-radiators-starboard.glb +0 -0
- package/dist/assets/models/iss-soyuz-aft.glb +0 -0
- package/dist/assets/models/iss-soyuz-zarya-nadir.glb +0 -0
- package/dist/assets/models/iss-soyuz-zvezda-nadir.glb +0 -0
- package/dist/assets/models/iss-soyuz-zvezda-zenith.glb +0 -0
- package/dist/assets/models/iss-truss-p1.glb +0 -0
- package/dist/assets/models/iss-truss-p3-p4.glb +0 -0
- package/dist/assets/models/iss-truss-p5.glb +0 -0
- package/dist/assets/models/iss-truss-p6.glb +0 -0
- package/dist/assets/models/iss-truss-s0.glb +0 -0
- package/dist/assets/models/iss-truss-s1.glb +0 -0
- package/dist/assets/models/iss-truss-s3-s4.glb +0 -0
- package/dist/assets/models/iss-truss-s5.glb +0 -0
- package/dist/assets/models/iss-truss-s6.glb +0 -0
- package/dist/assets/models/iss-unity.glb +0 -0
- package/dist/assets/models/iss-zarya.glb +0 -0
- package/dist/assets/models/iss-zvezda.glb +0 -0
- package/dist/assets/models/jupiter-c-first-stage.glb +0 -0
- package/dist/assets/models/jupiter-c-fourth-stage.glb +0 -0
- package/dist/assets/models/jupiter-c-tail.glb +0 -0
- package/dist/assets/models/jupiter-c-tub.glb +0 -0
- package/dist/assets/models/tiangong-hub.glb +0 -0
- package/dist/assets/models/tiangong-mengtian-arrays.glb +0 -0
- package/dist/assets/models/tiangong-mengtian.glb +0 -0
- package/dist/assets/models/tiangong-shenzhou-forward.glb +0 -0
- package/dist/assets/models/tiangong-shenzhou-nadir.glb +0 -0
- package/dist/assets/models/tiangong-tianhe-arrays.glb +0 -0
- package/dist/assets/models/tiangong-tianhe.glb +0 -0
- package/dist/assets/models/tiangong-tianzhou.glb +0 -0
- package/dist/assets/models/tiangong-wentian-arrays.glb +0 -0
- package/dist/assets/models/tiangong-wentian.glb +0 -0
- package/dist/assets/tiangong-tiangong-apart.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-apart.svg +1 -0
- package/dist/assets/tiangong-tiangong-apart.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-hub.glb +0 -0
- package/dist/assets/tiangong-tiangong-hub.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-hub.svg +1 -0
- package/dist/assets/tiangong-tiangong-hub.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-mengtian-arrays.glb +0 -0
- package/dist/assets/tiangong-tiangong-mengtian-arrays.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-mengtian-arrays.svg +1 -0
- package/dist/assets/tiangong-tiangong-mengtian-arrays.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-mengtian.glb +0 -0
- package/dist/assets/tiangong-tiangong-mengtian.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-mengtian.svg +1 -0
- package/dist/assets/tiangong-tiangong-mengtian.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-shenzhou-forward.glb +0 -0
- package/dist/assets/tiangong-tiangong-shenzhou-forward.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-shenzhou-forward.svg +1 -0
- package/dist/assets/tiangong-tiangong-shenzhou-forward.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-shenzhou-nadir.glb +0 -0
- package/dist/assets/tiangong-tiangong-shenzhou-nadir.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-shenzhou-nadir.svg +1 -0
- package/dist/assets/tiangong-tiangong-shenzhou-nadir.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianhe-arrays.glb +0 -0
- package/dist/assets/tiangong-tiangong-tianhe-arrays.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianhe-arrays.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianhe-arrays.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianhe.glb +0 -0
- package/dist/assets/tiangong-tiangong-tianhe.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianhe.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianhe.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianzhou.glb +0 -0
- package/dist/assets/tiangong-tiangong-tianzhou.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianzhou.svg +1 -0
- package/dist/assets/tiangong-tiangong-tianzhou.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-wentian-arrays.glb +0 -0
- package/dist/assets/tiangong-tiangong-wentian-arrays.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-wentian-arrays.svg +1 -0
- package/dist/assets/tiangong-tiangong-wentian-arrays.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong-wentian.glb +0 -0
- package/dist/assets/tiangong-tiangong-wentian.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong-wentian.svg +1 -0
- package/dist/assets/tiangong-tiangong-wentian.thick.svg +1 -0
- package/dist/assets/tiangong-tiangong.glb +0 -0
- package/dist/assets/tiangong-tiangong.painted.svg +1 -0
- package/dist/assets/tiangong-tiangong.svg +1 -0
- package/dist/assets/tiangong-tiangong.thick.svg +1 -0
- package/dist/buildbar.js +22 -5
- package/dist/data/credits.d.ts +18 -1
- package/dist/data/credits.js +20 -3
- package/dist/data/hubble.js +16 -6
- package/dist/data/iss.js +52 -5
- package/dist/data/jupiterc.js +11 -6
- package/dist/data/makers.d.ts +1 -0
- package/dist/data/makers.js +2 -1
- package/dist/data/sources.d.ts +160 -0
- package/dist/data/sources.js +20 -0
- package/dist/data/tiangong.d.ts +12 -0
- package/dist/data/tiangong.js +54 -0
- package/dist/element/orbitWorld.d.ts +5 -0
- package/dist/element/orbitWorld.js +46 -1
- package/dist/element/scene.d.ts +6 -0
- package/dist/element/scene.js +22 -2
- package/dist/element.js +11 -2
- package/dist/launches/data.d.ts +2 -0
- package/dist/launches/data.js +4 -0
- package/dist/launches/index.d.ts +318 -0
- package/dist/launches/index.js +249 -0
- package/dist/launches/links.d.ts +43 -0
- package/dist/launches/links.js +40 -0
- package/dist/launches/source.d.ts +20 -0
- package/dist/launches/source.js +22 -0
- package/dist/model/hubble.js +51 -17
- package/dist/model/iss.js +109 -23
- package/dist/model/jupiterc.js +29 -11
- package/dist/model/registry.js +4 -2
- package/dist/model/tiangong.d.ts +2 -0
- package/dist/model/tiangong.js +109 -0
- package/dist/parts.d.ts +1 -1
- package/dist/rockets.js +52 -3
- package/dist/thrusters.js +4 -4
- package/package.json +12 -2
- package/dist/assets/models/hubble-telescope.glb +0 -0
- package/dist/assets/models/iss-station.glb +0 -0
- package/dist/assets/models/jupiter-c-vehicle.glb +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.19.0] - 2026-11-11
|
|
6
|
+
|
|
7
|
+
- **A tap on the build bar's Pause is no longer lost in Safari** (MODULES-1066): the playing bar redrew the button's icon and word every tenth of a second, and WebKit sends no click when the node a press began on has been replaced before the finger lifts. The bar now leaves a button, a text or the stills alone when a redraw would not change them. A test holds a press across redraws.
|
|
8
|
+
- **The journey's Earth disc turns** (MODULES-1013): the painted Earth on the journey now turns once in about ten minutes, like the journey's other planets, with the Sun keeping its place so the lit side stays in view. It stays still under reduced motion, and draws nothing out of sight, on a hidden tab or once nobody has touched the page for a while. A test holds both.
|
|
9
|
+
- **Launch log follow-ups** (MODULES-1011): `scripts/make-launches.ts` takes the GCAT release as `--release` (GCAT's files give the day of the data but not the release) and stops without it, or without the `# Updated` line, so a re-pack cannot stamp an old release. The credit is a small file of its own, `LAUNCH_LOG_SOURCE`, also imported as `@johnmorrisdotca/uchusen-rockets/launches/source` without loading the data. The rows `launches()` returns are frozen, and so their types are `readonly`, which is type-level breaking for code that wrote to a `Launch` or a `LaunchOrbit`. The TSDoc and the guide, in both languages, say that 150000 km is GCAT's round figure for an escape trajectory (207 launches) and that a perigee can be negative (13 launches).
|
|
10
|
+
- **`pnpm models:nasa` is sturdier on a re-run** (MODULES-1015): the connected pieces are kept for each node that draws a mesh, so a mesh instanced by several nodes is no longer classed by its last copy; vertices weld within a tolerance, not by rounding, so a piece cannot split at a rounding edge; and a recipe part nothing falls in stops the run unless it is marked `optional: true`. The committed models are unchanged.
|
|
11
|
+
- **Older lines name no other site** (MODULES-1012): the README and CHANGELOG describe a source without naming the site; the credits are in NOTICE.md.
|
|
12
|
+
- **CI's browser jobs run in the Playwright image and need no apt mirror** (KAZOKU-UI-100). The runner's apt mirror stopped answering on 2026-11-11 from about 13:50 UTC, and every browser job failed in its setup before a test ran. The demo and usage jobs (`ci.yml`) now run in `mcr.microsoft.com/playwright:v1.64.0-noble`, the lockfile's Playwright version, which has the browsers and their system libraries. `.github/actions/playwright` (the family's, kazoku-ui's copy is canonical) checks the libraries with `ldd` first and runs apt only when one is missing, skips the browser cache in the image, works without `sudo`, and warns when a workflow's image and the lockfile name different Playwright versions.
|
|
13
|
+
- **Romaryū's docked Miyamoto and Ariake are built in full when you zoom in** (MODULES-496): on the fleet record the zoom buttons move the picture and leave the camera where it is, so the carrier's fine build, and with it the docked ships' full build, never came in, and the docked ships stayed plain grey blocks at any zoom. The carrier's shorter side on screen (150 pixels) now brings both in. The element says which it has in `data-docked`. At Fit the docked ships are still drawn simple, to keep the carrier's triangles down.
|
|
14
|
+
- **The swarm, beam and poster pages take the shared hands** (MODULES-644): each picture sits in a view stage with kazoku-ui's view bar, so drag, a two-finger pinch, the wheel, the keys and the zoom buttons work from 0.25× to 8×, and the wheel scrolls the page at Fit. The poster's own zoom slider is gone, the bar's readout replaces it. These are flat pictures, so none turns or rolls; the gesture and readout checks name that.
|
|
15
|
+
- **The Earth drawn inside the compare view turns, and so do the journey's planets** (MODULES-502): the Earth turns on its own axis with its cloud layer going round a little faster, and the Moon keeps its near side to it. A planet on the journey turns on its own axis too, a full turn in about ten minutes. Under reduced motion, and with the pace on Still, they stay still. Background planets already turned and filled the frame; a test now holds the Earth, a background and a journey planet.
|
|
16
|
+
- **A test holds the page bar on every page** (MODULES-503): the bar already links Rockets, Compare, Journey, Fleet, Yard, Builder, Docs and Embed with Help, and marks the open page with `aria-current="page"` in the pressed style, on one row at 1440 pixels. A test now opens each of those pages and checks the links, that only its own is marked and looks pressed, one row, and that each page has a title of its own. Drones, Poster, Swarm and Beam are not in the bar: eight links and Help already fill the row beside the page frame's line, and a longer bar pushes that line onto a second row and the choices off the first screen.
|
|
17
|
+
- **The launch log: every orbital launch attempt since 1957, as the `launches` entry** (MODULES-1001). 7,425 launches from GCAT, the General Catalog of Artificial Space Objects by Jonathan C. McDowell (CC BY 4.0, credited in NOTICE.md and as `LAUNCH_LOG_SOURCE`): each with its UTC date and time, vehicle, variant and family, site and pad, organization and country, flight name, payload names, outcome (success, partial with GCAT's score, failure) and the orbit where GCAT gives one. `launchByTag`, `findLaunches`, `launchesByVehicle`, `launchesBySite`, `launchesByYear`, `launchesByOutcome`, `countLaunches` and `launchTotals` look them up and count them, and `LAUNCH_VEHICLE_LINKS` links 24 vehicles (Falcon 9, Saturn V, Soyuz and the rest) to this package's rocket ids, with a test. It is one data file of about 1.1 MB (about 240 KB compressed) that only the `launches` entry loads, and `scripts/make-launches.ts` packs it again from a newer GCAT release. A guide in English and Japanese says what was decided.
|
|
18
|
+
- **Removed, breaking** (see [the upgrading guide](docs/guides/upgrading.md)): the single parts `iss-iss-station`, `hubble-hubble-telescope` and `jupiter-c-jupiter-c-vehicle` and their slots `station`, `telescope` and `vehicle` (Grasshopper keeps its `vehicle`), with the files `iss-station.glb`, `hubble-telescope.glb` and `jupiter-c-vehicle.glb`. A `parts: { station: … }`, `parts: { telescope: … }` or `parts: { vehicle: … }` in a description of those three now fails the fit check with `unknown-slot`: name one of the new slots instead (`zvezda`, `light-shield`, `tub` and so on; `variantOf(rocket)?.slots` lists them), and a part put in one must be of the slot's kind. `show="station"` and the like fall back to `together`. `PartKind` gains `tail`, `fourth-stage`, `array` and `antenna`. Hubble's painted credit is Cybertron B-127's, not NASA's.
|
|
19
|
+
- **The ISS is parts in slots, like the rockets** (MODULES-971): 27 parts, each cut from NASA's model by where it stands and painted by its own file: the five modules of the run stacked from Zvezda's aft, four visiting craft, the airlock, Columbus, Kibo, nine truss segments, four pairs of solar arrays and the two sets of radiators. `rocket="iss" variant="iss"` still draws the whole station as the default build; each part shows alone, and the builders can use and swap the stacked ones. Each module's drawn length is the model's at the sourced 109 m, with its article's figure beside it. `scripts/reduce-nasa.ts` now cuts a model by its connected pieces as well as by position, and takes a list of recipe ids.
|
|
20
|
+
- **Tiangong 天宮, China's station, as parts** (MODULES-965): `rocket="tiangong"`, drawn from published dimensions (Tianhe 16.6 m by 4.2 m, Wentian and Mengtian 17.9 m by 4.2 m, Shenzhou 9.25 m, Tianzhou 10.6 m, the laboratories' wings over 55 m tip to tip) as ten parts in slots: Tianhe, its docking node, the two laboratories, three pairs of solar wings, Shenzhou at the forward and nadir ports and Tianzhou at the aft. Painted by w29572227's model (CC BY 4.0, credited wherever it shows and in NOTICE.md), its flags and agency mark left out, cut into the same parts and reduced from 4.4 million triangles to about a megabyte. A new maker group, China.
|
|
21
|
+
- **Hubble as parts** (MODULES-972): aft shroud, equipment section, forward shell, light shield, aperture door, the two solar arrays and the two high-gain antennas, each a part in a slot. Painted by Cybertron B-127's model (CC BY 4.0, credited wherever it shows and in NOTICE.md) in place of NASA's, its wordmark and logos painted out of its picture, its logo decal left out, its door turned shut, cut into the nine parts and reduced to about a megabyte.
|
|
22
|
+
- **Jupiter-C as stages** (MODULES-973): the tail unit with its fins, the Redstone first stage, the spinning tub with stages 2 and 3, and the fourth stage with Explorer 1, each a slot, cut from NASA's model by its own named objects; the whole rocket stays the default build.
|
|
23
|
+
|
|
24
|
+
## [0.18.0] - 2026-11-11
|
|
25
|
+
|
|
26
|
+
- **Every demo page says what it is, links home and shows its credits** (MODULES-868, first screen Part B): the demo takes kazoku-ui 0.32 and its page frame. Under the page links each page has kazoku-ui's header line ("Uchusen Rockets 宇宙船: journey mode", in Japanese on the Japanese page, with Home), the title and description follow the reader's language, and the credit line with "Data and credits" sits above the footer, which keeps its one-line note. The bare embed frame has the small credit line in its corner. The family's check-standard is the 2026-11-10b copy, which holds every page to the frame.
|
|
27
|
+
|
|
28
|
+
- **CI installs Playwright's browsers in bounded, cached steps** (KAZOKU-UI-100). A slow package mirror held `playwright install --with-deps` for the whole job limit on 2026-11-09 and 2026-11-10, so no test ran and the failure read as a test failure. `.github/actions/playwright` (the family's, kazoku-ui's copy is canonical) caches the browsers by Playwright's version, then installs the system libraries in a step of their own: two tries, each cut off after 7 minutes, and a failure that says it is the runner's package mirror and that nothing was run. Free: GitHub-hosted Linux runners and the cache.
|
|
29
|
+
- **`pnpm docs:check` reads a guide's front matter as strict YAML** (KAZOKU-UI-102). A title or description holding a colon and a space without quotes passed the old line reader while GitHub showed "Error in user YAML" above the page. `scripts/docs-site.mjs` (the family's, version `2026-11-10-strict-front-matter`) now fails with the file, the line and a plain sentence on an unquoted colon, an unquoted " #", a value that starts with a YAML character (`[ { & * ! | > % @` or a backtick), a tab, an indented continuation, a key twice and an unclosed quote.
|
|
30
|
+
|
|
5
31
|
## [0.17.0] - 2026-11-10
|
|
6
32
|
|
|
7
33
|
- **On a phone the speed and the countdown no longer cover the zoom controls** (MODULES-886): on the journey's phone layout the speed, the preheat bar and the countdown sit above the view controls and the folded ship picker, the stage is a little taller to make room, and the painted craft is centred clear of the speed. A test holds every readout, the zoom buttons and the picker apart at 390 and 360 pixels, at rest, preheating, counting down and in flight.
|
|
@@ -183,14 +209,14 @@ The SPX fleet's first ships: ISV Kaminari SPX-207, ISV Miyamoto SPX-452 and her
|
|
|
183
209
|
- Fixed: a look chosen while the 3D view starts, or while a rocket loads, is no longer lost. `start()` and the rocket change read the look before the load and applied it after, so the attribute said the new look and the view drew the old one; both now read it again after the load (and the parts shown with it). Two browser tests change the look in the turn the canvas appears and again with a variant change, and fail without the fix.
|
|
184
210
|
- Fixed: `data-painted` no longer stays at `loading` after the painted look is left. Leaving it now sets `data-painted` to an empty value and sends no `uchusen-painted` event for it. A browser test holds a model back, chooses painted, then line.
|
|
185
211
|
- Where the browser can build shaders in parallel (the `KHR_parallel_shader_compile` extension, which real graphics cards have), the first draw of a look waits for three.js's `compileAsync`, so the page keeps answering while a look is first built and the last picture stays up meanwhile (a model that comes in later builds its own the same way, with a four-second limit so a browser that never says it is ready still draws; `data-painted` says `model` or `code` only once they are built). Software drawing, which every test here uses, has no such extension, so nothing waits there and it behaves as before. Measured in software on a Mac with and without the wait forced on: choosing the painted look held the page for tasks of 206 and 427 ms before, and 204 alone or 192 and 412 ms after (which of the two depends on whether the model has arrived before the first draw), so software shows no gain, as expected; the gain on a real graphics card is not measured, because no test may draw on one.
|
|
186
|
-
- Falcon 9 v1.0 with Dragon 1 (`v1.0-dragon`), the vehicle that flew COTS Demo Flight 1: the v1.0's two stages with Dragon 1 on top and no fairing (47.8 m with Dragon 1 as the Falcon 9 v1.0 article's infobox states it; the parts are drawn to more and the variant says so). A flight for it, and a flight for Dragon 1 on its own, from SpaceX's COTS Demo Flight 1 press kit (its mission timeline, page 7) and
|
|
212
|
+
- Falcon 9 v1.0 with Dragon 1 (`v1.0-dragon`), the vehicle that flew COTS Demo Flight 1: the v1.0's two stages with Dragon 1 on top and no fairing (47.8 m with Dragon 1 as the Falcon 9 v1.0 article's infobox states it; the parts are drawn to more and the variant says so). A flight for it, and a flight for Dragon 1 on its own, from SpaceX's COTS Demo Flight 1 press kit (its mission timeline, page 7) and a launch-coverage timeline, both written before the launch, so the plan: liftoff, max q at 1:16, MECO at 2:58, separation at 3:02, second stage ignition at 3:09, cutoff at 9:00 in a "186-mile-high orbit", Dragon's separation at 9:35 (the trunk stays with the second stage, as the timeline says), then Dragon's deorbit burn at 2:32 (hours and minutes), entry at 2:58, drogue parachutes at "45,000 feet", main parachutes at "about 10,000 feet" and the water landing at 3:19. The two engines that shut down early have no time on the page, so that step has none. Dragon's thrusters and parachutes are not drawn.
|
|
187
213
|
- The flight bar takes `words`: `flight.words = { play: "再生" }` says its own words (Play, Pause, Back, Next, the slider's name, the note that there is no timeline and the lines of its source note) in another language; what is left out stays English, and a phase's name and what happens in it are the data's.
|
|
188
214
|
- Demo: the whole page is in Japanese when asked (`?lang=ja` or the language picker), not only its header and footer: the choices, the facts table's labels, the embed and compare sections, the builder, the parts, what is planned and the sources, with the flight bar's words. The words are `demo/words.js`, English and Japanese side by side, and a test holds that each key is in both with the same blanks. Notes, quotations and flight steps that come from a source stay as the source gave them, in English, and the page says so. The Japanese awaits a native reader. A browser test opens the page in Japanese, checks it and switches back by the picker.
|
|
189
215
|
- Demo: the test that ignored the touch icon's published address is gone, now that the family's icon link is relative.
|
|
190
216
|
|
|
191
217
|
## [0.5.0] - 2026-11-03
|
|
192
218
|
|
|
193
|
-
- Flights for the other variants, each from a page read for it and with a blank where the page gives none: Starship flight test 1 (Block 1 as it first flew: the stages never separated, and the stack was destroyed at T+4:01), Falcon 9 v1.1 with CASSIOPE (
|
|
219
|
+
- Flights for the other variants, each from a page read for it and with a blank where the page gives none: Starship flight test 1 (Block 1 as it first flew: the stages never separated, and the stack was destroyed at T+4:01), Falcon 9 v1.1 with CASSIOPE (a live launch-coverage page), Falcon 9 Full Thrust with ABS-2A and Eutelsat 117 West B (a launch-coverage timeline; an encyclopedia article on ABS-2A names the version) and Grasshopper's highest hop (744 m in 79 s, an encyclopedia's table of its hops). Not here: Falcon 9 v1.0 (no page read gives a v1.0 flight with a fairing), Starship Block 4 (not flown) and Dragon on its own (no timeline read); they stay without a flight.
|
|
194
220
|
- Altitude and speed in the flights, only where a page gives one, in its words: flight test 1's 39 km and 29 km, 146 km on flight test 7, 195 km on flight test 12 and its booster's 1,450 km/h at the water, CASSIOPE's "more than 20 miles" and "310 kilometers", "Mach 1" on the Full Thrust flight, CRS-16's planned orbit and Grasshopper's 744 m. The flight bar shows a speed beside the altitude.
|
|
195
221
|
- Grid fins, legs and flaps turn in a flight. Each is a group of pieces with a name, a pivot and an axis (`Piece.move`), a node of its own in the `.glb` (`booster~grid-fins~0`, with its axis), turned in the 3D view by setting one rotation and in the drawing by `moved` (`svg({ moves })`); `PartPose.moves` carries the angles a phase wants and `frameAt` mixes them. Falcon 9's grid fins are stowed for the ascent and open for the entry and its legs open before the touchdown, Super Heavy's fins steer after the boostback, the Ship's flaps turn at its entry and flip (the pages say each; how far is a picture). A painted model that is one shell does not turn: nothing is cut to fake a move. No new draw loop: a turn is set inside the flight's one frame, and the number of nodes, buffers and programs is the same each time (the freeze test holds it).
|
|
196
222
|
|
|
@@ -216,7 +242,7 @@ The SPX fleet's first ships: ISV Kaminari SPX-207, ISV Miyamoto SPX-452 and her
|
|
|
216
242
|
|
|
217
243
|
## [0.3.0] - 2026-11-02
|
|
218
244
|
|
|
219
|
-
- Falcon 1, and the Falcon 1e that was announced and never flew, drawn by this package's code. Sizes from SpaceX's 2008 user's guide, with
|
|
245
|
+
- Falcon 1, and the Falcon 1e that was announced and never flew, drawn by this package's code. Sizes from SpaceX's 2008 user's guide, with an encyclopedia's other figures kept beside them. A part placed rather than stacked can now stand above the ground (`strapOn.y`).
|
|
220
246
|
- Cargo Dragon 2, on the sizes its article gives for both versions of Dragon 2, with no windows. Falcon 9 Block 4 stays unlisted: the Full Thrust article was read too and gives it no sizes of its own. Full Thrust keeps that article's 71 m beside its 69.8 m.
|
|
221
247
|
- Saturn V with the Apollo spacecraft, drawn by this package's code from sourced lengths and widths: 7 parts, 4,658 triangles and 143 KB, well under the largest code-made mesh (Starship Block 4, 17,220 triangles and 508 KB).
|
|
222
248
|
- The Space Shuttle, stacked with its external tank and two boosters, drawn by this package's code from each part's own article: 5,554 triangles and 156 KB.
|
|
@@ -279,7 +305,7 @@ The SPX fleet's first ships: ISV Kaminari SPX-207, ISV Miyamoto SPX-452 and her
|
|
|
279
305
|
## [0.1.1] - 2026-11-01
|
|
280
306
|
|
|
281
307
|
- The painted Falcon 9 Block 5 second stage shows this package's own engine nozzle when it stands apart or alone, as the model has none, and not when it is nested in the first stage.
|
|
282
|
-
- The Falcon 9's drawn vacuum nozzle is 3.3 m across at the exit, the figure
|
|
308
|
+
- The Falcon 9's drawn vacuum nozzle is 3.3 m across at the exit, the figure an encyclopedia's Merlin infobox gives, in the line looks too (the v1.0 keeps its narrower bell).
|
|
283
309
|
|
|
284
310
|
## [0.1.0] - 2026-10-31
|
|
285
311
|
|
package/NOTICE.md
CHANGED
|
@@ -8,7 +8,9 @@ This package holds work under three licences, and NASA's models, which are publi
|
|
|
8
8
|
|
|
9
9
|
**The map data is under the Open Database License, not MIT.** The coordinates, outlines and map heights of Starbase, in `src/data/starbase.ts` and `src/model/starbase.ts`, and the tower's 13 m footprint, in `src/data/tower.ts` and `src/model/tower.ts`, and those figures wherever they are built into `dist/`, are © OpenStreetMap contributors, https://www.openstreetmap.org/copyright, under ODbL 1.0 (see [LICENSES/ODbL-1.0.txt](LICENSES/ODbL-1.0.txt)). Each such figure names this source in the data (`SOURCES.openstreetmap`). The plain shapes standing on those places, and the rest of the package, stay MIT.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
**The launch log is data under the Creative Commons Attribution 4.0 licence, not MIT.** The launches in `src/launches/data.ts`, and those facts wherever they are built into `dist/`, are from GCAT, the General Catalog of Artificial Space Objects by Jonathan C. McDowell, https://planet4589.org/space/gcat, CC BY 4.0 (see [LICENSES/CC-BY-4.0.txt](LICENSES/CC-BY-4.0.txt) and the section "Launch log" below). Whatever shows them must credit it as that section says. The code that reads them, in `src/launches/index.ts`, stays MIT.
|
|
12
|
+
|
|
13
|
+
No mesh or drawing carries a logo, wordmark or flag. Those were removed from the models below (the Tiangong model's flags and agency mark, and the Hubble model's wordmark and logos, among them), and no photograph is shipped or traced: photographs were looked at for where parts sit.
|
|
12
14
|
|
|
13
15
|
All trademarks belong to their owners, and this project is not affiliated with or endorsed by SpaceX, NASA or any other maker or agency named here. "SpaceX", "Starship", "Super Heavy", "Raptor", "Falcon", "Dragon" and the names of other makers' rockets appear only as plain descriptive words.
|
|
14
16
|
|
|
@@ -25,11 +27,15 @@ All trademarks belong to their owners, and this project is not affiliated with o
|
|
|
25
27
|
| `dragon-dragon-1-capsule.glb`, `dragon-dragon-1-trunk.glb` | SpaceX Cargo Dragon | [ProgressTH](https://sketchfab.com/ProgressTH) | https://sketchfab.com/3d-models/spacex-cargo-dragon-0ca8951e47b343dc8a41e23b3e9c55e5 | Merged from 414 meshes; the logo decal and the hidden pressure vessel removed; rescaled to sourced sizes; stood upright; separated into capsule and trunk; materials merged and renamed. |
|
|
26
28
|
| `falcon-heavy-falcon-heavy-centre.glb`, `-side-left.glb`, `-side-right.glb` | SpaceX Falcon Heavy(Low Poly) | [Antonio_Adams](https://sketchfab.com/AAdams3112) | https://sketchfab.com/3d-models/spacex-falcon-heavylow-poly-0dc068a462e34258b3872085a7f592c8 | The wordmark and logos painted out of its colour, roughness and normal maps, which were also resized; rescaled to sourced sizes; separated into its centre core and two side boosters by its own connected pieces. |
|
|
27
29
|
| `grasshopper-grasshopper-vehicle.glb` | SpaceX Grasshopper | [Echo_3](https://sketchfab.com/Echo_3) | https://sketchfab.com/3d-models/spacex-grasshopper-35c07a68cdb246c59bb425610b934bf8 | The wordmark and logo removed with the texture that carried them; rescaled to the sourced height; reduced from 55,455 triangles; materials merged and renamed. |
|
|
30
|
+
| `hubble-aft-shroud.glb`, `-equipment-section.glb`, `-forward-shell.glb`, `-light-shield.glb`, `-aperture-door.glb`, `-array-left.glb`, `-array-right.glb`, `-antenna-near.glb`, `-antenna-far.glb` | Hubble space telescope | [Cybertron B-127](https://sketchfab.com/robo-reboot) | https://sketchfab.com/3d-models/hubble-space-telescope-e22236fab9634c959c0525c7ab9c83d7 | The agency's wordmark and the agencies' logos painted out of its picture `hubble_tex_01` (the banner on the light shield, a lettered plate and a line of lettering on a panel, each painted over from clean foil and panel of the same picture); its `NASA_logo` decal and its `transparent` cube left out whole; rescaled to the sourced length and width (two scales, 10% apart); its aperture door turned shut about its hinge; separated into its nine parts by where each connected piece stands; its materials made into one picture a part. Its licence was read from the `license.txt` of its download on 2026-11-11. |
|
|
31
|
+
| `tiangong-tianhe.glb`, `-hub.glb`, `-wentian.glb`, `-mengtian.glb`, `-tianhe-arrays.glb`, `-wentian-arrays.glb`, `-mengtian-arrays.glb`, `-shenzhou-forward.glb`, `-shenzhou-nadir.glb`, `-tianzhou.glb` | tianGong | [w29572227](https://sketchfab.com/w29572227) | https://sketchfab.com/3d-models/tiangong-aca22b1dd6d242c1ae7b88de2f483b77 | The three `flag` materials, decals of the flag and the agency's mark, left out whole with the one picture that carried them (`flag.001_baseColor`), so no picture of the model's is shipped; reduced from 4,425,408 triangles; stood on end; each module and craft rescaled to its own sourced length and width (the laboratories stretched a fifth along their own axis, the file drawing them short); separated into its ten parts by where each stands; its materials made into one picture a part. Its licence was read from the `license.txt` of its download on 2026-11-11. |
|
|
28
32
|
|
|
29
33
|
| `space-shuttle-discovery-orbiter.glb` | Orbiter, Space Shuttle, OV-103, Discovery | Smithsonian Institution, National Air and Space Museum; support generously provided by Meredith Siegfried Madden and Dr. Peter Madden | https://3d.si.edu/object/3d/orbiter-space-shuttle-ov-103-discovery:d8c636ce-4ebc-11ea-b77f-2e728ce88125 | **Under CC0 1.0, not CC BY** (https://creativecommons.org/publicdomain/zero/1.0/). The agency mark, the flags, the country's name and the orbiter's name painted out of its picture; reduced from 150,000 triangles; its pictures shrunk; stood upright and scaled to the sourced length; materials renamed. This package's owner confirmed the CC0 licence from the Smithsonian's record, https://www.si.edu/object/nasm_A20120325000, on 2026-11-02. Its marks, flags and names stay painted out. |
|
|
30
34
|
|
|
31
35
|
Licence for all but the last: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). The credit line the second model's author asks for: This work is based on "Spacex Starship Ship 24 & Booster 7 V4" (https://sketchfab.com/3d-models/spacex-starship-ship-24-booster-7-v4-97875d14b63e4b9ca9ed425ef4253306) by clarence365 (https://sketchfab.com/clarence365) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/).
|
|
32
36
|
|
|
37
|
+
The credit lines the Hubble and Tiangong models' authors ask for, in their `license.txt`: This work is based on "Hubble space telescope" (https://sketchfab.com/3d-models/hubble-space-telescope-e22236fab9634c959c0525c7ab9c83d7) by Cybertron B-127 (https://sketchfab.com/robo-reboot) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/). This work is based on "tianGong" (https://sketchfab.com/3d-models/tiangong-aca22b1dd6d242c1ae7b88de2f483b77) by w29572227 (https://sketchfab.com/w29572227) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/).
|
|
38
|
+
|
|
33
39
|
These models also informed the proportions of this package's own line drawings of the same vehicles: those measurements were taken after each was scaled to the sourced sizes. No model stands in for another version. A rocket's own parts are credited through `check(description).credits`, generated from which part came from where.
|
|
34
40
|
|
|
35
41
|
## NASA's models
|
|
@@ -48,9 +54,8 @@ The dataset addresses named below are the record of what each model is. Their do
|
|
|
48
54
|
| `apollo-soyuz-csm.glb`, `apollo-soyuz-docking-module.glb`, `apollo-soyuz-soyuz.glb` | Apollo Soyuz | https://data.nasa.gov/dataset/nasa-3d-models-apollo-soyuz | The flags and the countries' names painted out of its pictures; reduced from 32,996 triangles to 29,314; rescaled to the sourced lengths and widths; stood on end; separated into its three craft; its materials made into one picture. |
|
|
49
55
|
| `gemini-adapter.glb`, `gemini-capsule.glb` | Gemini | https://data.nasa.gov/dataset/nasa-3d-models-gemini | The flag and the country's name painted out of its picture; reduced from 38,840 triangles to 27,007; rescaled to the sourced length; separated into adapter and capsule; its materials made into one picture. |
|
|
50
56
|
| `mercury-capsule.glb` | Friendship 7 | https://data.nasa.gov/dataset/nasa-3d-models-friendship-7 | Reduced from 164,622 triangles to 40,000; rescaled to the sourced length and width; its materials, which NASA's copy leaves all one grey, given plain colours judged from photographs. It carried no mark to remove. |
|
|
51
|
-
| `jupiter-c-
|
|
52
|
-
| `iss-
|
|
53
|
-
| `hubble-telescope.glb` | Hubble Space Telescope | https://data.nasa.gov/dataset/nasa-3d-models-hubble-space-telescope | A lettered plate painted out of its picture; its 7,672 triangles kept; rescaled to the sourced length; its materials made into one picture. |
|
|
57
|
+
| `jupiter-c-tail.glb`, `jupiter-c-first-stage.glb`, `jupiter-c-tub.glb`, `jupiter-c-fourth-stage.glb` | Jupiter-C | https://data.nasa.gov/dataset/nasa-3d-models-jupiter-c | The lettering removed with the two pictures that carried it, which are plain white here; its 8,933 triangles kept; rescaled to the sourced height; separated into its tail unit, Redstone body, spinning tub and top stage by its own named objects; its materials made into one picture a part. |
|
|
58
|
+
| `iss-zvezda.glb`, `iss-zarya.glb`, `iss-unity.glb`, `iss-destiny.glb`, `iss-harmony.glb`, `iss-soyuz-aft.glb`, `iss-soyuz-zvezda-nadir.glb`, `iss-soyuz-zvezda-zenith.glb`, `iss-soyuz-zarya-nadir.glb`, `iss-airlock.glb`, `iss-columbus.glb`, `iss-kibo.glb`, `iss-truss-s0.glb`, `-s1`, `-p1`, `-s3-s4`, `-p3-p4`, `-s5`, `-p5`, `-s6`, `-p6`, `iss-arrays-s4.glb`, `-p4`, `-s6`, `-p6`, `iss-radiators-starboard.glb`, `iss-radiators-port.glb` | ISS | https://data.nasa.gov/dataset/nasa-3d-models-iss | Reduced from 174,440 triangles; a ball of stray pieces far above it left out; rescaled to the sourced length; separated into its 27 parts (five modules of the run, four visiting craft, the airlock, Columbus, Kibo, nine truss segments, four pairs of arrays and two sets of radiators) by where each stands; its materials, which NASA's copy leaves all one grey, given plain colours judged from photographs; one picture a part. It carried no mark to remove. |
|
|
54
59
|
| `fleet-drone-repair-near.glb`, `fleet-drone-repair-far.glb` | Cluster II | https://science.nasa.gov/3d-resources/cluster-ii/ | The core drum of the SPX repair drone. Only the drum, its lid and the instruments on it kept, the booms left out; turned over so its gold foil faces down; squeezed to a third of its height and a third of its size across; its materials made into one picture with this package's own. No mark was on it. |
|
|
55
60
|
| `fleet-drone-repair-near.glb`, `fleet-drone-repair-far.glb` | InSight Cruise and Lander, arm deployed | https://science.nasa.gov/3d-resources/insight-cruise-lander/ | The drone's gripper, two arm links, wrist camera and landing legs. Only the arm's links, its five-claw grapple, its camera and a leg kept; each moved and scaled to the drone; the grapple's cable left out; its materials made into one picture with this package's own. The lettering and flag plates were left out. |
|
|
56
61
|
| `fleet-drone-repair-near.glb`, `fleet-drone-repair-far.glb` | Curiosity Rover (Detailed) | https://science.nasa.gov/3d-resources/curiosity-rover-detailed/ | The weld arm's two links and tool turret, from NASA's printable parts (STL, no textures, Parts.zip of that page); painted by this package; moved and scaled to the drone. No mark was on it. |
|
|
@@ -68,6 +73,17 @@ The fleet's hull markings are lettering made from the outlines of open-licence f
|
|
|
68
73
|
- **Goldman Bold**, Copyright 2018 The Goldman Project Authors (https://github.com/magictype/goldman), SIL Open Font License 1.1 ([LICENSES/OFL-Goldman.txt](LICENSES/OFL-Goldman.txt)). Offered as a lettering concept, used as drawn.
|
|
69
74
|
- **M PLUS 1p Bold**, Copyright 2016 The M+ Project Authors (https://github.com/google/fonts/tree/main/ofl/mplus1p), SIL Open Font License 1.1, https://openfontlicense.org. Used for the fourteen kanji and katakana of the ships' names and the class.
|
|
70
75
|
|
|
76
|
+
## Launch log (CC BY 4.0)
|
|
77
|
+
|
|
78
|
+
The `launches` entry holds a log of every orbital launch attempt since 1957 (7,425 of them, up to 2026-11-08), packed into one data file, `src/launches/data.ts`, by `scripts/make-launches.ts`.
|
|
79
|
+
|
|
80
|
+
- **Source:** GCAT, the General Catalog of Artificial Space Objects, by Jonathan C. McDowell, https://planet4589.org/space/gcat. The launch list (https://planet4589.org/space/gcat/tsv/launch/launch.tsv), the orbital launch log (https://planet4589.org/space/gcat/tsv/derived/launchlog.tsv, for the payload names) and the vehicle, launch-site and organization tables (https://planet4589.org/space/gcat/tsv/tables/). Release 1.8.9 of 2026-11-06, data updated 2026-11-09, read on 2026-11-11.
|
|
81
|
+
- **Licence, as GCAT's page says it (https://planet4589.org/space/gcat/, read 2026-11-11):** "GCAT is released under the Creative Commons CC-BY licence. You are free to use the data in GCAT as long as you include a citation to it." and, under COPYRIGHT NOTICE, "(c) 2020-2026 Jonathan McDowell. Licence: CC-BY-4.0 Creative Commons/Attribution. This data may be freely reproduced as long as you cite it." The licence text is [LICENSES/CC-BY-4.0.txt](LICENSES/CC-BY-4.0.txt) and https://creativecommons.org/licenses/by/4.0/.
|
|
82
|
+
- **The credit to print wherever the log is shown (GCAT's own short citation):** Data from GCAT (J. McDowell, planet4589.org/space/gcat)
|
|
83
|
+
- **The full citation GCAT gives:** McDowell, Jonathan C., 2020. General Catalog of Artificial Space Objects, Release 1.8.9, https://planet4589.org/space/gcat. It is also `LAUNCH_LOG_SOURCE` in the entry.
|
|
84
|
+
- **What was changed:** a launch is kept when GCAT's launch code says orbital (O) or deep space from Earth (D) and success or failure (S, F); pad explosions and pad aborts, and the near-orbital tests and the suborbital flights, are left out. Each launch keeps its date and time, vehicle, variant and family, site and pad, organization and country, flight name, the first eight payload names with the count of all of them, the outcome (a fractional GCAT score is `partial`), and the orbit where GCAT gives one. Two site names are respelled (Baykonur as Baikonur, Vostochniy as Vostochny). Nothing is estimated to fill a gap: a perigee or an inclination that GCAT does not give is absent.
|
|
85
|
+
- **Not affiliated:** this package and its owner are not affiliated with or endorsed by Jonathan McDowell. The vehicle names and organization names appear only as plain descriptive words.
|
|
86
|
+
|
|
71
87
|
## Facts
|
|
72
88
|
|
|
73
89
|
Sizes are plain facts, each with its source in `src/data/sources.ts` and on the demo page. A figure is blank where no source gives one. Where sources disagree, the data keeps the one chosen and names the others.
|
|
@@ -84,6 +100,8 @@ Sizes are plain facts, each with its source in `src/data/sources.ts` and on the
|
|
|
84
100
|
| Wikipedia: Space Launch System, Orion (spacecraft), European Service Module (CC BY-SA 4.0, read 2026-11-02) | Its sizes. Facts only: no text is copied |
|
|
85
101
|
| Wikipedia: New Glenn, Rocket Lab Electron (CC BY-SA 4.0, read 2026-11-02) | Their sizes. Facts only: no text is copied |
|
|
86
102
|
| Wikipedia: Soyuz-2 (CC BY-SA 4.0, read 2026-11-02); Vulcan Centaur and Ariane 6 for the planned list | Their sizes and first flights. Facts only: no text is copied |
|
|
103
|
+
| Wikipedia: Tiangong space station, Tianhe core module, Wentian module, Mengtian, Shenzhou (spacecraft), Tianzhou (spacecraft) (CC BY-SA 4.0, read 2026-11-11) | The station's length, width, mass, crew and orbit, each module's and craft's length, width and launch date, and the wings' spans and areas. Facts only: no text is copied |
|
|
104
|
+
| Wikipedia: Zarya, Unity, Zvezda, Destiny, Harmony, Columbus, Kibo, Quest Joint Airlock, Poisk, Rassvet, Tranquility, Cupola and Leonardo (ISS modules), and Integrated Truss Structure (CC BY-SA 4.0, read 2026-11-11) | Each module's length, width and launch date, the truss segments' lengths and the solar array wings' size. Facts only: no text is copied |
|
|
87
105
|
| Wikipedia: Autonomous spaceport drone ship, Landing Zones 1 and 2, Vandenberg Space Launch Complex 4 (CC BY-SA 4.0, read 2026-11-02) | Deck and pad sizes and first dates. Facts only: no text is copied, and the marks on the real decks and pads are not drawn |
|
|
88
106
|
| Federal Aviation Administration, Final Programmatic Environmental Assessment for Starship/Super Heavy at Boca Chica, June 2022, and Wikipedia: SpaceX Starbase (CC BY-SA 4.0, read 2026-11-02) | The tower's height and lightning rod, its nine sections, and first dates. Facts only |
|
|
89
107
|
| © OpenStreetMap contributors, https://www.openstreetmap.org/copyright (ODbL 1.0), read 2026-11-02 through its Overpass API | Starbase's named places and outlines: two towers, tank farm, Megabunker, two Mega Bays, Starfactory, the Sanchez site, the sign, the village and City Hall, and the map's height tags, with the highway and coast near them. A handful of places, not a copy of the map |
|
package/README.md
CHANGED
|
@@ -75,7 +75,7 @@ That is all a page needs with a bundler. The drawing shows at once; when the ele
|
|
|
75
75
|
|
|
76
76
|
## Features
|
|
77
77
|
|
|
78
|
-
- Twenty-
|
|
78
|
+
- Twenty-four kinds of thing, from Starship to the Hubble Space Telescope and the two space stations, each in every variant a source documents, with its own sizes; the stations, the telescope and Jupiter-C are parts in slots, one file a part.
|
|
79
79
|
- Three looks (`line`, `thick`, `painted`), five views, together, apart and each part alone, for every one of them.
|
|
80
80
|
- A drawing made by code, and a 3D view that takes over without a jump. With no WebGL, under Save-Data or on any failure, the drawing stays.
|
|
81
81
|
- Lit engines at full thrust in the colour of what they burn, and flights played phase by phase from published timelines, with grid fins, legs and flaps that turn.
|
|
@@ -139,8 +139,8 @@ embedCode({ rocket: "starship", variant: "v3", look: "line" }, "element").includ
|
|
|
139
139
|
|
|
140
140
|
| Attribute | Values |
|
|
141
141
|
| --- | --- |
|
|
142
|
-
| `rocket` | `starship`, `falcon-9`, `falcon-heavy`, `dragon`, `grasshopper`, `falcon-1`, `saturn-v`, `space-shuttle`, `sls`, `new-glenn`, `electron`, `soyuz`, `droneship`, `landing-zone`, `launch-tower`, `starbase`, `lunar-module`, `apollo-soyuz`, `gemini`, `mercury`, `jupiter-c`, `iss`, `hubble` |
|
|
143
|
-
| `variant` | Starship: `v1-flight1`, `v1`, `v2`, `v3`, `v4`, `2019`. Falcon 9: `v1.0`, `v1.0-dragon`, `v1.1`, `ft`, `block-5`, `block-5-dragon-2`. Dragon: `dragon-1`, `dragon-2`, `cargo-dragon-2`, `crew-dragon-inside`. Falcon 1: `falcon-1`, `falcon-1e`. Saturn V: `saturn-v`. Space Shuttle: `stack`, `discovery`. Space Launch System: `block-1`. New Glenn: `7x2`. Electron: `electron`. Soyuz: `soyuz-2`. Drone ships: `ocisly`, `jrti`, `asog`. Landing zones: `lz-1`, `lz-4`. Launch tower: `tower`, `stack`, `catch`. Starbase: `launch-site`, `build-site`, `city`. Apollo lunar module: `lunar-module`. Apollo and Soyuz: `apollo-soyuz`. Gemini: `gemini`. Mercury: `friendship-7`. Jupiter-C: `jupiter-c`. International Space Station: `iss`. Hubble Space Telescope: `hubble` |
|
|
142
|
+
| `rocket` | `starship`, `falcon-9`, `falcon-heavy`, `dragon`, `grasshopper`, `falcon-1`, `saturn-v`, `space-shuttle`, `sls`, `new-glenn`, `electron`, `soyuz`, `droneship`, `landing-zone`, `launch-tower`, `starbase`, `lunar-module`, `apollo-soyuz`, `gemini`, `mercury`, `jupiter-c`, `iss`, `tiangong`, `hubble` |
|
|
143
|
+
| `variant` | Starship: `v1-flight1`, `v1`, `v2`, `v3`, `v4`, `2019`. Falcon 9: `v1.0`, `v1.0-dragon`, `v1.1`, `ft`, `block-5`, `block-5-dragon-2`. Dragon: `dragon-1`, `dragon-2`, `cargo-dragon-2`, `crew-dragon-inside`. Falcon 1: `falcon-1`, `falcon-1e`. Saturn V: `saturn-v`. Space Shuttle: `stack`, `discovery`. Space Launch System: `block-1`. New Glenn: `7x2`. Electron: `electron`. Soyuz: `soyuz-2`. Drone ships: `ocisly`, `jrti`, `asog`. Landing zones: `lz-1`, `lz-4`. Launch tower: `tower`, `stack`, `catch`. Starbase: `launch-site`, `build-site`, `city`. Apollo lunar module: `lunar-module`. Apollo and Soyuz: `apollo-soyuz`. Gemini: `gemini`. Mercury: `friendship-7`. Jupiter-C: `jupiter-c`. International Space Station: `iss`. Tiangong: `tiangong`. Hubble Space Telescope: `hubble` |
|
|
144
144
|
| `show` | `together`, `apart`, or a part: `booster`, `ship`, `first-stage`, `second-stage`, `fairing`, `trunk`, `capsule`, `centre`, `side-left`, `side-right`, and each rocket's own: `descent`, `ascent`, `csm`, `docking-module`, `soyuz`, `adapter`, `station`, `telescope` and the rest |
|
|
145
145
|
| `look` | `line`, `thick`, `painted` |
|
|
146
146
|
| `view` | `three-quarter`, `front`, `back`, `side`, `below` |
|
|
@@ -153,7 +153,7 @@ Changing `look` keeps the angle. Changing `show` is an animated move, and a cut
|
|
|
153
153
|
|
|
154
154
|
## The rockets
|
|
155
155
|
|
|
156
|
-
Starship; Falcon 9 in v1.0 (with a fairing, or with Dragon 1 as it flew), v1.1, Full Thrust and Block 5, with a fairing or with Dragon 2; Falcon Heavy; Dragon 1, Dragon 2 and Cargo Dragon 2, and Crew Dragon cut open to see inside; Grasshopper, the test vehicle; and Falcon 1, with the Falcon 1e that was announced and never flew. From other makers, to compare at one scale, each drawn by this package's code from its published sizes: Saturn V; the Space Shuttle, stacked with its tank and boosters, each part alone too, and Discovery, a real scan; the Space Launch System, Block 1 with Orion; New Glenn 7×2; Electron; and Soyuz-2. And where a booster lands: drone ships and landing zones. The Starbase integration tower too, with its mount and arms, a Block 3 stacked on it, or catching its booster. And Starbase, as a scene from the map: `launch-site`, `build-site` and `city`. The Apollo lunar module, painted by NASA's model. Apollo docked to Soyuz, painted by NASA's model, stood on end. The Gemini spacecraft, painted by NASA's model. The Mercury spacecraft, as Friendship 7, painted by NASA's model. Jupiter-C, painted by NASA's model. The International Space Station, painted by NASA's model, of the station as it was when that was made. And the Hubble Space Telescope, painted by
|
|
156
|
+
Starship; Falcon 9 in v1.0 (with a fairing, or with Dragon 1 as it flew), v1.1, Full Thrust and Block 5, with a fairing or with Dragon 2; Falcon Heavy; Dragon 1, Dragon 2 and Cargo Dragon 2, and Crew Dragon cut open to see inside; Grasshopper, the test vehicle; and Falcon 1, with the Falcon 1e that was announced and never flew. From other makers, to compare at one scale, each drawn by this package's code from its published sizes: Saturn V; the Space Shuttle, stacked with its tank and boosters, each part alone too, and Discovery, a real scan; the Space Launch System, Block 1 with Orion; New Glenn 7×2; Electron; and Soyuz-2. And where a booster lands: drone ships and landing zones. The Starbase integration tower too, with its mount and arms, a Block 3 stacked on it, or catching its booster. And Starbase, as a scene from the map: `launch-site`, `build-site` and `city`. The Apollo lunar module, painted by NASA's model. Apollo docked to Soyuz, painted by NASA's model, stood on end. The Gemini spacecraft, painted by NASA's model. The Mercury spacecraft, as Friendship 7, painted by NASA's model. Jupiter-C, painted by NASA's model, as its four stages. The International Space Station, painted by NASA's model, of the station as it was when that was made, as its modules, truss segments, arrays, radiators and visiting craft, each a part in a slot. Tiangong 天宮, China's station, drawn from published dimensions and painted by w29572227's model: Tianhe with its docking node, Wentian and Mengtian, their solar wings, and Shenzhou and Tianzhou in visiting slots. And the Hubble Space Telescope, painted by Cybertron B-127's model, as its aft shroud, equipment section, forward shell, light shield, aperture door, arrays and antennas. <!-- more rockets -->
|
|
157
157
|
|
|
158
158
|
```html
|
|
159
159
|
<uchusen-rocket rocket="falcon-9" variant="block-5" show="apart" look="painted"></uchusen-rocket>
|
|
@@ -207,7 +207,7 @@ import { SOURCES, variantOf } from "@johnmorrisdotca/uchusen-rockets";
|
|
|
207
207
|
const v3 = variantOf("starship", "v3");
|
|
208
208
|
v3.facts.height.value; // 124.4
|
|
209
209
|
v3.facts.parts.booster.value; // 72.3
|
|
210
|
-
SOURCES[v3.facts.parts.booster.source].publisher; //
|
|
210
|
+
SOURCES[v3.facts.parts.booster.source].publisher; // the name of whoever published that figure
|
|
211
211
|
v3.facts.parts.booster.others.some((other) => other.value === 81); // true
|
|
212
212
|
```
|
|
213
213
|
|
|
@@ -260,6 +260,7 @@ rocket.svg({ look: "thick", view: "below", show: "booster" }).startsWith("<svg")
|
|
|
260
260
|
| `.../element` | `<uchusen-rocket>`, `<uchusen-lineup>` and `<uchusen-flight>`: load `three` only when a 3D view is wanted, and a painted model only when the painted look is | `three` for 3D |
|
|
261
261
|
| `.../react` | A thin `<UchusenRocket>` wrapper | `react` |
|
|
262
262
|
| `.../assets/*` | Ready files: `starship-v3.glb`, `starship-v3.svg`, `starship-v3-booster.thick.svg`, `parts/raptor-vacuum.glb`, `models/starship-v3-ship.glb` | Nothing |
|
|
263
|
+
| `.../launches` | The launch log: 7,425 orbital launch attempts since 1957 (`launches`, `launchByTag`, `findLaunches`, `countLaunches`, `launchTotals`), each linked to this package's rocket where it is one (`LAUNCH_VEHICLE_LINKS`), in one data file of about 1.1 MB that only this entry loads. Credit GCAT, as [NOTICE.md](NOTICE.md) says | Nothing |
|
|
263
264
|
|
|
264
265
|
## To scale
|
|
265
266
|
|
|
@@ -288,6 +289,8 @@ check({ rocket: "starship", variant: "v3" }).credits[0].licence; // "CC BY 4.0"
|
|
|
288
289
|
```
|
|
289
290
|
**Starbase's coordinates and outlines, its map heights and the tower's 13 m footprint are © OpenStreetMap contributors, under ODbL 1.0, not MIT** (https://www.openstreetmap.org/copyright).
|
|
290
291
|
|
|
292
|
+
**The launch log (`.../launches`) is data from GCAT, the General Catalog of Artificial Space Objects, by Jonathan C. McDowell, under CC BY 4.0, not MIT. Whatever shows it must credit it: Data from GCAT (J. McDowell, planet4589.org/space/gcat).** [NOTICE.md](NOTICE.md) has the licence, the release and what was changed.
|
|
293
|
+
|
|
291
294
|
| Painted | Title | Creator | Source | Changed |
|
|
292
295
|
| --- | --- | --- | --- | --- |
|
|
293
296
|
| Block 3 | SpaceX Starship Block 3 | [Clarence365](https://sketchfab.com/clarence365) | [Sketchfab](https://sketchfab.com/3d-models/spacex-starship-block-3-6f6c6f88a3eb4b4d822fdca66733fbb2) | Reduced, logos and serial number removed, rescaled to sourced sizes, parts separated |
|
|
@@ -299,6 +302,8 @@ check({ rocket: "starship", variant: "v3" }).credits[0].licence; // "CC BY 4.0"
|
|
|
299
302
|
| Dragon 1 | SpaceX Cargo Dragon | [ProgressTH](https://sketchfab.com/ProgressTH) | [Sketchfab](https://sketchfab.com/3d-models/spacex-cargo-dragon-0ca8951e47b343dc8a41e23b3e9c55e5) | Merged, logo and hidden pressure vessel removed, rescaled to sourced sizes, parts separated |
|
|
300
303
|
| Falcon Heavy | SpaceX Falcon Heavy(Low Poly) | [Antonio_Adams](https://sketchfab.com/AAdams3112) | [Sketchfab](https://sketchfab.com/3d-models/spacex-falcon-heavylow-poly-0dc068a462e34258b3872085a7f592c8) | Wordmark and logos painted out, rescaled to sourced sizes, side boosters separated |
|
|
301
304
|
| Grasshopper | SpaceX Grasshopper | [Echo_3](https://sketchfab.com/Echo_3) | [Sketchfab](https://sketchfab.com/3d-models/spacex-grasshopper-35c07a68cdb246c59bb425610b934bf8) | Wordmark and logo removed, rescaled to the sourced height, reduced |
|
|
305
|
+
| Hubble Space Telescope | Hubble space telescope | [Cybertron B-127](https://sketchfab.com/robo-reboot) | [Sketchfab](https://sketchfab.com/3d-models/hubble-space-telescope-e22236fab9634c959c0525c7ab9c83d7) | Wordmark and logos painted out, a logo decal left out, rescaled to the sourced length and width, its door shut, its nine parts separated |
|
|
306
|
+
| Tiangong | tianGong | [w29572227](https://sketchfab.com/w29572227) | [Sketchfab](https://sketchfab.com/3d-models/tiangong-aca22b1dd6d242c1ae7b88de2f483b77) | Flags and mark left out, reduced, each module rescaled to its sourced size, its ten parts separated |
|
|
302
307
|
|
|
303
308
|
| Discovery | Orbiter, Space Shuttle, OV-103, Discovery | [Smithsonian Institution, National Air and Space Museum](https://3d.si.edu/) | [Smithsonian 3D](https://3d.si.edu/object/3d/orbiter-space-shuttle-ov-103-discovery:d8c636ce-4ebc-11ea-b77f-2e728ce88125) | Marks painted out, reduced, stood upright, rescaled to the sourced length. Under CC0 |
|
|
304
309
|
|
|
@@ -307,9 +312,8 @@ check({ rocket: "starship", variant: "v3" }).credits[0].licence; // "CC BY 4.0"
|
|
|
307
312
|
| Apollo and Soyuz, docked | Apollo Soyuz | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-apollo-soyuz) | Flags and names painted out, reduced, rescaled to the sourced sizes, stood on end, its craft separated. Public domain |
|
|
308
313
|
| Gemini | Gemini | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-gemini) | Flag and name painted out, reduced, rescaled to the sourced length, its parts separated. Public domain |
|
|
309
314
|
| Mercury, Friendship 7 | Friendship 7 | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-friendship-7) | Reduced, rescaled to the sourced sizes, its colours judged from photographs. Public domain |
|
|
310
|
-
| Jupiter-C | Jupiter-C | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-jupiter-c) | Lettering removed, rescaled to the sourced height. Public domain |
|
|
311
|
-
| International Space Station | ISS | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-iss) | Reduced, stray pieces left out, rescaled to the sourced length, its colours judged from photographs. Public domain |
|
|
312
|
-
| Hubble Space Telescope | Hubble Space Telescope | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-hubble-space-telescope) | A lettered plate painted out, rescaled to the sourced length. Public domain |
|
|
315
|
+
| Jupiter-C | Jupiter-C | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-jupiter-c) | Lettering removed, rescaled to the sourced height, its four stages separated. Public domain |
|
|
316
|
+
| International Space Station | ISS | [NASA](https://science.nasa.gov/3d-resources/) | [data.nasa.gov](https://data.nasa.gov/dataset/nasa-3d-models-iss) | Reduced, stray pieces left out, rescaled to the sourced length, its colours judged from photographs, its 27 parts separated. Public domain |
|
|
313
317
|
<!-- more NASA models -->
|
|
314
318
|
|
|
315
319
|
All but Discovery and NASA's are under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). NASA is named as the source of its models, as its guidelines ask, with no suggestion that it endorses this package, and no NASA logo, insignia, flag or lettering is shipped: [NOTICE.md](NOTICE.md) says what that rests on. Starship Blocks 1, 2 and 4 and the older Falcon 9s are painted by this package's own code: no model is stretched to stand in for another version.
|
|
@@ -371,7 +375,7 @@ Anything from outside is treated as text: an attribute that is not in its list f
|
|
|
371
375
|
|
|
372
376
|
## NASA's models
|
|
373
377
|
|
|
374
|
-
The Apollo lunar module, Apollo docked to Soyuz, Gemini, Mercury, Jupiter-C, the Space Shuttle
|
|
378
|
+
The Apollo lunar module, Apollo docked to Soyuz, Gemini, Mercury, Jupiter-C, the Space Shuttle and the International Space Station are painted by NASA's own public-domain models, each with its marks removed and its sizes set from a source. The Hubble Space Telescope and Tiangong are painted by Sketchfab models under CC BY 4.0, credited above.
|
|
375
379
|
|
|
376
380
|
<p align="center">
|
|
377
381
|
<img alt="The Apollo lunar module painted from NASA's model." src="https://raw.githubusercontent.com/johnmorrisdotca/uchusen-rockets/main/docs/images/lunar-module.jpg" width="300">
|
|
@@ -415,6 +419,7 @@ Each guide has a Japanese twin in [docs/guides/ja](docs/guides/ja).
|
|
|
415
419
|
| [Architecture](docs/guides/architecture.md) | How the layers fit |
|
|
416
420
|
| [Troubleshooting](docs/guides/troubleshooting.md) | Why the 3D view or the model is missing |
|
|
417
421
|
| [Upgrading](docs/guides/upgrading.md) | What to look for between versions |
|
|
422
|
+
| [The launch log](docs/guides/launch-log.md) | Every orbital launch since 1957: lookups, counts, links to the rockets, the GCAT credit |
|
|
418
423
|
|
|
419
424
|
## Limits
|
|
420
425
|
|
|
@@ -437,7 +442,7 @@ variantOf("starship", "2019").facts.diameter.value; // null
|
|
|
437
442
|
|
|
438
443
|
## How to cite
|
|
439
444
|
|
|
440
|
-
> Morris, J. (2026). *Uchusen Rockets* (version 0.
|
|
445
|
+
> Morris, J. (2026). *Uchusen Rockets* (version 0.19.0) [Computer software]. https://github.com/johnmorrisdotca/uchusen-rockets
|
|
441
446
|
|
|
442
447
|
GitHub's "Cite this repository" button reads [CITATION.cff](CITATION.cff) and gives BibTeX and APA. Cite the version you used (`npm ls @johnmorrisdotca/uchusen-rockets`), and credit the people behind the models and the numbers: [NOTICE.md](NOTICE.md) says who made each one and under what terms.
|
|
443
448
|
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#7f858c"/><stop offset=".55" stop-color="#e6e9ec"/><stop offset="1" stop-color="#8d9399"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#b9bab5"/><stop offset=".55" stop-color="#f4f4ef"/><stop offset="1" stop-color="#c2c3be"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0b0c0e"/><stop offset=".55" stop-color="#26282c"/><stop offset="1" stop-color="#0b0c0e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#5a5f66"/><stop offset=".55" stop-color="#a9afb6"/><stop offset="1" stop-color="#5a5f66"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#111316"/><stop offset=".55" stop-color="#2a2d31"/><stop offset="1" stop-color="#111316"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#141518"/><stop offset=".55" stop-color="#3c3f44"/><stop offset="1" stop-color="#141518"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#6e3a1b"/><stop offset=".55" stop-color="#c8743a"/><stop offset="1" stop-color="#6e3a1b"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#3a3d42" stroke-width=".35" opacity=".5"/></pattern></defs><path d="M87.6 455.4L88.9 449L94.6 442.8L104.4 437L117.8 431.8L134.3 427.2L153.4 423.4L174.5 420.5L197.2 418.4L220.8 417.2L244.8 416.9L268.7 417.5L292 419.1L314.2 421.5L334.5 424.8L352.7 429L368 433.8L380 439.2L388.2 445.2L392.2 451.5L391.6 458L386.1 464.5L375.9 470.8L360.8 476.6L341.4 481.6L318.1 485.8L291.8 488.8L263.4 490.6L234.1 491L205 490L177.4 487.7L152.2 484.2L130.4 479.7L112.6 474.3L99.5 468.3L91.1 461.9Z" fill="url(#dark)"/><path d="M83.3 187.6L84.6 185.7L90.6 183.9L100.7 182.2L114.5 180.7L131.5 179.4L151.1 178.3L172.8 177.4L196.1 176.8L220.3 176.5L244.9 176.4L269.5 176.6L293.4 177L316.1 177.7L337 178.7L355.7 179.9L371.4 181.3L383.8 182.9L392.3 184.6L396.5 186.5L392.2 451.5L391.6 458L386.1 464.5L375.9 470.8L360.8 476.6L341.4 481.6L318.1 485.8L291.8 488.8L263.4 490.6L234.1 491L205 490L177.4 487.7L152.2 484.2L130.4 479.7L112.6 474.3L99.5 468.3L91.1 461.9L87.6 455.4Z" fill="url(#hull)" stroke="#30343a" stroke-width="0.6"/><path d="M152.2 482.7L199.4 488.1L251.8 489.3L302.6 486.2L345.6 479.2L375.9 469.3L390.9 457.9M93.8 463.1L115.8 474L152.2 482.7M150.6 312.6L198.6 315.8L252 316.5L303.8 314.7L347.5 310.5L378.3 304.8L393.5 298.1M91.3 301.1L113.6 307.5L150.6 312.6M149.5 197.6L198.1 199.3L252.1 199.6L304.6 198.7L348.8 196.6L379.9 193.7L395.2 190.3M89.6 191.8L112.1 195L149.5 197.6" fill="none" stroke="#30343a" stroke-width="0.5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#8fa1b8" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M87.6 455.4L88.9 449L94.6 442.8L104.4 437L117.8 431.8L134.3 427.2L153.4 423.4L174.5 420.5L197.2 418.4L220.8 417.2L244.8 416.9L268.7 417.5L292 419.1L314.2 421.5L334.5 424.8L352.7 429L368 433.8L380 439.2L388.2 445.2L392.2 451.5L391.6 458L386.1 464.5L375.9 470.8L360.8 476.6L341.4 481.6L318.1 485.8L291.8 488.8L263.4 490.6L234.1 491L205 490L177.4 487.7L152.2 484.2L130.4 479.7L112.6 474.3L99.5 468.3L91.1 461.9Z" fill="url(#dark)"/><path d="M83.3 187.6L84.6 185.7L90.6 183.9L100.7 182.2L114.5 180.7L131.5 179.4L151.1 178.3L172.8 177.4L196.1 176.8L220.3 176.5L244.9 176.4L269.5 176.6L293.4 177L316.1 177.7L337 178.7L355.7 179.9L371.4 181.3L383.8 182.9L392.3 184.6L396.5 186.5L392.2 451.5L391.6 458L386.1 464.5L375.9 470.8L360.8 476.6L341.4 481.6L318.1 485.8L291.8 488.8L263.4 490.6L234.1 491L205 490L177.4 487.7L152.2 484.2L130.4 479.7L112.6 474.3L99.5 468.3L91.1 461.9L87.6 455.4Z" fill="url(#hull)" stroke="#8fa1b8" stroke-width="1.2"/><path d="M152.2 482.7L199.4 488.1L251.8 489.3L302.6 486.2L345.6 479.2L375.9 469.3L390.9 457.9M93.8 463.1L115.8 474L152.2 482.7M150.6 312.6L198.6 315.8L252 316.5L303.8 314.7L347.5 310.5L378.3 304.8L393.5 298.1M91.3 301.1L113.6 307.5L150.6 312.6M149.5 197.6L198.1 199.3L252.1 199.6L304.6 198.7L348.8 196.6L379.9 193.7L395.2 190.3M89.6 191.8L112.1 195L149.5 197.6" fill="none" stroke="#8fa1b8" stroke-width="0.8"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#b4c2d4" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M87.6 455.4L88.9 449L94.6 442.8L104.4 437L117.8 431.8L134.3 427.2L153.4 423.4L174.5 420.5L197.2 418.4L220.8 417.2L244.8 416.9L268.7 417.5L292 419.1L314.2 421.5L334.5 424.8L352.7 429L368 433.8L380 439.2L388.2 445.2L392.2 451.5L391.6 458L386.1 464.5L375.9 470.8L360.8 476.6L341.4 481.6L318.1 485.8L291.8 488.8L263.4 490.6L234.1 491L205 490L177.4 487.7L152.2 484.2L130.4 479.7L112.6 474.3L99.5 468.3L91.1 461.9Z" fill="url(#dark)"/><path d="M83.3 187.6L84.6 185.7L90.6 183.9L100.7 182.2L114.5 180.7L131.5 179.4L151.1 178.3L172.8 177.4L196.1 176.8L220.3 176.5L244.9 176.4L269.5 176.6L293.4 177L316.1 177.7L337 178.7L355.7 179.9L371.4 181.3L383.8 182.9L392.3 184.6L396.5 186.5L392.2 451.5L391.6 458L386.1 464.5L375.9 470.8L360.8 476.6L341.4 481.6L318.1 485.8L291.8 488.8L263.4 490.6L234.1 491L205 490L177.4 487.7L152.2 484.2L130.4 479.7L112.6 474.3L99.5 468.3L91.1 461.9L87.6 455.4Z" fill="url(#hull)" stroke="#b4c2d4" stroke-width="3.4"/><path d="M152.2 482.7L199.4 488.1L251.8 489.3L302.6 486.2L345.6 479.2L375.9 469.3L390.9 457.9M93.8 463.1L115.8 474L152.2 482.7M150.6 312.6L198.6 315.8L252 316.5L303.8 314.7L347.5 310.5L378.3 304.8L393.5 298.1M91.3 301.1L113.6 307.5L150.6 312.6M149.5 197.6L198.1 199.3L252.1 199.6L304.6 198.7L348.8 196.6L379.9 193.7L395.2 190.3M89.6 191.8L112.1 195L149.5 197.6" fill="none" stroke="#b4c2d4" stroke-width="1.7"/></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#7f858c"/><stop offset=".55" stop-color="#e6e9ec"/><stop offset="1" stop-color="#8d9399"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#b9bab5"/><stop offset=".55" stop-color="#f4f4ef"/><stop offset="1" stop-color="#c2c3be"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0b0c0e"/><stop offset=".55" stop-color="#26282c"/><stop offset="1" stop-color="#0b0c0e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#5a5f66"/><stop offset=".55" stop-color="#a9afb6"/><stop offset="1" stop-color="#5a5f66"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#111316"/><stop offset=".55" stop-color="#2a2d31"/><stop offset="1" stop-color="#111316"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#141518"/><stop offset=".55" stop-color="#3c3f44"/><stop offset="1" stop-color="#141518"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#6e3a1b"/><stop offset=".55" stop-color="#c8743a"/><stop offset="1" stop-color="#6e3a1b"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#3a3d42" stroke-width=".35" opacity=".5"/></pattern></defs><path d="M278.7 290.6L286.6 258L308.2 234.8L338.3 227.4L356.1 224.4L386.3 235.2L408.4 261.5L416.2 296.1L407.2 329.2L384.5 351.3L367.3 357.1L336.9 362.8L307.4 350.6L286.3 324.3Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M279 296.7L284.4 274.4L299.2 258.7L319.5 253.9L338.1 250.2L358.3 257.7L373.2 275.6L378.4 299L372.6 321.4L357.4 336.5L339.3 342L318.8 346L298.7 337.9L284.2 319.8Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M284.5 303.6L286.6 295L292.2 289.1L311.6 284.6L319.3 282.9L326.9 285.8L332.5 292.6L334.5 301.5L332.4 310L326.7 315.8L307.5 321L299.8 322.6L292.1 319.5L286.5 312.6Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M79 346.2L292.2 295.5L307.7 296.8L307.6 314.5L96.9 370L79.3 367.8Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#8fa1b8" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M278.7 290.6L286.6 258L308.2 234.8L338.3 227.4L356.1 224.4L386.3 235.2L408.4 261.5L416.2 296.1L407.2 329.2L384.5 351.3L367.3 357.1L336.9 362.8L307.4 350.6L286.3 324.3Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M279 296.7L284.4 274.4L299.2 258.7L319.5 253.9L338.1 250.2L358.3 257.7L373.2 275.6L378.4 299L372.6 321.4L357.4 336.5L339.3 342L318.8 346L298.7 337.9L284.2 319.8Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M284.5 303.6L286.6 295L292.2 289.1L311.6 284.6L319.3 282.9L326.9 285.8L332.5 292.6L334.5 301.5L332.4 310L326.7 315.8L307.5 321L299.8 322.6L292.1 319.5L286.5 312.6Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M79 346.2L292.2 295.5L307.7 296.8L307.6 314.5L96.9 370L79.3 367.8Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#b4c2d4" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M278.7 290.6L286.6 258L308.2 234.8L338.3 227.4L356.1 224.4L386.3 235.2L408.4 261.5L416.2 296.1L407.2 329.2L384.5 351.3L367.3 357.1L336.9 362.8L307.4 350.6L286.3 324.3Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M279 296.7L284.4 274.4L299.2 258.7L319.5 253.9L338.1 250.2L358.3 257.7L373.2 275.6L378.4 299L372.6 321.4L357.4 336.5L339.3 342L318.8 346L298.7 337.9L284.2 319.8Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M284.5 303.6L286.6 295L292.2 289.1L311.6 284.6L319.3 282.9L326.9 285.8L332.5 292.6L334.5 301.5L332.4 310L326.7 315.8L307.5 321L299.8 322.6L292.1 319.5L286.5 312.6Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M79 346.2L292.2 295.5L307.7 296.8L307.6 314.5L96.9 370L79.3 367.8Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#7f858c"/><stop offset=".55" stop-color="#e6e9ec"/><stop offset="1" stop-color="#8d9399"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#b9bab5"/><stop offset=".55" stop-color="#f4f4ef"/><stop offset="1" stop-color="#c2c3be"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0b0c0e"/><stop offset=".55" stop-color="#26282c"/><stop offset="1" stop-color="#0b0c0e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#5a5f66"/><stop offset=".55" stop-color="#a9afb6"/><stop offset="1" stop-color="#5a5f66"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#111316"/><stop offset=".55" stop-color="#2a2d31"/><stop offset="1" stop-color="#111316"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#141518"/><stop offset=".55" stop-color="#3c3f44"/><stop offset="1" stop-color="#141518"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#6e3a1b"/><stop offset=".55" stop-color="#c8743a"/><stop offset="1" stop-color="#6e3a1b"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#3a3d42" stroke-width=".35" opacity=".5"/></pattern></defs><path d="M163 326.2L348 282.3L362.8 283.4L362.6 300.1L180 348.1L163.2 346.3Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M128.1 341.9L130.3 331.9L136.4 325L163 318.8L171.4 317L179.8 320.5L186.1 328.6L188.4 339L186.2 348.8L180.1 355.5L153.8 362.6L145.3 364.3L136.8 360.6L130.5 352.4Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M72 345.5L77.5 318.3L93.6 299.4L116.5 294L144.5 288.4L167.7 298L185 320.2L191.5 349L185.3 376.1L168.4 394.2L141.1 402.5L118 406.8L95.1 396.2L78.4 373.8Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M19.8 349.8L27.7 308.4L51.8 279.2L86.5 270.4L116.1 265.3L151.7 279.8L178.5 314.3L188.6 359L179.1 401.1L153.1 428.6L124.5 438.2L89.3 444.2L54.8 427.5L29.6 393.1Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#8fa1b8" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M163 326.2L348 282.3L362.8 283.4L362.6 300.1L180 348.1L163.2 346.3Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M128.1 341.9L130.3 331.9L136.4 325L163 318.8L171.4 317L179.8 320.5L186.1 328.6L188.4 339L186.2 348.8L180.1 355.5L153.8 362.6L145.3 364.3L136.8 360.6L130.5 352.4Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M72 345.5L77.5 318.3L93.6 299.4L116.5 294L144.5 288.4L167.7 298L185 320.2L191.5 349L185.3 376.1L168.4 394.2L141.1 402.5L118 406.8L95.1 396.2L78.4 373.8Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M19.8 349.8L27.7 308.4L51.8 279.2L86.5 270.4L116.1 265.3L151.7 279.8L178.5 314.3L188.6 359L179.1 401.1L153.1 428.6L124.5 438.2L89.3 444.2L54.8 427.5L29.6 393.1Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#b4c2d4" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M163 326.2L348 282.3L362.8 283.4L362.6 300.1L180 348.1L163.2 346.3Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M128.1 341.9L130.3 331.9L136.4 325L163 318.8L171.4 317L179.8 320.5L186.1 328.6L188.4 339L186.2 348.8L180.1 355.5L153.8 362.6L145.3 364.3L136.8 360.6L130.5 352.4Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M72 345.5L77.5 318.3L93.6 299.4L116.5 294L144.5 288.4L167.7 298L185 320.2L191.5 349L185.3 376.1L168.4 394.2L141.1 402.5L118 406.8L95.1 396.2L78.4 373.8Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M19.8 349.8L27.7 308.4L51.8 279.2L86.5 270.4L116.1 265.3L151.7 279.8L178.5 314.3L188.6 359L179.1 401.1L153.1 428.6L124.5 438.2L89.3 444.2L54.8 427.5L29.6 393.1Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#7f858c"/><stop offset=".55" stop-color="#e6e9ec"/><stop offset="1" stop-color="#8d9399"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#b9bab5"/><stop offset=".55" stop-color="#f4f4ef"/><stop offset="1" stop-color="#c2c3be"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0b0c0e"/><stop offset=".55" stop-color="#26282c"/><stop offset="1" stop-color="#0b0c0e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#5a5f66"/><stop offset=".55" stop-color="#a9afb6"/><stop offset="1" stop-color="#5a5f66"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#111316"/><stop offset=".55" stop-color="#2a2d31"/><stop offset="1" stop-color="#111316"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#141518"/><stop offset=".55" stop-color="#3c3f44"/><stop offset="1" stop-color="#141518"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#6e3a1b"/><stop offset=".55" stop-color="#c8743a"/><stop offset="1" stop-color="#6e3a1b"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#3a3d42" stroke-width=".35" opacity=".5"/></pattern></defs><path d="M441.2 314.9L441.6 313.7L442.4 312.9L443 312.7L444.2 312.5L445.3 312.9L446.1 313.9L446.4 315.1L446.1 316.4L445.2 317.2L444.6 317.4L443.5 317.6L442.3 317.2L441.5 316.2Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M441.4 315.2L441.6 314.4L442.2 313.8L442.8 313.6L443.6 313.5L444.3 313.8L444.9 314.4L445.1 315.3L444.8 316.1L444.3 316.6L443.7 316.8L442.9 317L442.1 316.7L441.6 316Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M441.8 315.4L441.9 315.1L442.1 314.9L442.7 314.7L443 314.7L443.2 314.8L443.4 315L443.5 315.4L443.4 315.7L443.2 315.9L442.6 316.1L442.3 316.1L442.1 316L441.9 315.8Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M437 317.4L437 316.7L442.1 315.2L442.7 315.2L442.6 315.8L437.5 317.4Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M368.3 321.3L368.3 320.7L374 319.1L374.5 319.1L374.5 319.7L368.9 321.4Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M367.4 321.2L367.4 320.9L367.7 320.7L368.3 320.5L368.6 320.4L368.9 320.5L369.1 320.8L369.2 321.1L369.1 321.4L368.9 321.6L368.2 321.8L367.9 321.9L367.6 321.8L367.4 321.5Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M365.7 321.3L366 320.5L366.5 319.9L367.2 319.7L368 319.5L368.7 319.8L369.3 320.5L369.5 321.4L369.3 322.2L368.7 322.8L368 323L367.3 323.1L366.5 322.8L365.9 322.1Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M364.3 321.4L364.6 320.2L365.5 319.3L366.2 319.1L367.3 318.9L368.5 319.3L369.3 320.3L369.6 321.6L369.3 322.9L368.4 323.7L367.7 323.9L366.6 324.2L365.4 323.7L364.6 322.7Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M311 322.4L311.1 321.2L311.7 321L317.6 321.5L317.5 322.8L316.9 323Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M317.1 335.5L317.3 309.1L317.4 309.1L325.4 309.8L325.2 336.2L325 336.3Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M321.1 335.9L321.3 309.4" fill="none" stroke="#30343a" stroke-width="0.3"/><path d="M235.1 309.5L235.2 309.4L242.9 310.2L242.9 336.7L242.8 336.7L235.1 335.9Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M239 336.3L239 309.8" fill="none" stroke="#30343a" stroke-width="0.3"/><path d="M242.6 324.2L242.6 322.9L243.3 322.7L249 323.3L249 324.6L248.3 324.7Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M194 325.5L194.1 325.3L194.4 325.2L194.9 325L195.5 324.9L196.3 324.8L197.1 324.7L198 324.7L199 324.6L199.9 324.6L200.9 324.6L201.8 324.7L202.7 324.8L203.4 324.9L204.1 325L204.6 325.1L205 325.2L205.2 325.4L205.2 325.5L205.2 325.9L205.1 326L204.8 326.2L204.3 326.3L203.7 326.4L202.9 326.5L202.1 326.6L201.2 326.7L200.2 326.7L199.2 326.7L198.3 326.7L197.3 326.7L196.5 326.6L195.7 326.5L195.1 326.4L194.6 326.2L194.2 326.1L194 325.9L194 325.8Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M159 306.6L159 306.5L159.2 306.3L159.5 306.2L160 306.1L160.6 305.9L161.4 305.8L162.2 305.8L163.2 305.7L164.1 305.7L165.1 305.7L166.1 305.7L167 305.7L167.9 305.8L168.6 305.9L169.3 306L169.8 306.1L170.1 306.2L170.3 306.4L170.3 306.5L170.4 327.1L170.3 327.3L169.9 327.4L169.4 327.6L168.8 327.7L168.1 327.8L167.2 327.9L166.3 328L165.3 328L164.3 328L163.3 328L162.4 327.9L161.6 327.9L160.8 327.8L160.2 327.7L159.7 327.5L159.3 327.4L159.2 327.2Z" fill="url(#hull)" stroke="#30343a" stroke-width="0.6"/><path d="M161.4 307.3L163 307.4L164.8 307.4L166.5 307.4L168.1 307.2L169.3 307L170.1 306.8M159 306.6L159.3 306.9L160.1 307.1L161.4 307.3" fill="none" stroke="#30343a" stroke-width="0.3" opacity=".6"/><path d="M161.5 323.5L163.1 323.6L164.9 323.7L166.6 323.6L168.2 323.4L169.4 323.2L170.2 323M159.1 322.8L159.4 323.1L160.2 323.3L161.5 323.5M161.5 318.3L163.1 318.4L164.8 318.4L166.6 318.4L168.2 318.2L169.4 318L170.1 317.8M159.1 317.6L159.4 317.9L160.2 318.1L161.5 318.3M161.4 313.1L163 313.2L164.8 313.2L166.5 313.1L168.1 313L169.3 312.8L170.1 312.5M159 312.4L159.3 312.7L160.2 312.9L161.4 313.1" fill="none" stroke="#30343a" stroke-width="0.5"/><path d="M115.1 324.5L115.2 324.3L115.5 324L116.1 323.8L116.9 323.5L118 323.3L119.3 323.1L120.7 323L122.2 322.9L123.8 322.8L125.4 322.8L127 322.9L128.5 322.9L129.9 323.1L131.1 323.2L132.1 323.4L132.9 323.6L133.4 323.8L133.7 324.1L133.7 328.4L133.7 328.6L133.4 328.9L132.8 329.1L132 329.4L130.9 329.6L129.6 329.8L128.2 329.9L126.7 330L125.1 330.1L123.4 330.1L121.8 330.1L120.3 330L118.9 329.9L117.7 329.7L116.7 329.5L115.9 329.3L115.4 329L115.2 328.8Z" fill="url(#hull)" stroke="#30343a" stroke-width="0.6"/><path d="M118.9 329.8L121.5 330L124.4 330L127.3 329.9L129.9 329.7L132 329.3L133.3 328.9L133.8 328.4M115.6 329.1L116.9 329.5L118.9 329.8" fill="none" stroke="#30343a" stroke-width="0.5"/><path d="M115.1 324.5L115.2 324.3L118.6 315.3L118.8 315.1L119.2 315L119.7 314.8L120.4 314.7L121.1 314.6L122 314.5L123 314.5L123.9 314.4L124.9 314.4L125.9 314.5L126.8 314.5L127.7 314.6L128.4 314.7L129 314.8L129.5 314.9L129.8 315L130 315.2L133.7 324.1L133.7 324.4L133.4 324.6L132.8 324.9L131.9 325.1L130.9 325.3L129.6 325.5L128.2 325.6L126.6 325.7L125 325.8L123.4 325.8L121.8 325.8L120.3 325.7L118.9 325.6L117.6 325.4L116.6 325.2L115.9 325L115.3 324.8Z" fill="url(#hull)" stroke="#30343a" stroke-width="0.6"/><path d="M68.8 323L68.9 322.8L69.3 322.5L70 322.3L70.9 322L72 321.8L73.3 321.6L74.8 321.5L76.3 321.4L77.9 321.3L79.6 321.3L81.2 321.4L82.7 321.4L84 321.6L85.2 321.7L86.2 321.9L87 322.1L87.4 322.3L87.7 322.6L87.8 330.1L87.7 330.3L87.3 330.6L86.7 330.8L85.8 331.1L84.7 331.3L83.4 331.5L81.9 331.6L80.3 331.7L78.7 331.8L77.1 331.8L75.5 331.8L73.9 331.7L72.6 331.6L71.4 331.4L70.4 331.2L69.6 331L69.2 330.7L69 330.5Z" fill="url(#hull)" stroke="#30343a" stroke-width="0.6"/><path d="M72.5 328.9L75.1 329.1L78 329.2L80.9 329L83.6 328.8L85.8 328.4L87.2 328L87.7 327.5M69.3 328.2L70.5 328.6L72.5 328.9M72.5 326.7L75.1 326.9L78 326.9L80.9 326.8L83.6 326.6L85.7 326.2L87.2 325.8L87.7 325.3M69.2 326L70.5 326.4L72.5 326.7" fill="none" stroke="#30343a" stroke-width="0.3" opacity=".6"/><path d="M22.2 332.2L22.3 331.9L22.7 331.7L23.4 331.4L24.4 331.2L25.6 331L26.9 330.8L28.4 330.6L30 330.5L31.6 330.5L33.3 330.5L34.9 330.5L36.4 330.6L37.7 330.7L38.9 330.8L39.9 331L40.6 331.3L41 331.5L41.2 331.8L41 332L40.6 332.3L39.9 332.6L39 332.8L37.8 333L36.5 333.2L35 333.4L33.4 333.5L31.7 333.5L30.1 333.5L28.4 333.5L26.9 333.4L25.6 333.3L24.4 333.1L23.4 332.9L22.7 332.7L22.3 332.5Z" fill="url(#dark)"/><path d="M21.8 316L21.9 315.8L22.4 315.5L23.1 315.3L24 315.1L25.2 314.9L26.6 314.7L28.1 314.6L29.6 314.5L31.3 314.4L32.9 314.4L34.5 314.4L36 314.5L37.4 314.6L38.6 314.8L39.5 314.9L40.2 315.1L40.7 315.4L40.8 315.6L41.2 331.8L41 332L40.6 332.3L39.9 332.6L39 332.8L37.8 333L36.5 333.2L35 333.4L33.4 333.5L31.7 333.5L30.1 333.5L28.4 333.5L26.9 333.4L25.6 333.3L24.4 333.1L23.4 332.9L22.7 332.7L22.3 332.5L22.2 332.2Z" fill="url(#hull)" stroke="#30343a" stroke-width="0.6"/><path d="M25.6 333.2L28.1 333.4L31 333.5L34 333.3L36.8 333.1L39 332.7L40.5 332.3L41.1 331.8M22.4 332.5L23.6 332.9L25.6 333.2M25.3 323.5L27.9 323.7L30.8 323.7L33.8 323.6L36.6 323.4L38.8 323L40.3 322.6L40.9 322.2M22.2 322.8L23.4 323.2L25.3 323.5M25.2 317.2L27.8 317.3L30.7 317.4L33.7 317.3L36.4 317L38.7 316.7L40.2 316.3L40.8 315.8M22.1 316.5L23.2 316.9L25.2 317.2" fill="none" stroke="#30343a" stroke-width="0.5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#8fa1b8" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M441.2 314.9L441.6 313.7L442.4 312.9L443 312.7L444.2 312.5L445.3 312.9L446.1 313.9L446.4 315.1L446.1 316.4L445.2 317.2L444.6 317.4L443.5 317.6L442.3 317.2L441.5 316.2Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M441.4 315.2L441.6 314.4L442.2 313.8L442.8 313.6L443.6 313.5L444.3 313.8L444.9 314.4L445.1 315.3L444.8 316.1L444.3 316.6L443.7 316.8L442.9 317L442.1 316.7L441.6 316Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M441.8 315.4L441.9 315.1L442.1 314.9L442.7 314.7L443 314.7L443.2 314.8L443.4 315L443.5 315.4L443.4 315.7L443.2 315.9L442.6 316.1L442.3 316.1L442.1 316L441.9 315.8Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M437 317.4L437 316.7L442.1 315.2L442.7 315.2L442.6 315.8L437.5 317.4Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M368.3 321.3L368.3 320.7L374 319.1L374.5 319.1L374.5 319.7L368.9 321.4Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M367.4 321.2L367.4 320.9L367.7 320.7L368.3 320.5L368.6 320.4L368.9 320.5L369.1 320.8L369.2 321.1L369.1 321.4L368.9 321.6L368.2 321.8L367.9 321.9L367.6 321.8L367.4 321.5Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M365.7 321.3L366 320.5L366.5 319.9L367.2 319.7L368 319.5L368.7 319.8L369.3 320.5L369.5 321.4L369.3 322.2L368.7 322.8L368 323L367.3 323.1L366.5 322.8L365.9 322.1Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M364.3 321.4L364.6 320.2L365.5 319.3L366.2 319.1L367.3 318.9L368.5 319.3L369.3 320.3L369.6 321.6L369.3 322.9L368.4 323.7L367.7 323.9L366.6 324.2L365.4 323.7L364.6 322.7Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M311 322.4L311.1 321.2L311.7 321L317.6 321.5L317.5 322.8L316.9 323Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M317.1 335.5L317.3 309.1L317.4 309.1L325.4 309.8L325.2 336.2L325 336.3Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M321.1 335.9L321.3 309.4" fill="none" stroke="#8fa1b8" stroke-width="0.5"/><path d="M235.1 309.5L235.2 309.4L242.9 310.2L242.9 336.7L242.8 336.7L235.1 335.9Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M239 336.3L239 309.8" fill="none" stroke="#8fa1b8" stroke-width="0.5"/><path d="M242.6 324.2L242.6 322.9L243.3 322.7L249 323.3L249 324.6L248.3 324.7Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="0.9"/><path d="M194 325.5L194.1 325.3L194.4 325.2L194.9 325L195.5 324.9L196.3 324.8L197.1 324.7L198 324.7L199 324.6L199.9 324.6L200.9 324.6L201.8 324.7L202.7 324.8L203.4 324.9L204.1 325L204.6 325.1L205 325.2L205.2 325.4L205.2 325.5L205.2 325.9L205.1 326L204.8 326.2L204.3 326.3L203.7 326.4L202.9 326.5L202.1 326.6L201.2 326.7L200.2 326.7L199.2 326.7L198.3 326.7L197.3 326.7L196.5 326.6L195.7 326.5L195.1 326.4L194.6 326.2L194.2 326.1L194 325.9L194 325.8Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="1.2"/><path d="M159 306.6L159 306.5L159.2 306.3L159.5 306.2L160 306.1L160.6 305.9L161.4 305.8L162.2 305.8L163.2 305.7L164.1 305.7L165.1 305.7L166.1 305.7L167 305.7L167.9 305.8L168.6 305.9L169.3 306L169.8 306.1L170.1 306.2L170.3 306.4L170.3 306.5L170.4 327.1L170.3 327.3L169.9 327.4L169.4 327.6L168.8 327.7L168.1 327.8L167.2 327.9L166.3 328L165.3 328L164.3 328L163.3 328L162.4 327.9L161.6 327.9L160.8 327.8L160.2 327.7L159.7 327.5L159.3 327.4L159.2 327.2Z" fill="url(#hull)" stroke="#8fa1b8" stroke-width="1.2"/><path d="M161.4 307.3L163 307.4L164.8 307.4L166.5 307.4L168.1 307.2L169.3 307L170.1 306.8M159 306.6L159.3 306.9L160.1 307.1L161.4 307.3" fill="none" stroke="#8fa1b8" stroke-width="0.5" opacity=".6"/><path d="M161.5 323.5L163.1 323.6L164.9 323.7L166.6 323.6L168.2 323.4L169.4 323.2L170.2 323M159.1 322.8L159.4 323.1L160.2 323.3L161.5 323.5M161.5 318.3L163.1 318.4L164.8 318.4L166.6 318.4L168.2 318.2L169.4 318L170.1 317.8M159.1 317.6L159.4 317.9L160.2 318.1L161.5 318.3M161.4 313.1L163 313.2L164.8 313.2L166.5 313.1L168.1 313L169.3 312.8L170.1 312.5M159 312.4L159.3 312.7L160.2 312.9L161.4 313.1" fill="none" stroke="#8fa1b8" stroke-width="0.8"/><path d="M115.1 324.5L115.2 324.3L115.5 324L116.1 323.8L116.9 323.5L118 323.3L119.3 323.1L120.7 323L122.2 322.9L123.8 322.8L125.4 322.8L127 322.9L128.5 322.9L129.9 323.1L131.1 323.2L132.1 323.4L132.9 323.6L133.4 323.8L133.7 324.1L133.7 328.4L133.7 328.6L133.4 328.9L132.8 329.1L132 329.4L130.9 329.6L129.6 329.8L128.2 329.9L126.7 330L125.1 330.1L123.4 330.1L121.8 330.1L120.3 330L118.9 329.9L117.7 329.7L116.7 329.5L115.9 329.3L115.4 329L115.2 328.8Z" fill="url(#hull)" stroke="#8fa1b8" stroke-width="1.2"/><path d="M118.9 329.8L121.5 330L124.4 330L127.3 329.9L129.9 329.7L132 329.3L133.3 328.9L133.8 328.4M115.6 329.1L116.9 329.5L118.9 329.8" fill="none" stroke="#8fa1b8" stroke-width="0.8"/><path d="M115.1 324.5L115.2 324.3L118.6 315.3L118.8 315.1L119.2 315L119.7 314.8L120.4 314.7L121.1 314.6L122 314.5L123 314.5L123.9 314.4L124.9 314.4L125.9 314.5L126.8 314.5L127.7 314.6L128.4 314.7L129 314.8L129.5 314.9L129.8 315L130 315.2L133.7 324.1L133.7 324.4L133.4 324.6L132.8 324.9L131.9 325.1L130.9 325.3L129.6 325.5L128.2 325.6L126.6 325.7L125 325.8L123.4 325.8L121.8 325.8L120.3 325.7L118.9 325.6L117.6 325.4L116.6 325.2L115.9 325L115.3 324.8Z" fill="url(#hull)" stroke="#8fa1b8" stroke-width="1.2"/><path d="M68.8 323L68.9 322.8L69.3 322.5L70 322.3L70.9 322L72 321.8L73.3 321.6L74.8 321.5L76.3 321.4L77.9 321.3L79.6 321.3L81.2 321.4L82.7 321.4L84 321.6L85.2 321.7L86.2 321.9L87 322.1L87.4 322.3L87.7 322.6L87.8 330.1L87.7 330.3L87.3 330.6L86.7 330.8L85.8 331.1L84.7 331.3L83.4 331.5L81.9 331.6L80.3 331.7L78.7 331.8L77.1 331.8L75.5 331.8L73.9 331.7L72.6 331.6L71.4 331.4L70.4 331.2L69.6 331L69.2 330.7L69 330.5Z" fill="url(#hull)" stroke="#8fa1b8" stroke-width="1.2"/><path d="M72.5 328.9L75.1 329.1L78 329.2L80.9 329L83.6 328.8L85.8 328.4L87.2 328L87.7 327.5M69.3 328.2L70.5 328.6L72.5 328.9M72.5 326.7L75.1 326.9L78 326.9L80.9 326.8L83.6 326.6L85.7 326.2L87.2 325.8L87.7 325.3M69.2 326L70.5 326.4L72.5 326.7" fill="none" stroke="#8fa1b8" stroke-width="0.5" opacity=".6"/><path d="M22.2 332.2L22.3 331.9L22.7 331.7L23.4 331.4L24.4 331.2L25.6 331L26.9 330.8L28.4 330.6L30 330.5L31.6 330.5L33.3 330.5L34.9 330.5L36.4 330.6L37.7 330.7L38.9 330.8L39.9 331L40.6 331.3L41 331.5L41.2 331.8L41 332L40.6 332.3L39.9 332.6L39 332.8L37.8 333L36.5 333.2L35 333.4L33.4 333.5L31.7 333.5L30.1 333.5L28.4 333.5L26.9 333.4L25.6 333.3L24.4 333.1L23.4 332.9L22.7 332.7L22.3 332.5Z" fill="url(#dark)"/><path d="M21.8 316L21.9 315.8L22.4 315.5L23.1 315.3L24 315.1L25.2 314.9L26.6 314.7L28.1 314.6L29.6 314.5L31.3 314.4L32.9 314.4L34.5 314.4L36 314.5L37.4 314.6L38.6 314.8L39.5 314.9L40.2 315.1L40.7 315.4L40.8 315.6L41.2 331.8L41 332L40.6 332.3L39.9 332.6L39 332.8L37.8 333L36.5 333.2L35 333.4L33.4 333.5L31.7 333.5L30.1 333.5L28.4 333.5L26.9 333.4L25.6 333.3L24.4 333.1L23.4 332.9L22.7 332.7L22.3 332.5L22.2 332.2Z" fill="url(#hull)" stroke="#8fa1b8" stroke-width="1.2"/><path d="M25.6 333.2L28.1 333.4L31 333.5L34 333.3L36.8 333.1L39 332.7L40.5 332.3L41.1 331.8M22.4 332.5L23.6 332.9L25.6 333.2M25.3 323.5L27.9 323.7L30.8 323.7L33.8 323.6L36.6 323.4L38.8 323L40.3 322.6L40.9 322.2M22.2 322.8L23.4 323.2L25.3 323.5M25.2 317.2L27.8 317.3L30.7 317.4L33.7 317.3L36.4 317L38.7 316.7L40.2 316.3L40.8 315.8M22.1 316.5L23.2 316.9L25.2 317.2" fill="none" stroke="#8fa1b8" stroke-width="0.8"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#b4c2d4" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M441.2 314.9L441.6 313.7L442.4 312.9L443 312.7L444.2 312.5L445.3 312.9L446.1 313.9L446.4 315.1L446.1 316.4L445.2 317.2L444.6 317.4L443.5 317.6L442.3 317.2L441.5 316.2Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M441.4 315.2L441.6 314.4L442.2 313.8L442.8 313.6L443.6 313.5L444.3 313.8L444.9 314.4L445.1 315.3L444.8 316.1L444.3 316.6L443.7 316.8L442.9 317L442.1 316.7L441.6 316Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M441.8 315.4L441.9 315.1L442.1 314.9L442.7 314.7L443 314.7L443.2 314.8L443.4 315L443.5 315.4L443.4 315.7L443.2 315.9L442.6 316.1L442.3 316.1L442.1 316L441.9 315.8Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M437 317.4L437 316.7L442.1 315.2L442.7 315.2L442.6 315.8L437.5 317.4Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M368.3 321.3L368.3 320.7L374 319.1L374.5 319.1L374.5 319.7L368.9 321.4Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M367.4 321.2L367.4 320.9L367.7 320.7L368.3 320.5L368.6 320.4L368.9 320.5L369.1 320.8L369.2 321.1L369.1 321.4L368.9 321.6L368.2 321.8L367.9 321.9L367.6 321.8L367.4 321.5Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M365.7 321.3L366 320.5L366.5 319.9L367.2 319.7L368 319.5L368.7 319.8L369.3 320.5L369.5 321.4L369.3 322.2L368.7 322.8L368 323L367.3 323.1L366.5 322.8L365.9 322.1Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M364.3 321.4L364.6 320.2L365.5 319.3L366.2 319.1L367.3 318.9L368.5 319.3L369.3 320.3L369.6 321.6L369.3 322.9L368.4 323.7L367.7 323.9L366.6 324.2L365.4 323.7L364.6 322.7Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M311 322.4L311.1 321.2L311.7 321L317.6 321.5L317.5 322.8L316.9 323Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M317.1 335.5L317.3 309.1L317.4 309.1L325.4 309.8L325.2 336.2L325 336.3Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M321.1 335.9L321.3 309.4" fill="none" stroke="#b4c2d4" stroke-width="0.6"/><path d="M235.1 309.5L235.2 309.4L242.9 310.2L242.9 336.7L242.8 336.7L235.1 335.9Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M239 336.3L239 309.8" fill="none" stroke="#b4c2d4" stroke-width="0.6"/><path d="M242.6 324.2L242.6 322.9L243.3 322.7L249 323.3L249 324.6L248.3 324.7Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="1.9"/><path d="M194 325.5L194.1 325.3L194.4 325.2L194.9 325L195.5 324.9L196.3 324.8L197.1 324.7L198 324.7L199 324.6L199.9 324.6L200.9 324.6L201.8 324.7L202.7 324.8L203.4 324.9L204.1 325L204.6 325.1L205 325.2L205.2 325.4L205.2 325.5L205.2 325.9L205.1 326L204.8 326.2L204.3 326.3L203.7 326.4L202.9 326.5L202.1 326.6L201.2 326.7L200.2 326.7L199.2 326.7L198.3 326.7L197.3 326.7L196.5 326.6L195.7 326.5L195.1 326.4L194.6 326.2L194.2 326.1L194 325.9L194 325.8Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="3.4"/><path d="M159 306.6L159 306.5L159.2 306.3L159.5 306.2L160 306.1L160.6 305.9L161.4 305.8L162.2 305.8L163.2 305.7L164.1 305.7L165.1 305.7L166.1 305.7L167 305.7L167.9 305.8L168.6 305.9L169.3 306L169.8 306.1L170.1 306.2L170.3 306.4L170.3 306.5L170.4 327.1L170.3 327.3L169.9 327.4L169.4 327.6L168.8 327.7L168.1 327.8L167.2 327.9L166.3 328L165.3 328L164.3 328L163.3 328L162.4 327.9L161.6 327.9L160.8 327.8L160.2 327.7L159.7 327.5L159.3 327.4L159.2 327.2Z" fill="url(#hull)" stroke="#b4c2d4" stroke-width="3.4"/><path d="M161.4 307.3L163 307.4L164.8 307.4L166.5 307.4L168.1 307.2L169.3 307L170.1 306.8M159 306.6L159.3 306.9L160.1 307.1L161.4 307.3" fill="none" stroke="#b4c2d4" stroke-width="0.6" opacity=".6"/><path d="M161.5 323.5L163.1 323.6L164.9 323.7L166.6 323.6L168.2 323.4L169.4 323.2L170.2 323M159.1 322.8L159.4 323.1L160.2 323.3L161.5 323.5M161.5 318.3L163.1 318.4L164.8 318.4L166.6 318.4L168.2 318.2L169.4 318L170.1 317.8M159.1 317.6L159.4 317.9L160.2 318.1L161.5 318.3M161.4 313.1L163 313.2L164.8 313.2L166.5 313.1L168.1 313L169.3 312.8L170.1 312.5M159 312.4L159.3 312.7L160.2 312.9L161.4 313.1" fill="none" stroke="#b4c2d4" stroke-width="1.7"/><path d="M115.1 324.5L115.2 324.3L115.5 324L116.1 323.8L116.9 323.5L118 323.3L119.3 323.1L120.7 323L122.2 322.9L123.8 322.8L125.4 322.8L127 322.9L128.5 322.9L129.9 323.1L131.1 323.2L132.1 323.4L132.9 323.6L133.4 323.8L133.7 324.1L133.7 328.4L133.7 328.6L133.4 328.9L132.8 329.1L132 329.4L130.9 329.6L129.6 329.8L128.2 329.9L126.7 330L125.1 330.1L123.4 330.1L121.8 330.1L120.3 330L118.9 329.9L117.7 329.7L116.7 329.5L115.9 329.3L115.4 329L115.2 328.8Z" fill="url(#hull)" stroke="#b4c2d4" stroke-width="3.4"/><path d="M118.9 329.8L121.5 330L124.4 330L127.3 329.9L129.9 329.7L132 329.3L133.3 328.9L133.8 328.4M115.6 329.1L116.9 329.5L118.9 329.8" fill="none" stroke="#b4c2d4" stroke-width="1.7"/><path d="M115.1 324.5L115.2 324.3L118.6 315.3L118.8 315.1L119.2 315L119.7 314.8L120.4 314.7L121.1 314.6L122 314.5L123 314.5L123.9 314.4L124.9 314.4L125.9 314.5L126.8 314.5L127.7 314.6L128.4 314.7L129 314.8L129.5 314.9L129.8 315L130 315.2L133.7 324.1L133.7 324.4L133.4 324.6L132.8 324.9L131.9 325.1L130.9 325.3L129.6 325.5L128.2 325.6L126.6 325.7L125 325.8L123.4 325.8L121.8 325.8L120.3 325.7L118.9 325.6L117.6 325.4L116.6 325.2L115.9 325L115.3 324.8Z" fill="url(#hull)" stroke="#b4c2d4" stroke-width="3.4"/><path d="M68.8 323L68.9 322.8L69.3 322.5L70 322.3L70.9 322L72 321.8L73.3 321.6L74.8 321.5L76.3 321.4L77.9 321.3L79.6 321.3L81.2 321.4L82.7 321.4L84 321.6L85.2 321.7L86.2 321.9L87 322.1L87.4 322.3L87.7 322.6L87.8 330.1L87.7 330.3L87.3 330.6L86.7 330.8L85.8 331.1L84.7 331.3L83.4 331.5L81.9 331.6L80.3 331.7L78.7 331.8L77.1 331.8L75.5 331.8L73.9 331.7L72.6 331.6L71.4 331.4L70.4 331.2L69.6 331L69.2 330.7L69 330.5Z" fill="url(#hull)" stroke="#b4c2d4" stroke-width="3.4"/><path d="M72.5 328.9L75.1 329.1L78 329.2L80.9 329L83.6 328.8L85.8 328.4L87.2 328L87.7 327.5M69.3 328.2L70.5 328.6L72.5 328.9M72.5 326.7L75.1 326.9L78 326.9L80.9 326.8L83.6 326.6L85.7 326.2L87.2 325.8L87.7 325.3M69.2 326L70.5 326.4L72.5 326.7" fill="none" stroke="#b4c2d4" stroke-width="0.6" opacity=".6"/><path d="M22.2 332.2L22.3 331.9L22.7 331.7L23.4 331.4L24.4 331.2L25.6 331L26.9 330.8L28.4 330.6L30 330.5L31.6 330.5L33.3 330.5L34.9 330.5L36.4 330.6L37.7 330.7L38.9 330.8L39.9 331L40.6 331.3L41 331.5L41.2 331.8L41 332L40.6 332.3L39.9 332.6L39 332.8L37.8 333L36.5 333.2L35 333.4L33.4 333.5L31.7 333.5L30.1 333.5L28.4 333.5L26.9 333.4L25.6 333.3L24.4 333.1L23.4 332.9L22.7 332.7L22.3 332.5Z" fill="url(#dark)"/><path d="M21.8 316L21.9 315.8L22.4 315.5L23.1 315.3L24 315.1L25.2 314.9L26.6 314.7L28.1 314.6L29.6 314.5L31.3 314.4L32.9 314.4L34.5 314.4L36 314.5L37.4 314.6L38.6 314.8L39.5 314.9L40.2 315.1L40.7 315.4L40.8 315.6L41.2 331.8L41 332L40.6 332.3L39.9 332.6L39 332.8L37.8 333L36.5 333.2L35 333.4L33.4 333.5L31.7 333.5L30.1 333.5L28.4 333.5L26.9 333.4L25.6 333.3L24.4 333.1L23.4 332.9L22.7 332.7L22.3 332.5L22.2 332.2Z" fill="url(#hull)" stroke="#b4c2d4" stroke-width="3.4"/><path d="M25.6 333.2L28.1 333.4L31 333.5L34 333.3L36.8 333.1L39 332.7L40.5 332.3L41.1 331.8M22.4 332.5L23.6 332.9L25.6 333.2M25.3 323.5L27.9 323.7L30.8 323.7L33.8 323.6L36.6 323.4L38.8 323L40.3 322.6L40.9 322.2M22.2 322.8L23.4 323.2L25.3 323.5M25.2 317.2L27.8 317.3L30.7 317.4L33.7 317.3L36.4 317L38.7 316.7L40.2 316.3L40.8 315.8M22.1 316.5L23.2 316.9L25.2 317.2" fill="none" stroke="#b4c2d4" stroke-width="1.7"/></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#7f858c"/><stop offset=".55" stop-color="#e6e9ec"/><stop offset="1" stop-color="#8d9399"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#b9bab5"/><stop offset=".55" stop-color="#f4f4ef"/><stop offset="1" stop-color="#c2c3be"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0b0c0e"/><stop offset=".55" stop-color="#26282c"/><stop offset="1" stop-color="#0b0c0e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#5a5f66"/><stop offset=".55" stop-color="#a9afb6"/><stop offset="1" stop-color="#5a5f66"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#111316"/><stop offset=".55" stop-color="#2a2d31"/><stop offset="1" stop-color="#111316"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#141518"/><stop offset=".55" stop-color="#3c3f44"/><stop offset="1" stop-color="#141518"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#6e3a1b"/><stop offset=".55" stop-color="#c8743a"/><stop offset="1" stop-color="#6e3a1b"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#3a3d42" stroke-width=".35" opacity=".5"/></pattern></defs><path d="M83.3 319.2L84.6 315L90.6 310.9L100.7 307.2L114.5 303.8L131.5 300.8L151.1 298.3L172.8 296.4L196.1 295L220.3 294.2L244.9 294.1L269.5 294.5L293.4 295.5L316.1 297.1L337 299.2L355.7 301.9L371.4 305.1L383.8 308.6L392.3 312.5L396.5 316.6L396.3 325.1L395.8 329.5L390.3 333.9L379.8 338.1L364.4 342L344.4 345.5L320.4 348.3L293.4 350.3L264.1 351.5L233.9 351.8L204 351.2L175.5 349.6L149.6 347.2L127.1 344.2L108.9 340.5L95.4 336.4L86.9 332.1L83.4 327.7Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#8fa1b8" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M83.3 319.2L84.6 315L90.6 310.9L100.7 307.2L114.5 303.8L131.5 300.8L151.1 298.3L172.8 296.4L196.1 295L220.3 294.2L244.9 294.1L269.5 294.5L293.4 295.5L316.1 297.1L337 299.2L355.7 301.9L371.4 305.1L383.8 308.6L392.3 312.5L396.5 316.6L396.3 325.1L395.8 329.5L390.3 333.9L379.8 338.1L364.4 342L344.4 345.5L320.4 348.3L293.4 350.3L264.1 351.5L233.9 351.8L204 351.2L175.5 349.6L149.6 347.2L127.1 344.2L108.9 340.5L95.4 336.4L86.9 332.1L83.4 327.7Z" fill="url(#metal)" stroke="#8fa1b8" stroke-width="1.2"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0c1422"/><stop offset=".55" stop-color="#2a3850"/><stop offset="1" stop-color="#0c1422"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0e1626"/><stop offset=".55" stop-color="#33435f"/><stop offset="1" stop-color="#0e1626"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#05080e"/><stop offset=".55" stop-color="#101827"/><stop offset="1" stop-color="#05080e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#070b12"/><stop offset=".55" stop-color="#121a28"/><stop offset="1" stop-color="#070b12"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0a0f18"/><stop offset=".55" stop-color="#242f42"/><stop offset="1" stop-color="#0a0f18"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#16202f"/><stop offset=".55" stop-color="#3a475c"/><stop offset="1" stop-color="#16202f"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#b4c2d4" stroke-width=".35" opacity=".5"/></pattern><radialGradient id="halo" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#6cd0ff" stop-opacity=".14"/><stop offset="1" stop-color="#6cd0ff" stop-opacity="0"/></radialGradient></defs><ellipse cx="240" cy="320" rx="240" ry="320" fill="url(#halo)"/><path d="M83.3 319.2L84.6 315L90.6 310.9L100.7 307.2L114.5 303.8L131.5 300.8L151.1 298.3L172.8 296.4L196.1 295L220.3 294.2L244.9 294.1L269.5 294.5L293.4 295.5L316.1 297.1L337 299.2L355.7 301.9L371.4 305.1L383.8 308.6L392.3 312.5L396.5 316.6L396.3 325.1L395.8 329.5L390.3 333.9L379.8 338.1L364.4 342L344.4 345.5L320.4 348.3L293.4 350.3L264.1 351.5L233.9 351.8L204 351.2L175.5 349.6L149.6 347.2L127.1 344.2L108.9 340.5L95.4 336.4L86.9 332.1L83.4 327.7Z" fill="url(#metal)" stroke="#b4c2d4" stroke-width="3.4"/></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" width="480" height="640" role="img" aria-label="Hubble Space Telescope"><defs><linearGradient id="hull" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#7f858c"/><stop offset=".55" stop-color="#e6e9ec"/><stop offset="1" stop-color="#8d9399"/></linearGradient><linearGradient id="white" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#b9bab5"/><stop offset=".55" stop-color="#f4f4ef"/><stop offset="1" stop-color="#c2c3be"/></linearGradient><linearGradient id="tile" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#0b0c0e"/><stop offset=".55" stop-color="#26282c"/><stop offset="1" stop-color="#0b0c0e"/></linearGradient><linearGradient id="metal" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#5a5f66"/><stop offset=".55" stop-color="#a9afb6"/><stop offset="1" stop-color="#5a5f66"/></linearGradient><linearGradient id="dark" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#111316"/><stop offset=".55" stop-color="#2a2d31"/><stop offset="1" stop-color="#111316"/></linearGradient><linearGradient id="bell" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#141518"/><stop offset=".55" stop-color="#3c3f44"/><stop offset="1" stop-color="#141518"/></linearGradient><linearGradient id="foam" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="#6e3a1b"/><stop offset=".55" stop-color="#c8743a"/><stop offset="1" stop-color="#6e3a1b"/></linearGradient><pattern id="hex" width="9" height="15.6" patternUnits="userSpaceOnUse"><path d="M4.5 0L9 2.6V7.8L4.5 10.4L0 7.8V2.6ZM4.5 10.4V15.6M0 2.6V0M9 2.6V0" fill="none" stroke="#3a3d42" stroke-width=".35" opacity=".5"/></pattern></defs><path d="M104.6 43.6L259.2 41L262 41.2L260.8 586.4L258.1 587.9L111.7 557.7Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/><path d="M182.7 572.3L179.4 42.3" fill="none" stroke="#30343a" stroke-width="0.3"/><path d="M253.8 337.1L253.8 310.5L267.7 307.1L392.2 318.5L391.8 346L379.2 350.2Z" fill="url(#metal)" stroke="#30343a" stroke-width="0.6"/></svg>
|