@johnmorrisdotca/uchusen-rockets 0.2.2 → 0.4.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.
Files changed (906) hide show
  1. package/CHANGELOG.md +55 -5
  2. package/LICENSES/ODbL-1.0.txt +540 -0
  3. package/NOTICE.md +56 -6
  4. package/README.md +288 -16
  5. package/dist/assets/apollo-soyuz-apollo-soyuz-apart.painted.svg +1 -0
  6. package/dist/assets/apollo-soyuz-apollo-soyuz-apart.svg +1 -0
  7. package/dist/assets/apollo-soyuz-apollo-soyuz-apart.thick.svg +1 -0
  8. package/dist/assets/apollo-soyuz-apollo-soyuz-csm.glb +0 -0
  9. package/dist/assets/apollo-soyuz-apollo-soyuz-csm.painted.svg +1 -0
  10. package/dist/assets/apollo-soyuz-apollo-soyuz-csm.svg +1 -0
  11. package/dist/assets/apollo-soyuz-apollo-soyuz-csm.thick.svg +1 -0
  12. package/dist/assets/apollo-soyuz-apollo-soyuz-docking-module.glb +0 -0
  13. package/dist/assets/apollo-soyuz-apollo-soyuz-docking-module.painted.svg +1 -0
  14. package/dist/assets/apollo-soyuz-apollo-soyuz-docking-module.svg +1 -0
  15. package/dist/assets/apollo-soyuz-apollo-soyuz-docking-module.thick.svg +1 -0
  16. package/dist/assets/apollo-soyuz-apollo-soyuz-soyuz.glb +0 -0
  17. package/dist/assets/apollo-soyuz-apollo-soyuz-soyuz.painted.svg +1 -0
  18. package/dist/assets/apollo-soyuz-apollo-soyuz-soyuz.svg +1 -0
  19. package/dist/assets/apollo-soyuz-apollo-soyuz-soyuz.thick.svg +1 -0
  20. package/dist/assets/apollo-soyuz-apollo-soyuz.glb +0 -0
  21. package/dist/assets/apollo-soyuz-apollo-soyuz.painted.svg +1 -0
  22. package/dist/assets/apollo-soyuz-apollo-soyuz.svg +1 -0
  23. package/dist/assets/apollo-soyuz-apollo-soyuz.thick.svg +1 -0
  24. package/dist/assets/dragon-cargo-dragon-2-apart.painted.svg +1 -0
  25. package/dist/assets/dragon-cargo-dragon-2-apart.svg +1 -0
  26. package/dist/assets/dragon-cargo-dragon-2-apart.thick.svg +1 -0
  27. package/dist/assets/dragon-cargo-dragon-2-capsule.glb +0 -0
  28. package/dist/assets/dragon-cargo-dragon-2-capsule.painted.svg +1 -0
  29. package/dist/assets/dragon-cargo-dragon-2-capsule.svg +1 -0
  30. package/dist/assets/dragon-cargo-dragon-2-capsule.thick.svg +1 -0
  31. package/dist/assets/dragon-cargo-dragon-2-trunk.glb +0 -0
  32. package/dist/assets/dragon-cargo-dragon-2-trunk.painted.svg +1 -0
  33. package/dist/assets/dragon-cargo-dragon-2-trunk.svg +1 -0
  34. package/dist/assets/dragon-cargo-dragon-2-trunk.thick.svg +1 -0
  35. package/dist/assets/dragon-cargo-dragon-2.glb +0 -0
  36. package/dist/assets/dragon-cargo-dragon-2.painted.svg +1 -0
  37. package/dist/assets/dragon-cargo-dragon-2.svg +1 -0
  38. package/dist/assets/dragon-cargo-dragon-2.thick.svg +1 -0
  39. package/dist/assets/dragon-crew-dragon-inside.glb +0 -0
  40. package/dist/assets/dragon-crew-dragon-inside.painted.svg +1 -0
  41. package/dist/assets/dragon-crew-dragon-inside.svg +1 -0
  42. package/dist/assets/dragon-crew-dragon-inside.thick.svg +1 -0
  43. package/dist/assets/dragon-dragon-1-apart.painted.svg +1 -1
  44. package/dist/assets/dragon-dragon-1-apart.svg +1 -1
  45. package/dist/assets/dragon-dragon-1-apart.thick.svg +1 -1
  46. package/dist/assets/dragon-dragon-1-capsule.painted.svg +1 -1
  47. package/dist/assets/dragon-dragon-1-capsule.svg +1 -1
  48. package/dist/assets/dragon-dragon-1-capsule.thick.svg +1 -1
  49. package/dist/assets/dragon-dragon-1-trunk.painted.svg +1 -1
  50. package/dist/assets/dragon-dragon-1-trunk.svg +1 -1
  51. package/dist/assets/dragon-dragon-1-trunk.thick.svg +1 -1
  52. package/dist/assets/dragon-dragon-1.painted.svg +1 -1
  53. package/dist/assets/dragon-dragon-1.svg +1 -1
  54. package/dist/assets/dragon-dragon-1.thick.svg +1 -1
  55. package/dist/assets/dragon-dragon-2-apart.painted.svg +1 -1
  56. package/dist/assets/dragon-dragon-2-apart.svg +1 -1
  57. package/dist/assets/dragon-dragon-2-apart.thick.svg +1 -1
  58. package/dist/assets/dragon-dragon-2-capsule.painted.svg +1 -1
  59. package/dist/assets/dragon-dragon-2-capsule.svg +1 -1
  60. package/dist/assets/dragon-dragon-2-capsule.thick.svg +1 -1
  61. package/dist/assets/dragon-dragon-2-trunk.painted.svg +1 -1
  62. package/dist/assets/dragon-dragon-2-trunk.svg +1 -1
  63. package/dist/assets/dragon-dragon-2-trunk.thick.svg +1 -1
  64. package/dist/assets/dragon-dragon-2.painted.svg +1 -1
  65. package/dist/assets/dragon-dragon-2.svg +1 -1
  66. package/dist/assets/dragon-dragon-2.thick.svg +1 -1
  67. package/dist/assets/droneship-asog-apart.painted.svg +1 -0
  68. package/dist/assets/droneship-asog-apart.svg +1 -0
  69. package/dist/assets/droneship-asog-apart.thick.svg +1 -0
  70. package/dist/assets/droneship-asog-deck.glb +0 -0
  71. package/dist/assets/droneship-asog-deck.painted.svg +1 -0
  72. package/dist/assets/droneship-asog-deck.svg +1 -0
  73. package/dist/assets/droneship-asog-deck.thick.svg +1 -0
  74. package/dist/assets/droneship-asog-landed.glb +0 -0
  75. package/dist/assets/droneship-asog-landed.painted.svg +1 -0
  76. package/dist/assets/droneship-asog-landed.svg +1 -0
  77. package/dist/assets/droneship-asog-landed.thick.svg +1 -0
  78. package/dist/assets/droneship-asog.glb +0 -0
  79. package/dist/assets/droneship-asog.painted.svg +1 -0
  80. package/dist/assets/droneship-asog.svg +1 -0
  81. package/dist/assets/droneship-asog.thick.svg +1 -0
  82. package/dist/assets/droneship-jrti-apart.painted.svg +1 -0
  83. package/dist/assets/droneship-jrti-apart.svg +1 -0
  84. package/dist/assets/droneship-jrti-apart.thick.svg +1 -0
  85. package/dist/assets/droneship-jrti-deck.glb +0 -0
  86. package/dist/assets/droneship-jrti-deck.painted.svg +1 -0
  87. package/dist/assets/droneship-jrti-deck.svg +1 -0
  88. package/dist/assets/droneship-jrti-deck.thick.svg +1 -0
  89. package/dist/assets/droneship-jrti-landed.glb +0 -0
  90. package/dist/assets/droneship-jrti-landed.painted.svg +1 -0
  91. package/dist/assets/droneship-jrti-landed.svg +1 -0
  92. package/dist/assets/droneship-jrti-landed.thick.svg +1 -0
  93. package/dist/assets/droneship-jrti.glb +0 -0
  94. package/dist/assets/droneship-jrti.painted.svg +1 -0
  95. package/dist/assets/droneship-jrti.svg +1 -0
  96. package/dist/assets/droneship-jrti.thick.svg +1 -0
  97. package/dist/assets/droneship-ocisly-apart.painted.svg +1 -0
  98. package/dist/assets/droneship-ocisly-apart.svg +1 -0
  99. package/dist/assets/droneship-ocisly-apart.thick.svg +1 -0
  100. package/dist/assets/droneship-ocisly-deck.glb +0 -0
  101. package/dist/assets/droneship-ocisly-deck.painted.svg +1 -0
  102. package/dist/assets/droneship-ocisly-deck.svg +1 -0
  103. package/dist/assets/droneship-ocisly-deck.thick.svg +1 -0
  104. package/dist/assets/droneship-ocisly-landed.glb +0 -0
  105. package/dist/assets/droneship-ocisly-landed.painted.svg +1 -0
  106. package/dist/assets/droneship-ocisly-landed.svg +1 -0
  107. package/dist/assets/droneship-ocisly-landed.thick.svg +1 -0
  108. package/dist/assets/droneship-ocisly.glb +0 -0
  109. package/dist/assets/droneship-ocisly.painted.svg +1 -0
  110. package/dist/assets/droneship-ocisly.svg +1 -0
  111. package/dist/assets/droneship-ocisly.thick.svg +1 -0
  112. package/dist/assets/electron-electron-adapter.glb +0 -0
  113. package/dist/assets/electron-electron-adapter.painted.svg +1 -0
  114. package/dist/assets/electron-electron-adapter.svg +1 -0
  115. package/dist/assets/electron-electron-adapter.thick.svg +1 -0
  116. package/dist/assets/electron-electron-apart.painted.svg +1 -0
  117. package/dist/assets/electron-electron-apart.svg +1 -0
  118. package/dist/assets/electron-electron-apart.thick.svg +1 -0
  119. package/dist/assets/electron-electron-fairing.glb +0 -0
  120. package/dist/assets/electron-electron-fairing.painted.svg +1 -0
  121. package/dist/assets/electron-electron-fairing.svg +1 -0
  122. package/dist/assets/electron-electron-fairing.thick.svg +1 -0
  123. package/dist/assets/electron-electron-first-stage.glb +0 -0
  124. package/dist/assets/electron-electron-first-stage.painted.svg +1 -0
  125. package/dist/assets/electron-electron-first-stage.svg +1 -0
  126. package/dist/assets/electron-electron-first-stage.thick.svg +1 -0
  127. package/dist/assets/electron-electron-second-stage.glb +0 -0
  128. package/dist/assets/electron-electron-second-stage.painted.svg +1 -0
  129. package/dist/assets/electron-electron-second-stage.svg +1 -0
  130. package/dist/assets/electron-electron-second-stage.thick.svg +1 -0
  131. package/dist/assets/electron-electron.glb +0 -0
  132. package/dist/assets/electron-electron.painted.svg +1 -0
  133. package/dist/assets/electron-electron.svg +1 -0
  134. package/dist/assets/electron-electron.thick.svg +1 -0
  135. package/dist/assets/falcon-1-falcon-1-apart.painted.svg +1 -0
  136. package/dist/assets/falcon-1-falcon-1-apart.svg +1 -0
  137. package/dist/assets/falcon-1-falcon-1-apart.thick.svg +1 -0
  138. package/dist/assets/falcon-1-falcon-1-fairing.glb +0 -0
  139. package/dist/assets/falcon-1-falcon-1-fairing.painted.svg +1 -0
  140. package/dist/assets/falcon-1-falcon-1-fairing.svg +1 -0
  141. package/dist/assets/falcon-1-falcon-1-fairing.thick.svg +1 -0
  142. package/dist/assets/falcon-1-falcon-1-first-stage.glb +0 -0
  143. package/dist/assets/falcon-1-falcon-1-first-stage.painted.svg +1 -0
  144. package/dist/assets/falcon-1-falcon-1-first-stage.svg +1 -0
  145. package/dist/assets/falcon-1-falcon-1-first-stage.thick.svg +1 -0
  146. package/dist/assets/falcon-1-falcon-1-second-stage.glb +0 -0
  147. package/dist/assets/falcon-1-falcon-1-second-stage.painted.svg +1 -0
  148. package/dist/assets/falcon-1-falcon-1-second-stage.svg +1 -0
  149. package/dist/assets/falcon-1-falcon-1-second-stage.thick.svg +1 -0
  150. package/dist/assets/falcon-1-falcon-1.glb +0 -0
  151. package/dist/assets/falcon-1-falcon-1.painted.svg +1 -0
  152. package/dist/assets/falcon-1-falcon-1.svg +1 -0
  153. package/dist/assets/falcon-1-falcon-1.thick.svg +1 -0
  154. package/dist/assets/falcon-1-falcon-1e-apart.painted.svg +1 -0
  155. package/dist/assets/falcon-1-falcon-1e-apart.svg +1 -0
  156. package/dist/assets/falcon-1-falcon-1e-apart.thick.svg +1 -0
  157. package/dist/assets/falcon-1-falcon-1e-fairing.glb +0 -0
  158. package/dist/assets/falcon-1-falcon-1e-fairing.painted.svg +1 -0
  159. package/dist/assets/falcon-1-falcon-1e-fairing.svg +1 -0
  160. package/dist/assets/falcon-1-falcon-1e-fairing.thick.svg +1 -0
  161. package/dist/assets/falcon-1-falcon-1e-first-stage.glb +0 -0
  162. package/dist/assets/falcon-1-falcon-1e-first-stage.painted.svg +1 -0
  163. package/dist/assets/falcon-1-falcon-1e-first-stage.svg +1 -0
  164. package/dist/assets/falcon-1-falcon-1e-first-stage.thick.svg +1 -0
  165. package/dist/assets/falcon-1-falcon-1e-second-stage.glb +0 -0
  166. package/dist/assets/falcon-1-falcon-1e-second-stage.painted.svg +1 -0
  167. package/dist/assets/falcon-1-falcon-1e-second-stage.svg +1 -0
  168. package/dist/assets/falcon-1-falcon-1e-second-stage.thick.svg +1 -0
  169. package/dist/assets/falcon-1-falcon-1e.glb +0 -0
  170. package/dist/assets/falcon-1-falcon-1e.painted.svg +1 -0
  171. package/dist/assets/falcon-1-falcon-1e.svg +1 -0
  172. package/dist/assets/falcon-1-falcon-1e.thick.svg +1 -0
  173. package/dist/assets/falcon-9-block-5-apart.painted.svg +1 -1
  174. package/dist/assets/falcon-9-block-5-apart.svg +1 -1
  175. package/dist/assets/falcon-9-block-5-apart.thick.svg +1 -1
  176. package/dist/assets/falcon-9-block-5-dragon-2-apart.painted.svg +1 -1
  177. package/dist/assets/falcon-9-block-5-dragon-2-apart.svg +1 -1
  178. package/dist/assets/falcon-9-block-5-dragon-2-apart.thick.svg +1 -1
  179. package/dist/assets/falcon-9-block-5-dragon-2-capsule.painted.svg +1 -1
  180. package/dist/assets/falcon-9-block-5-dragon-2-capsule.svg +1 -1
  181. package/dist/assets/falcon-9-block-5-dragon-2-capsule.thick.svg +1 -1
  182. package/dist/assets/falcon-9-block-5-dragon-2-first-stage.painted.svg +1 -1
  183. package/dist/assets/falcon-9-block-5-dragon-2-first-stage.svg +1 -1
  184. package/dist/assets/falcon-9-block-5-dragon-2-first-stage.thick.svg +1 -1
  185. package/dist/assets/falcon-9-block-5-dragon-2-second-stage.painted.svg +1 -1
  186. package/dist/assets/falcon-9-block-5-dragon-2-second-stage.svg +1 -1
  187. package/dist/assets/falcon-9-block-5-dragon-2-second-stage.thick.svg +1 -1
  188. package/dist/assets/falcon-9-block-5-dragon-2-trunk.painted.svg +1 -1
  189. package/dist/assets/falcon-9-block-5-dragon-2-trunk.svg +1 -1
  190. package/dist/assets/falcon-9-block-5-dragon-2-trunk.thick.svg +1 -1
  191. package/dist/assets/falcon-9-block-5-dragon-2.painted.svg +1 -1
  192. package/dist/assets/falcon-9-block-5-dragon-2.svg +1 -1
  193. package/dist/assets/falcon-9-block-5-dragon-2.thick.svg +1 -1
  194. package/dist/assets/falcon-9-block-5-fairing.painted.svg +1 -1
  195. package/dist/assets/falcon-9-block-5-fairing.svg +1 -1
  196. package/dist/assets/falcon-9-block-5-fairing.thick.svg +1 -1
  197. package/dist/assets/falcon-9-block-5-first-stage.painted.svg +1 -1
  198. package/dist/assets/falcon-9-block-5-first-stage.svg +1 -1
  199. package/dist/assets/falcon-9-block-5-first-stage.thick.svg +1 -1
  200. package/dist/assets/falcon-9-block-5-second-stage.painted.svg +1 -1
  201. package/dist/assets/falcon-9-block-5-second-stage.svg +1 -1
  202. package/dist/assets/falcon-9-block-5-second-stage.thick.svg +1 -1
  203. package/dist/assets/falcon-9-block-5.painted.svg +1 -1
  204. package/dist/assets/falcon-9-block-5.svg +1 -1
  205. package/dist/assets/falcon-9-block-5.thick.svg +1 -1
  206. package/dist/assets/falcon-9-ft-apart.painted.svg +1 -1
  207. package/dist/assets/falcon-9-ft-apart.svg +1 -1
  208. package/dist/assets/falcon-9-ft-apart.thick.svg +1 -1
  209. package/dist/assets/falcon-9-ft-fairing.painted.svg +1 -1
  210. package/dist/assets/falcon-9-ft-fairing.svg +1 -1
  211. package/dist/assets/falcon-9-ft-fairing.thick.svg +1 -1
  212. package/dist/assets/falcon-9-ft-first-stage.painted.svg +1 -1
  213. package/dist/assets/falcon-9-ft-first-stage.svg +1 -1
  214. package/dist/assets/falcon-9-ft-first-stage.thick.svg +1 -1
  215. package/dist/assets/falcon-9-ft-second-stage.painted.svg +1 -1
  216. package/dist/assets/falcon-9-ft-second-stage.svg +1 -1
  217. package/dist/assets/falcon-9-ft-second-stage.thick.svg +1 -1
  218. package/dist/assets/falcon-9-ft.painted.svg +1 -1
  219. package/dist/assets/falcon-9-ft.svg +1 -1
  220. package/dist/assets/falcon-9-ft.thick.svg +1 -1
  221. package/dist/assets/falcon-9-v1.0-apart.painted.svg +1 -1
  222. package/dist/assets/falcon-9-v1.0-apart.svg +1 -1
  223. package/dist/assets/falcon-9-v1.0-apart.thick.svg +1 -1
  224. package/dist/assets/falcon-9-v1.0-fairing.painted.svg +1 -1
  225. package/dist/assets/falcon-9-v1.0-fairing.svg +1 -1
  226. package/dist/assets/falcon-9-v1.0-fairing.thick.svg +1 -1
  227. package/dist/assets/falcon-9-v1.0-first-stage.painted.svg +1 -1
  228. package/dist/assets/falcon-9-v1.0-first-stage.svg +1 -1
  229. package/dist/assets/falcon-9-v1.0-first-stage.thick.svg +1 -1
  230. package/dist/assets/falcon-9-v1.0-second-stage.painted.svg +1 -1
  231. package/dist/assets/falcon-9-v1.0-second-stage.svg +1 -1
  232. package/dist/assets/falcon-9-v1.0-second-stage.thick.svg +1 -1
  233. package/dist/assets/falcon-9-v1.0.painted.svg +1 -1
  234. package/dist/assets/falcon-9-v1.0.svg +1 -1
  235. package/dist/assets/falcon-9-v1.0.thick.svg +1 -1
  236. package/dist/assets/falcon-9-v1.1-apart.painted.svg +1 -1
  237. package/dist/assets/falcon-9-v1.1-apart.svg +1 -1
  238. package/dist/assets/falcon-9-v1.1-apart.thick.svg +1 -1
  239. package/dist/assets/falcon-9-v1.1-fairing.painted.svg +1 -1
  240. package/dist/assets/falcon-9-v1.1-fairing.svg +1 -1
  241. package/dist/assets/falcon-9-v1.1-fairing.thick.svg +1 -1
  242. package/dist/assets/falcon-9-v1.1-first-stage.painted.svg +1 -1
  243. package/dist/assets/falcon-9-v1.1-first-stage.svg +1 -1
  244. package/dist/assets/falcon-9-v1.1-first-stage.thick.svg +1 -1
  245. package/dist/assets/falcon-9-v1.1-second-stage.painted.svg +1 -1
  246. package/dist/assets/falcon-9-v1.1-second-stage.svg +1 -1
  247. package/dist/assets/falcon-9-v1.1-second-stage.thick.svg +1 -1
  248. package/dist/assets/falcon-9-v1.1.painted.svg +1 -1
  249. package/dist/assets/falcon-9-v1.1.svg +1 -1
  250. package/dist/assets/falcon-9-v1.1.thick.svg +1 -1
  251. package/dist/assets/falcon-heavy-falcon-heavy-apart.painted.svg +1 -1
  252. package/dist/assets/falcon-heavy-falcon-heavy-apart.svg +1 -1
  253. package/dist/assets/falcon-heavy-falcon-heavy-apart.thick.svg +1 -1
  254. package/dist/assets/falcon-heavy-falcon-heavy-centre.painted.svg +1 -1
  255. package/dist/assets/falcon-heavy-falcon-heavy-centre.svg +1 -1
  256. package/dist/assets/falcon-heavy-falcon-heavy-centre.thick.svg +1 -1
  257. package/dist/assets/falcon-heavy-falcon-heavy-side-left.painted.svg +1 -1
  258. package/dist/assets/falcon-heavy-falcon-heavy-side-left.svg +1 -1
  259. package/dist/assets/falcon-heavy-falcon-heavy-side-left.thick.svg +1 -1
  260. package/dist/assets/falcon-heavy-falcon-heavy-side-right.painted.svg +1 -1
  261. package/dist/assets/falcon-heavy-falcon-heavy-side-right.svg +1 -1
  262. package/dist/assets/falcon-heavy-falcon-heavy-side-right.thick.svg +1 -1
  263. package/dist/assets/falcon-heavy-falcon-heavy.painted.svg +1 -1
  264. package/dist/assets/falcon-heavy-falcon-heavy.svg +1 -1
  265. package/dist/assets/falcon-heavy-falcon-heavy.thick.svg +1 -1
  266. package/dist/assets/gemini-gemini-adapter.glb +0 -0
  267. package/dist/assets/gemini-gemini-adapter.painted.svg +1 -0
  268. package/dist/assets/gemini-gemini-adapter.svg +1 -0
  269. package/dist/assets/gemini-gemini-adapter.thick.svg +1 -0
  270. package/dist/assets/gemini-gemini-apart.painted.svg +1 -0
  271. package/dist/assets/gemini-gemini-apart.svg +1 -0
  272. package/dist/assets/gemini-gemini-apart.thick.svg +1 -0
  273. package/dist/assets/gemini-gemini-capsule.glb +0 -0
  274. package/dist/assets/gemini-gemini-capsule.painted.svg +1 -0
  275. package/dist/assets/gemini-gemini-capsule.svg +1 -0
  276. package/dist/assets/gemini-gemini-capsule.thick.svg +1 -0
  277. package/dist/assets/gemini-gemini.glb +0 -0
  278. package/dist/assets/gemini-gemini.painted.svg +1 -0
  279. package/dist/assets/gemini-gemini.svg +1 -0
  280. package/dist/assets/gemini-gemini.thick.svg +1 -0
  281. package/dist/assets/grasshopper-grasshopper.painted.svg +1 -1
  282. package/dist/assets/grasshopper-grasshopper.svg +1 -1
  283. package/dist/assets/grasshopper-grasshopper.thick.svg +1 -1
  284. package/dist/assets/hubble-hubble.glb +0 -0
  285. package/dist/assets/hubble-hubble.painted.svg +1 -0
  286. package/dist/assets/hubble-hubble.svg +1 -0
  287. package/dist/assets/hubble-hubble.thick.svg +1 -0
  288. package/dist/assets/iss-iss.glb +0 -0
  289. package/dist/assets/iss-iss.painted.svg +1 -0
  290. package/dist/assets/iss-iss.svg +1 -0
  291. package/dist/assets/iss-iss.thick.svg +1 -0
  292. package/dist/assets/jupiter-c-jupiter-c.glb +0 -0
  293. package/dist/assets/jupiter-c-jupiter-c.painted.svg +1 -0
  294. package/dist/assets/jupiter-c-jupiter-c.svg +1 -0
  295. package/dist/assets/jupiter-c-jupiter-c.thick.svg +1 -0
  296. package/dist/assets/landing-zone-lz-1-apart.painted.svg +1 -0
  297. package/dist/assets/landing-zone-lz-1-apart.svg +1 -0
  298. package/dist/assets/landing-zone-lz-1-apart.thick.svg +1 -0
  299. package/dist/assets/landing-zone-lz-1-landed.glb +0 -0
  300. package/dist/assets/landing-zone-lz-1-landed.painted.svg +1 -0
  301. package/dist/assets/landing-zone-lz-1-landed.svg +1 -0
  302. package/dist/assets/landing-zone-lz-1-landed.thick.svg +1 -0
  303. package/dist/assets/landing-zone-lz-1-pad.glb +0 -0
  304. package/dist/assets/landing-zone-lz-1-pad.painted.svg +1 -0
  305. package/dist/assets/landing-zone-lz-1-pad.svg +1 -0
  306. package/dist/assets/landing-zone-lz-1-pad.thick.svg +1 -0
  307. package/dist/assets/landing-zone-lz-1.glb +0 -0
  308. package/dist/assets/landing-zone-lz-1.painted.svg +1 -0
  309. package/dist/assets/landing-zone-lz-1.svg +1 -0
  310. package/dist/assets/landing-zone-lz-1.thick.svg +1 -0
  311. package/dist/assets/landing-zone-lz-4-apart.painted.svg +1 -0
  312. package/dist/assets/landing-zone-lz-4-apart.svg +1 -0
  313. package/dist/assets/landing-zone-lz-4-apart.thick.svg +1 -0
  314. package/dist/assets/landing-zone-lz-4-landed.glb +0 -0
  315. package/dist/assets/landing-zone-lz-4-landed.painted.svg +1 -0
  316. package/dist/assets/landing-zone-lz-4-landed.svg +1 -0
  317. package/dist/assets/landing-zone-lz-4-landed.thick.svg +1 -0
  318. package/dist/assets/landing-zone-lz-4-pad.glb +0 -0
  319. package/dist/assets/landing-zone-lz-4-pad.painted.svg +1 -0
  320. package/dist/assets/landing-zone-lz-4-pad.svg +1 -0
  321. package/dist/assets/landing-zone-lz-4-pad.thick.svg +1 -0
  322. package/dist/assets/landing-zone-lz-4.glb +0 -0
  323. package/dist/assets/landing-zone-lz-4.painted.svg +1 -0
  324. package/dist/assets/landing-zone-lz-4.svg +1 -0
  325. package/dist/assets/landing-zone-lz-4.thick.svg +1 -0
  326. package/dist/assets/launch-tower-catch-apart.painted.svg +1 -0
  327. package/dist/assets/launch-tower-catch-apart.svg +1 -0
  328. package/dist/assets/launch-tower-catch-apart.thick.svg +1 -0
  329. package/dist/assets/launch-tower-catch-arms.glb +0 -0
  330. package/dist/assets/launch-tower-catch-arms.painted.svg +1 -0
  331. package/dist/assets/launch-tower-catch-arms.svg +1 -0
  332. package/dist/assets/launch-tower-catch-arms.thick.svg +1 -0
  333. package/dist/assets/launch-tower-catch-booster.glb +0 -0
  334. package/dist/assets/launch-tower-catch-booster.painted.svg +1 -0
  335. package/dist/assets/launch-tower-catch-booster.svg +1 -0
  336. package/dist/assets/launch-tower-catch-booster.thick.svg +1 -0
  337. package/dist/assets/launch-tower-catch-mount.glb +0 -0
  338. package/dist/assets/launch-tower-catch-mount.painted.svg +1 -0
  339. package/dist/assets/launch-tower-catch-mount.svg +1 -0
  340. package/dist/assets/launch-tower-catch-mount.thick.svg +1 -0
  341. package/dist/assets/launch-tower-catch-tower.glb +0 -0
  342. package/dist/assets/launch-tower-catch-tower.painted.svg +1 -0
  343. package/dist/assets/launch-tower-catch-tower.svg +1 -0
  344. package/dist/assets/launch-tower-catch-tower.thick.svg +1 -0
  345. package/dist/assets/launch-tower-catch.glb +0 -0
  346. package/dist/assets/launch-tower-catch.painted.svg +1 -0
  347. package/dist/assets/launch-tower-catch.svg +1 -0
  348. package/dist/assets/launch-tower-catch.thick.svg +1 -0
  349. package/dist/assets/launch-tower-stack-apart.painted.svg +1 -0
  350. package/dist/assets/launch-tower-stack-apart.svg +1 -0
  351. package/dist/assets/launch-tower-stack-apart.thick.svg +1 -0
  352. package/dist/assets/launch-tower-stack-arms.glb +0 -0
  353. package/dist/assets/launch-tower-stack-arms.painted.svg +1 -0
  354. package/dist/assets/launch-tower-stack-arms.svg +1 -0
  355. package/dist/assets/launch-tower-stack-arms.thick.svg +1 -0
  356. package/dist/assets/launch-tower-stack-booster.glb +0 -0
  357. package/dist/assets/launch-tower-stack-booster.painted.svg +1 -0
  358. package/dist/assets/launch-tower-stack-booster.svg +1 -0
  359. package/dist/assets/launch-tower-stack-booster.thick.svg +1 -0
  360. package/dist/assets/launch-tower-stack-mount.glb +0 -0
  361. package/dist/assets/launch-tower-stack-mount.painted.svg +1 -0
  362. package/dist/assets/launch-tower-stack-mount.svg +1 -0
  363. package/dist/assets/launch-tower-stack-mount.thick.svg +1 -0
  364. package/dist/assets/launch-tower-stack-ship.glb +0 -0
  365. package/dist/assets/launch-tower-stack-ship.painted.svg +1 -0
  366. package/dist/assets/launch-tower-stack-ship.svg +1 -0
  367. package/dist/assets/launch-tower-stack-ship.thick.svg +1 -0
  368. package/dist/assets/launch-tower-stack-tower.glb +0 -0
  369. package/dist/assets/launch-tower-stack-tower.painted.svg +1 -0
  370. package/dist/assets/launch-tower-stack-tower.svg +1 -0
  371. package/dist/assets/launch-tower-stack-tower.thick.svg +1 -0
  372. package/dist/assets/launch-tower-stack.glb +0 -0
  373. package/dist/assets/launch-tower-stack.painted.svg +1 -0
  374. package/dist/assets/launch-tower-stack.svg +1 -0
  375. package/dist/assets/launch-tower-stack.thick.svg +1 -0
  376. package/dist/assets/launch-tower-tower-apart.painted.svg +1 -0
  377. package/dist/assets/launch-tower-tower-apart.svg +1 -0
  378. package/dist/assets/launch-tower-tower-apart.thick.svg +1 -0
  379. package/dist/assets/launch-tower-tower-arms.glb +0 -0
  380. package/dist/assets/launch-tower-tower-arms.painted.svg +1 -0
  381. package/dist/assets/launch-tower-tower-arms.svg +1 -0
  382. package/dist/assets/launch-tower-tower-arms.thick.svg +1 -0
  383. package/dist/assets/launch-tower-tower-mount.glb +0 -0
  384. package/dist/assets/launch-tower-tower-mount.painted.svg +1 -0
  385. package/dist/assets/launch-tower-tower-mount.svg +1 -0
  386. package/dist/assets/launch-tower-tower-mount.thick.svg +1 -0
  387. package/dist/assets/launch-tower-tower-tower.glb +0 -0
  388. package/dist/assets/launch-tower-tower-tower.painted.svg +1 -0
  389. package/dist/assets/launch-tower-tower-tower.svg +1 -0
  390. package/dist/assets/launch-tower-tower-tower.thick.svg +1 -0
  391. package/dist/assets/launch-tower-tower.glb +0 -0
  392. package/dist/assets/launch-tower-tower.painted.svg +1 -0
  393. package/dist/assets/launch-tower-tower.svg +1 -0
  394. package/dist/assets/launch-tower-tower.thick.svg +1 -0
  395. package/dist/assets/lunar-module-lunar-module-apart.painted.svg +1 -0
  396. package/dist/assets/lunar-module-lunar-module-apart.svg +1 -0
  397. package/dist/assets/lunar-module-lunar-module-apart.thick.svg +1 -0
  398. package/dist/assets/lunar-module-lunar-module-ascent.glb +0 -0
  399. package/dist/assets/lunar-module-lunar-module-ascent.painted.svg +1 -0
  400. package/dist/assets/lunar-module-lunar-module-ascent.svg +1 -0
  401. package/dist/assets/lunar-module-lunar-module-ascent.thick.svg +1 -0
  402. package/dist/assets/lunar-module-lunar-module-descent.glb +0 -0
  403. package/dist/assets/lunar-module-lunar-module-descent.painted.svg +1 -0
  404. package/dist/assets/lunar-module-lunar-module-descent.svg +1 -0
  405. package/dist/assets/lunar-module-lunar-module-descent.thick.svg +1 -0
  406. package/dist/assets/lunar-module-lunar-module.glb +0 -0
  407. package/dist/assets/lunar-module-lunar-module.painted.svg +1 -0
  408. package/dist/assets/lunar-module-lunar-module.svg +1 -0
  409. package/dist/assets/lunar-module-lunar-module.thick.svg +1 -0
  410. package/dist/assets/mercury-friendship-7.glb +0 -0
  411. package/dist/assets/mercury-friendship-7.painted.svg +1 -0
  412. package/dist/assets/mercury-friendship-7.svg +1 -0
  413. package/dist/assets/mercury-friendship-7.thick.svg +1 -0
  414. package/dist/assets/models/apollo-soyuz-csm.glb +0 -0
  415. package/dist/assets/models/apollo-soyuz-docking-module.glb +0 -0
  416. package/dist/assets/models/apollo-soyuz-soyuz.glb +0 -0
  417. package/dist/assets/models/gemini-adapter.glb +0 -0
  418. package/dist/assets/models/gemini-capsule.glb +0 -0
  419. package/dist/assets/models/hubble-telescope.glb +0 -0
  420. package/dist/assets/models/iss-station.glb +0 -0
  421. package/dist/assets/models/jupiter-c-vehicle.glb +0 -0
  422. package/dist/assets/models/lunar-module-ascent.glb +0 -0
  423. package/dist/assets/models/lunar-module-descent.glb +0 -0
  424. package/dist/assets/models/mercury-capsule.glb +0 -0
  425. package/dist/assets/models/space-shuttle-discovery-orbiter.glb +0 -0
  426. package/dist/assets/models/space-shuttle-stack-external-tank.glb +0 -0
  427. package/dist/assets/models/space-shuttle-stack-orbiter.glb +0 -0
  428. package/dist/assets/models/space-shuttle-stack-srb.glb +0 -0
  429. package/dist/assets/new-glenn-7x2-apart.painted.svg +1 -0
  430. package/dist/assets/new-glenn-7x2-apart.svg +1 -0
  431. package/dist/assets/new-glenn-7x2-apart.thick.svg +1 -0
  432. package/dist/assets/new-glenn-7x2-fairing.glb +0 -0
  433. package/dist/assets/new-glenn-7x2-fairing.painted.svg +1 -0
  434. package/dist/assets/new-glenn-7x2-fairing.svg +1 -0
  435. package/dist/assets/new-glenn-7x2-fairing.thick.svg +1 -0
  436. package/dist/assets/new-glenn-7x2-first-stage.glb +0 -0
  437. package/dist/assets/new-glenn-7x2-first-stage.painted.svg +1 -0
  438. package/dist/assets/new-glenn-7x2-first-stage.svg +1 -0
  439. package/dist/assets/new-glenn-7x2-first-stage.thick.svg +1 -0
  440. package/dist/assets/new-glenn-7x2-second-stage.glb +0 -0
  441. package/dist/assets/new-glenn-7x2-second-stage.painted.svg +1 -0
  442. package/dist/assets/new-glenn-7x2-second-stage.svg +1 -0
  443. package/dist/assets/new-glenn-7x2-second-stage.thick.svg +1 -0
  444. package/dist/assets/new-glenn-7x2.glb +0 -0
  445. package/dist/assets/new-glenn-7x2.painted.svg +1 -0
  446. package/dist/assets/new-glenn-7x2.svg +1 -0
  447. package/dist/assets/new-glenn-7x2.thick.svg +1 -0
  448. package/dist/assets/parts/flap-aft.painted.svg +1 -1
  449. package/dist/assets/parts/flap-aft.svg +1 -1
  450. package/dist/assets/parts/flap-aft.thick.svg +1 -1
  451. package/dist/assets/parts/flap-forward.painted.svg +1 -1
  452. package/dist/assets/parts/flap-forward.svg +1 -1
  453. package/dist/assets/parts/flap-forward.thick.svg +1 -1
  454. package/dist/assets/parts/grid-fin-four.painted.svg +1 -1
  455. package/dist/assets/parts/grid-fin-four.svg +1 -1
  456. package/dist/assets/parts/grid-fin-four.thick.svg +1 -1
  457. package/dist/assets/parts/grid-fin-three.painted.svg +1 -1
  458. package/dist/assets/parts/grid-fin-three.svg +1 -1
  459. package/dist/assets/parts/grid-fin-three.thick.svg +1 -1
  460. package/dist/assets/parts/merlin-sea-level.painted.svg +1 -1
  461. package/dist/assets/parts/merlin-sea-level.svg +1 -1
  462. package/dist/assets/parts/merlin-sea-level.thick.svg +1 -1
  463. package/dist/assets/parts/raptor-sea-level.painted.svg +1 -1
  464. package/dist/assets/parts/raptor-sea-level.svg +1 -1
  465. package/dist/assets/parts/raptor-sea-level.thick.svg +1 -1
  466. package/dist/assets/parts/raptor-vacuum.painted.svg +1 -1
  467. package/dist/assets/parts/raptor-vacuum.svg +1 -1
  468. package/dist/assets/parts/raptor-vacuum.thick.svg +1 -1
  469. package/dist/assets/saturn-v-saturn-v-adapter.glb +0 -0
  470. package/dist/assets/saturn-v-saturn-v-adapter.painted.svg +1 -0
  471. package/dist/assets/saturn-v-saturn-v-adapter.svg +1 -0
  472. package/dist/assets/saturn-v-saturn-v-adapter.thick.svg +1 -0
  473. package/dist/assets/saturn-v-saturn-v-apart.painted.svg +1 -0
  474. package/dist/assets/saturn-v-saturn-v-apart.svg +1 -0
  475. package/dist/assets/saturn-v-saturn-v-apart.thick.svg +1 -0
  476. package/dist/assets/saturn-v-saturn-v-capsule.glb +0 -0
  477. package/dist/assets/saturn-v-saturn-v-capsule.painted.svg +1 -0
  478. package/dist/assets/saturn-v-saturn-v-capsule.svg +1 -0
  479. package/dist/assets/saturn-v-saturn-v-capsule.thick.svg +1 -0
  480. package/dist/assets/saturn-v-saturn-v-escape-tower.glb +0 -0
  481. package/dist/assets/saturn-v-saturn-v-escape-tower.painted.svg +1 -0
  482. package/dist/assets/saturn-v-saturn-v-escape-tower.svg +1 -0
  483. package/dist/assets/saturn-v-saturn-v-escape-tower.thick.svg +1 -0
  484. package/dist/assets/saturn-v-saturn-v-first-stage.glb +0 -0
  485. package/dist/assets/saturn-v-saturn-v-first-stage.painted.svg +1 -0
  486. package/dist/assets/saturn-v-saturn-v-first-stage.svg +1 -0
  487. package/dist/assets/saturn-v-saturn-v-first-stage.thick.svg +1 -0
  488. package/dist/assets/saturn-v-saturn-v-second-stage.glb +0 -0
  489. package/dist/assets/saturn-v-saturn-v-second-stage.painted.svg +1 -0
  490. package/dist/assets/saturn-v-saturn-v-second-stage.svg +1 -0
  491. package/dist/assets/saturn-v-saturn-v-second-stage.thick.svg +1 -0
  492. package/dist/assets/saturn-v-saturn-v-service-module.glb +0 -0
  493. package/dist/assets/saturn-v-saturn-v-service-module.painted.svg +1 -0
  494. package/dist/assets/saturn-v-saturn-v-service-module.svg +1 -0
  495. package/dist/assets/saturn-v-saturn-v-service-module.thick.svg +1 -0
  496. package/dist/assets/saturn-v-saturn-v-third-stage.glb +0 -0
  497. package/dist/assets/saturn-v-saturn-v-third-stage.painted.svg +1 -0
  498. package/dist/assets/saturn-v-saturn-v-third-stage.svg +1 -0
  499. package/dist/assets/saturn-v-saturn-v-third-stage.thick.svg +1 -0
  500. package/dist/assets/saturn-v-saturn-v.glb +0 -0
  501. package/dist/assets/saturn-v-saturn-v.painted.svg +1 -0
  502. package/dist/assets/saturn-v-saturn-v.svg +1 -0
  503. package/dist/assets/saturn-v-saturn-v.thick.svg +1 -0
  504. package/dist/assets/sls-block-1-apart.painted.svg +1 -0
  505. package/dist/assets/sls-block-1-apart.svg +1 -0
  506. package/dist/assets/sls-block-1-apart.thick.svg +1 -0
  507. package/dist/assets/sls-block-1-capsule.glb +0 -0
  508. package/dist/assets/sls-block-1-capsule.painted.svg +1 -0
  509. package/dist/assets/sls-block-1-capsule.svg +1 -0
  510. package/dist/assets/sls-block-1-capsule.thick.svg +1 -0
  511. package/dist/assets/sls-block-1-escape-tower.glb +0 -0
  512. package/dist/assets/sls-block-1-escape-tower.painted.svg +1 -0
  513. package/dist/assets/sls-block-1-escape-tower.svg +1 -0
  514. package/dist/assets/sls-block-1-escape-tower.thick.svg +1 -0
  515. package/dist/assets/sls-block-1-first-stage.glb +0 -0
  516. package/dist/assets/sls-block-1-first-stage.painted.svg +1 -0
  517. package/dist/assets/sls-block-1-first-stage.svg +1 -0
  518. package/dist/assets/sls-block-1-first-stage.thick.svg +1 -0
  519. package/dist/assets/sls-block-1-service-module.glb +0 -0
  520. package/dist/assets/sls-block-1-service-module.painted.svg +1 -0
  521. package/dist/assets/sls-block-1-service-module.svg +1 -0
  522. package/dist/assets/sls-block-1-service-module.thick.svg +1 -0
  523. package/dist/assets/sls-block-1-srb-left.glb +0 -0
  524. package/dist/assets/sls-block-1-srb-left.painted.svg +1 -0
  525. package/dist/assets/sls-block-1-srb-left.svg +1 -0
  526. package/dist/assets/sls-block-1-srb-left.thick.svg +1 -0
  527. package/dist/assets/sls-block-1-srb-right.glb +0 -0
  528. package/dist/assets/sls-block-1-srb-right.painted.svg +1 -0
  529. package/dist/assets/sls-block-1-srb-right.svg +1 -0
  530. package/dist/assets/sls-block-1-srb-right.thick.svg +1 -0
  531. package/dist/assets/sls-block-1-upper-stage.glb +0 -0
  532. package/dist/assets/sls-block-1-upper-stage.painted.svg +1 -0
  533. package/dist/assets/sls-block-1-upper-stage.svg +1 -0
  534. package/dist/assets/sls-block-1-upper-stage.thick.svg +1 -0
  535. package/dist/assets/sls-block-1.glb +0 -0
  536. package/dist/assets/sls-block-1.painted.svg +1 -0
  537. package/dist/assets/sls-block-1.svg +1 -0
  538. package/dist/assets/sls-block-1.thick.svg +1 -0
  539. package/dist/assets/soyuz-soyuz-2-apart.painted.svg +1 -0
  540. package/dist/assets/soyuz-soyuz-2-apart.svg +1 -0
  541. package/dist/assets/soyuz-soyuz-2-apart.thick.svg +1 -0
  542. package/dist/assets/soyuz-soyuz-2-booster-1.glb +0 -0
  543. package/dist/assets/soyuz-soyuz-2-booster-1.painted.svg +1 -0
  544. package/dist/assets/soyuz-soyuz-2-booster-1.svg +1 -0
  545. package/dist/assets/soyuz-soyuz-2-booster-1.thick.svg +1 -0
  546. package/dist/assets/soyuz-soyuz-2-booster-2.glb +0 -0
  547. package/dist/assets/soyuz-soyuz-2-booster-2.painted.svg +1 -0
  548. package/dist/assets/soyuz-soyuz-2-booster-2.svg +1 -0
  549. package/dist/assets/soyuz-soyuz-2-booster-2.thick.svg +1 -0
  550. package/dist/assets/soyuz-soyuz-2-booster-3.glb +0 -0
  551. package/dist/assets/soyuz-soyuz-2-booster-3.painted.svg +1 -0
  552. package/dist/assets/soyuz-soyuz-2-booster-3.svg +1 -0
  553. package/dist/assets/soyuz-soyuz-2-booster-3.thick.svg +1 -0
  554. package/dist/assets/soyuz-soyuz-2-booster-4.glb +0 -0
  555. package/dist/assets/soyuz-soyuz-2-booster-4.painted.svg +1 -0
  556. package/dist/assets/soyuz-soyuz-2-booster-4.svg +1 -0
  557. package/dist/assets/soyuz-soyuz-2-booster-4.thick.svg +1 -0
  558. package/dist/assets/soyuz-soyuz-2-fairing.glb +0 -0
  559. package/dist/assets/soyuz-soyuz-2-fairing.painted.svg +1 -0
  560. package/dist/assets/soyuz-soyuz-2-fairing.svg +1 -0
  561. package/dist/assets/soyuz-soyuz-2-fairing.thick.svg +1 -0
  562. package/dist/assets/soyuz-soyuz-2-first-stage.glb +0 -0
  563. package/dist/assets/soyuz-soyuz-2-first-stage.painted.svg +1 -0
  564. package/dist/assets/soyuz-soyuz-2-first-stage.svg +1 -0
  565. package/dist/assets/soyuz-soyuz-2-first-stage.thick.svg +1 -0
  566. package/dist/assets/soyuz-soyuz-2-third-stage.glb +0 -0
  567. package/dist/assets/soyuz-soyuz-2-third-stage.painted.svg +1 -0
  568. package/dist/assets/soyuz-soyuz-2-third-stage.svg +1 -0
  569. package/dist/assets/soyuz-soyuz-2-third-stage.thick.svg +1 -0
  570. package/dist/assets/soyuz-soyuz-2.glb +0 -0
  571. package/dist/assets/soyuz-soyuz-2.painted.svg +1 -0
  572. package/dist/assets/soyuz-soyuz-2.svg +1 -0
  573. package/dist/assets/soyuz-soyuz-2.thick.svg +1 -0
  574. package/dist/assets/space-shuttle-discovery.glb +0 -0
  575. package/dist/assets/space-shuttle-discovery.painted.svg +1 -0
  576. package/dist/assets/space-shuttle-discovery.svg +1 -0
  577. package/dist/assets/space-shuttle-discovery.thick.svg +1 -0
  578. package/dist/assets/space-shuttle-stack-apart.painted.svg +1 -0
  579. package/dist/assets/space-shuttle-stack-apart.svg +1 -0
  580. package/dist/assets/space-shuttle-stack-apart.thick.svg +1 -0
  581. package/dist/assets/space-shuttle-stack-external-tank.glb +0 -0
  582. package/dist/assets/space-shuttle-stack-external-tank.painted.svg +1 -0
  583. package/dist/assets/space-shuttle-stack-external-tank.svg +1 -0
  584. package/dist/assets/space-shuttle-stack-external-tank.thick.svg +1 -0
  585. package/dist/assets/space-shuttle-stack-orbiter.glb +0 -0
  586. package/dist/assets/space-shuttle-stack-orbiter.painted.svg +1 -0
  587. package/dist/assets/space-shuttle-stack-orbiter.svg +1 -0
  588. package/dist/assets/space-shuttle-stack-orbiter.thick.svg +1 -0
  589. package/dist/assets/space-shuttle-stack-srb-left.glb +0 -0
  590. package/dist/assets/space-shuttle-stack-srb-left.painted.svg +1 -0
  591. package/dist/assets/space-shuttle-stack-srb-left.svg +1 -0
  592. package/dist/assets/space-shuttle-stack-srb-left.thick.svg +1 -0
  593. package/dist/assets/space-shuttle-stack-srb-right.glb +0 -0
  594. package/dist/assets/space-shuttle-stack-srb-right.painted.svg +1 -0
  595. package/dist/assets/space-shuttle-stack-srb-right.svg +1 -0
  596. package/dist/assets/space-shuttle-stack-srb-right.thick.svg +1 -0
  597. package/dist/assets/space-shuttle-stack.glb +0 -0
  598. package/dist/assets/space-shuttle-stack.painted.svg +1 -0
  599. package/dist/assets/space-shuttle-stack.svg +1 -0
  600. package/dist/assets/space-shuttle-stack.thick.svg +1 -0
  601. package/dist/assets/starbase-build-site-apart.painted.svg +1 -0
  602. package/dist/assets/starbase-build-site-apart.svg +1 -0
  603. package/dist/assets/starbase-build-site-apart.thick.svg +1 -0
  604. package/dist/assets/starbase-build-site-garden.glb +0 -0
  605. package/dist/assets/starbase-build-site-garden.painted.svg +1 -0
  606. package/dist/assets/starbase-build-site-garden.svg +1 -0
  607. package/dist/assets/starbase-build-site-garden.thick.svg +1 -0
  608. package/dist/assets/starbase-build-site-ground.glb +0 -0
  609. package/dist/assets/starbase-build-site-ground.painted.svg +1 -0
  610. package/dist/assets/starbase-build-site-ground.svg +1 -0
  611. package/dist/assets/starbase-build-site-ground.thick.svg +1 -0
  612. package/dist/assets/starbase-build-site-mega-bays.glb +0 -0
  613. package/dist/assets/starbase-build-site-mega-bays.painted.svg +1 -0
  614. package/dist/assets/starbase-build-site-mega-bays.svg +1 -0
  615. package/dist/assets/starbase-build-site-mega-bays.thick.svg +1 -0
  616. package/dist/assets/starbase-build-site-sign.glb +0 -0
  617. package/dist/assets/starbase-build-site-sign.painted.svg +1 -0
  618. package/dist/assets/starbase-build-site-sign.svg +1 -0
  619. package/dist/assets/starbase-build-site-sign.thick.svg +1 -0
  620. package/dist/assets/starbase-build-site-starfactory.glb +0 -0
  621. package/dist/assets/starbase-build-site-starfactory.painted.svg +1 -0
  622. package/dist/assets/starbase-build-site-starfactory.svg +1 -0
  623. package/dist/assets/starbase-build-site-starfactory.thick.svg +1 -0
  624. package/dist/assets/starbase-build-site.glb +0 -0
  625. package/dist/assets/starbase-build-site.painted.svg +1 -0
  626. package/dist/assets/starbase-build-site.svg +1 -0
  627. package/dist/assets/starbase-build-site.thick.svg +1 -0
  628. package/dist/assets/starbase-city-apart.painted.svg +1 -0
  629. package/dist/assets/starbase-city-apart.svg +1 -0
  630. package/dist/assets/starbase-city-apart.thick.svg +1 -0
  631. package/dist/assets/starbase-city-garden.glb +0 -0
  632. package/dist/assets/starbase-city-garden.painted.svg +1 -0
  633. package/dist/assets/starbase-city-garden.svg +1 -0
  634. package/dist/assets/starbase-city-garden.thick.svg +1 -0
  635. package/dist/assets/starbase-city-ground.glb +0 -0
  636. package/dist/assets/starbase-city-ground.painted.svg +1 -0
  637. package/dist/assets/starbase-city-ground.svg +1 -0
  638. package/dist/assets/starbase-city-ground.thick.svg +1 -0
  639. package/dist/assets/starbase-city-mega-bays.glb +0 -0
  640. package/dist/assets/starbase-city-mega-bays.painted.svg +1 -0
  641. package/dist/assets/starbase-city-mega-bays.svg +1 -0
  642. package/dist/assets/starbase-city-mega-bays.thick.svg +1 -0
  643. package/dist/assets/starbase-city-on-pad.glb +0 -0
  644. package/dist/assets/starbase-city-on-pad.painted.svg +1 -0
  645. package/dist/assets/starbase-city-on-pad.svg +1 -0
  646. package/dist/assets/starbase-city-on-pad.thick.svg +1 -0
  647. package/dist/assets/starbase-city-pads.glb +0 -0
  648. package/dist/assets/starbase-city-pads.painted.svg +1 -0
  649. package/dist/assets/starbase-city-pads.svg +1 -0
  650. package/dist/assets/starbase-city-pads.thick.svg +1 -0
  651. package/dist/assets/starbase-city-sign.glb +0 -0
  652. package/dist/assets/starbase-city-sign.painted.svg +1 -0
  653. package/dist/assets/starbase-city-sign.svg +1 -0
  654. package/dist/assets/starbase-city-sign.thick.svg +1 -0
  655. package/dist/assets/starbase-city-starfactory.glb +0 -0
  656. package/dist/assets/starbase-city-starfactory.painted.svg +1 -0
  657. package/dist/assets/starbase-city-starfactory.svg +1 -0
  658. package/dist/assets/starbase-city-starfactory.thick.svg +1 -0
  659. package/dist/assets/starbase-city-tank-farm.glb +0 -0
  660. package/dist/assets/starbase-city-tank-farm.painted.svg +1 -0
  661. package/dist/assets/starbase-city-tank-farm.svg +1 -0
  662. package/dist/assets/starbase-city-tank-farm.thick.svg +1 -0
  663. package/dist/assets/starbase-city-village.glb +0 -0
  664. package/dist/assets/starbase-city-village.painted.svg +1 -0
  665. package/dist/assets/starbase-city-village.svg +1 -0
  666. package/dist/assets/starbase-city-village.thick.svg +1 -0
  667. package/dist/assets/starbase-city.glb +0 -0
  668. package/dist/assets/starbase-city.painted.svg +1 -0
  669. package/dist/assets/starbase-city.svg +1 -0
  670. package/dist/assets/starbase-city.thick.svg +1 -0
  671. package/dist/assets/starbase-launch-site-apart.painted.svg +1 -0
  672. package/dist/assets/starbase-launch-site-apart.svg +1 -0
  673. package/dist/assets/starbase-launch-site-apart.thick.svg +1 -0
  674. package/dist/assets/starbase-launch-site-ground.glb +0 -0
  675. package/dist/assets/starbase-launch-site-ground.painted.svg +1 -0
  676. package/dist/assets/starbase-launch-site-ground.svg +1 -0
  677. package/dist/assets/starbase-launch-site-ground.thick.svg +1 -0
  678. package/dist/assets/starbase-launch-site-on-pad.glb +0 -0
  679. package/dist/assets/starbase-launch-site-on-pad.painted.svg +1 -0
  680. package/dist/assets/starbase-launch-site-on-pad.svg +1 -0
  681. package/dist/assets/starbase-launch-site-on-pad.thick.svg +1 -0
  682. package/dist/assets/starbase-launch-site-pads.glb +0 -0
  683. package/dist/assets/starbase-launch-site-pads.painted.svg +1 -0
  684. package/dist/assets/starbase-launch-site-pads.svg +1 -0
  685. package/dist/assets/starbase-launch-site-pads.thick.svg +1 -0
  686. package/dist/assets/starbase-launch-site-tank-farm.glb +0 -0
  687. package/dist/assets/starbase-launch-site-tank-farm.painted.svg +1 -0
  688. package/dist/assets/starbase-launch-site-tank-farm.svg +1 -0
  689. package/dist/assets/starbase-launch-site-tank-farm.thick.svg +1 -0
  690. package/dist/assets/starbase-launch-site.glb +0 -0
  691. package/dist/assets/starbase-launch-site.painted.svg +1 -0
  692. package/dist/assets/starbase-launch-site.svg +1 -0
  693. package/dist/assets/starbase-launch-site.thick.svg +1 -0
  694. package/dist/assets/starship-2019.painted.svg +1 -1
  695. package/dist/assets/starship-2019.svg +1 -1
  696. package/dist/assets/starship-2019.thick.svg +1 -1
  697. package/dist/assets/starship-v1-apart.painted.svg +1 -1
  698. package/dist/assets/starship-v1-apart.svg +1 -1
  699. package/dist/assets/starship-v1-apart.thick.svg +1 -1
  700. package/dist/assets/starship-v1-booster.painted.svg +1 -1
  701. package/dist/assets/starship-v1-booster.svg +1 -1
  702. package/dist/assets/starship-v1-booster.thick.svg +1 -1
  703. package/dist/assets/starship-v1-flight1-apart.painted.svg +1 -1
  704. package/dist/assets/starship-v1-flight1-apart.svg +1 -1
  705. package/dist/assets/starship-v1-flight1-apart.thick.svg +1 -1
  706. package/dist/assets/starship-v1-flight1-booster.painted.svg +1 -1
  707. package/dist/assets/starship-v1-flight1-booster.svg +1 -1
  708. package/dist/assets/starship-v1-flight1-booster.thick.svg +1 -1
  709. package/dist/assets/starship-v1-flight1-ship.painted.svg +1 -1
  710. package/dist/assets/starship-v1-flight1-ship.svg +1 -1
  711. package/dist/assets/starship-v1-flight1-ship.thick.svg +1 -1
  712. package/dist/assets/starship-v1-flight1.painted.svg +1 -1
  713. package/dist/assets/starship-v1-flight1.svg +1 -1
  714. package/dist/assets/starship-v1-flight1.thick.svg +1 -1
  715. package/dist/assets/starship-v1-ship.painted.svg +1 -1
  716. package/dist/assets/starship-v1-ship.svg +1 -1
  717. package/dist/assets/starship-v1-ship.thick.svg +1 -1
  718. package/dist/assets/starship-v1.painted.svg +1 -1
  719. package/dist/assets/starship-v1.svg +1 -1
  720. package/dist/assets/starship-v1.thick.svg +1 -1
  721. package/dist/assets/starship-v2-apart.painted.svg +1 -1
  722. package/dist/assets/starship-v2-apart.svg +1 -1
  723. package/dist/assets/starship-v2-apart.thick.svg +1 -1
  724. package/dist/assets/starship-v2-booster.painted.svg +1 -1
  725. package/dist/assets/starship-v2-booster.svg +1 -1
  726. package/dist/assets/starship-v2-booster.thick.svg +1 -1
  727. package/dist/assets/starship-v2-ship.painted.svg +1 -1
  728. package/dist/assets/starship-v2-ship.svg +1 -1
  729. package/dist/assets/starship-v2-ship.thick.svg +1 -1
  730. package/dist/assets/starship-v2.painted.svg +1 -1
  731. package/dist/assets/starship-v2.svg +1 -1
  732. package/dist/assets/starship-v2.thick.svg +1 -1
  733. package/dist/assets/starship-v3-apart.painted.svg +1 -1
  734. package/dist/assets/starship-v3-apart.svg +1 -1
  735. package/dist/assets/starship-v3-apart.thick.svg +1 -1
  736. package/dist/assets/starship-v3-booster.painted.svg +1 -1
  737. package/dist/assets/starship-v3-booster.svg +1 -1
  738. package/dist/assets/starship-v3-booster.thick.svg +1 -1
  739. package/dist/assets/starship-v3-ship.painted.svg +1 -1
  740. package/dist/assets/starship-v3-ship.svg +1 -1
  741. package/dist/assets/starship-v3-ship.thick.svg +1 -1
  742. package/dist/assets/starship-v3.painted.svg +1 -1
  743. package/dist/assets/starship-v3.svg +1 -1
  744. package/dist/assets/starship-v3.thick.svg +1 -1
  745. package/dist/assets/starship-v4-apart.painted.svg +1 -1
  746. package/dist/assets/starship-v4-apart.svg +1 -1
  747. package/dist/assets/starship-v4-apart.thick.svg +1 -1
  748. package/dist/assets/starship-v4-booster.painted.svg +1 -1
  749. package/dist/assets/starship-v4-booster.svg +1 -1
  750. package/dist/assets/starship-v4-booster.thick.svg +1 -1
  751. package/dist/assets/starship-v4-ship.painted.svg +1 -1
  752. package/dist/assets/starship-v4-ship.svg +1 -1
  753. package/dist/assets/starship-v4-ship.thick.svg +1 -1
  754. package/dist/assets/starship-v4.painted.svg +1 -1
  755. package/dist/assets/starship-v4.svg +1 -1
  756. package/dist/assets/starship-v4.thick.svg +1 -1
  757. package/dist/attrs.d.ts +93 -0
  758. package/dist/attrs.js +86 -0
  759. package/dist/build/glb.d.ts +25 -0
  760. package/dist/build/glb.js +14 -0
  761. package/dist/build/index.d.ts +96 -6
  762. package/dist/build/index.js +83 -8
  763. package/dist/build/lineup.d.ts +56 -2
  764. package/dist/build/lineup.js +37 -6
  765. package/dist/builder.d.ts +68 -0
  766. package/dist/builder.js +116 -0
  767. package/dist/crossfade.d.ts +44 -2
  768. package/dist/crossfade.js +44 -2
  769. package/dist/data/apollosoyuz.d.ts +6 -0
  770. package/dist/data/apollosoyuz.js +28 -0
  771. package/dist/data/credits.d.ts +63 -2
  772. package/dist/data/credits.js +52 -2
  773. package/dist/data/dragon.js +35 -0
  774. package/dist/data/electron.d.ts +2 -0
  775. package/dist/data/electron.js +23 -0
  776. package/dist/data/falcon.js +2 -2
  777. package/dist/data/falcon1.d.ts +4 -0
  778. package/dist/data/falcon1.js +51 -0
  779. package/dist/data/flight-log.d.ts +50 -0
  780. package/dist/data/flight-log.js +44 -0
  781. package/dist/data/flights.d.ts +101 -0
  782. package/dist/data/flights.js +187 -0
  783. package/dist/data/gemini.d.ts +3 -0
  784. package/dist/data/gemini.js +22 -0
  785. package/dist/data/hubble.d.ts +3 -0
  786. package/dist/data/hubble.js +23 -0
  787. package/dist/data/iss.d.ts +5 -0
  788. package/dist/data/iss.js +25 -0
  789. package/dist/data/jupiterc.d.ts +3 -0
  790. package/dist/data/jupiterc.js +22 -0
  791. package/dist/data/landing.d.ts +3 -0
  792. package/dist/data/landing.js +51 -0
  793. package/dist/data/lunarmodule.d.ts +4 -0
  794. package/dist/data/lunarmodule.js +27 -0
  795. package/dist/data/makers.d.ts +37 -0
  796. package/dist/data/makers.js +39 -0
  797. package/dist/data/mercury.d.ts +3 -0
  798. package/dist/data/mercury.js +22 -0
  799. package/dist/data/newglenn.d.ts +2 -0
  800. package/dist/data/newglenn.js +23 -0
  801. package/dist/data/saturn.d.ts +2 -0
  802. package/dist/data/saturn.js +32 -0
  803. package/dist/data/shuttle.d.ts +5 -0
  804. package/dist/data/shuttle.js +52 -0
  805. package/dist/data/sls.d.ts +4 -0
  806. package/dist/data/sls.js +36 -0
  807. package/dist/data/sources.d.ts +380 -2
  808. package/dist/data/sources.js +55 -1
  809. package/dist/data/soyuz.d.ts +3 -0
  810. package/dist/data/soyuz.js +33 -0
  811. package/dist/data/starbase.d.ts +2 -0
  812. package/dist/data/starbase.js +30 -0
  813. package/dist/data/tower.d.ts +3 -0
  814. package/dist/data/tower.js +26 -0
  815. package/dist/data/types.d.ts +88 -2
  816. package/dist/data/types.js +26 -1
  817. package/dist/draw/plume.d.ts +8 -0
  818. package/dist/draw/plume.js +71 -0
  819. package/dist/draw/svg.d.ts +1 -1
  820. package/dist/draw/svg.js +3 -3
  821. package/dist/element/ground.d.ts +15 -0
  822. package/dist/element/ground.js +95 -0
  823. package/dist/element/plumes.d.ts +38 -0
  824. package/dist/element/plumes.js +208 -0
  825. package/dist/element/scene.d.ts +39 -5
  826. package/dist/element/scene.js +250 -7
  827. package/dist/element.d.ts +111 -4
  828. package/dist/element.js +251 -16
  829. package/dist/embed.d.ts +131 -0
  830. package/dist/embed.js +218 -0
  831. package/dist/engines.d.ts +126 -0
  832. package/dist/engines.js +150 -0
  833. package/dist/fit.d.ts +70 -0
  834. package/dist/fit.js +17 -3
  835. package/dist/flight.d.ts +192 -0
  836. package/dist/flight.js +237 -0
  837. package/dist/flightbar.d.ts +34 -0
  838. package/dist/flightbar.js +188 -0
  839. package/dist/framing.d.ts +182 -8
  840. package/dist/framing.js +127 -6
  841. package/dist/index.d.ts +17 -0
  842. package/dist/index.js +9 -0
  843. package/dist/layout.d.ts +65 -1
  844. package/dist/layout.js +44 -2
  845. package/dist/looks.d.ts +65 -2
  846. package/dist/looks.js +44 -1
  847. package/dist/model/apollosoyuz.d.ts +2 -0
  848. package/dist/model/apollosoyuz.js +46 -0
  849. package/dist/model/dragoninside.d.ts +2 -0
  850. package/dist/model/dragoninside.js +67 -0
  851. package/dist/model/electron.d.ts +2 -0
  852. package/dist/model/electron.js +35 -0
  853. package/dist/model/falcon.d.ts +2 -0
  854. package/dist/model/falcon.js +4 -0
  855. package/dist/model/falcon1.d.ts +2 -0
  856. package/dist/model/falcon1.js +53 -0
  857. package/dist/model/gemini.d.ts +2 -0
  858. package/dist/model/gemini.js +28 -0
  859. package/dist/model/hubble.d.ts +2 -0
  860. package/dist/model/hubble.js +28 -0
  861. package/dist/model/iss.d.ts +2 -0
  862. package/dist/model/iss.js +32 -0
  863. package/dist/model/jupiterc.d.ts +2 -0
  864. package/dist/model/jupiterc.js +24 -0
  865. package/dist/model/kit.d.ts +36 -0
  866. package/dist/model/kit.js +95 -0
  867. package/dist/model/landing.d.ts +3 -0
  868. package/dist/model/landing.js +81 -0
  869. package/dist/model/lunarmodule.d.ts +2 -0
  870. package/dist/model/lunarmodule.js +43 -0
  871. package/dist/model/materials.d.ts +74 -0
  872. package/dist/model/materials.js +17 -0
  873. package/dist/model/mercury.d.ts +2 -0
  874. package/dist/model/mercury.js +19 -0
  875. package/dist/model/newglenn.d.ts +2 -0
  876. package/dist/model/newglenn.js +43 -0
  877. package/dist/model/pieces.d.ts +2 -0
  878. package/dist/model/pieces.js +2 -2
  879. package/dist/model/registry.d.ts +22 -0
  880. package/dist/model/registry.js +85 -0
  881. package/dist/model/saturn.d.ts +2 -0
  882. package/dist/model/saturn.js +122 -0
  883. package/dist/model/shuttle.d.ts +2 -0
  884. package/dist/model/shuttle.js +111 -0
  885. package/dist/model/sls.d.ts +2 -0
  886. package/dist/model/sls.js +83 -0
  887. package/dist/model/soyuz.d.ts +2 -0
  888. package/dist/model/soyuz.js +75 -0
  889. package/dist/model/stacks.d.ts +39 -0
  890. package/dist/model/stacks.js +1 -0
  891. package/dist/model/starbase.d.ts +2 -0
  892. package/dist/model/starbase.js +108 -0
  893. package/dist/model/tower.d.ts +6 -0
  894. package/dist/model/tower.js +89 -0
  895. package/dist/parts.d.ts +36 -3
  896. package/dist/pixels.d.ts +44 -4
  897. package/dist/pixels.js +44 -4
  898. package/dist/react.d.ts +38 -6
  899. package/dist/react.js +13 -0
  900. package/dist/rockets.d.ts +96 -3
  901. package/dist/rockets.js +136 -9
  902. package/dist/spin.d.ts +66 -0
  903. package/dist/spin.js +44 -0
  904. package/dist/tilt.d.ts +48 -4
  905. package/dist/tilt.js +26 -4
  906. package/package.json +99 -19
@@ -1,6 +1,48 @@
1
- /** The drawing stays at least this long after it first comes on screen. */
1
+ /**
2
+ * The drawing stays at least this long after it first comes on screen.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { DRAWING_HOLD_MS } from "@johnmorrisdotca/uchusen-rockets";
7
+ *
8
+ * console.log(DRAWING_HOLD_MS);
9
+ * ```
10
+ */
2
11
  export declare const DRAWING_HOLD_MS = 1200;
12
+ /**
13
+ * How long the drawing and the 3D view cross-fade, in milliseconds.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { CROSSFADE_MS } from "@johnmorrisdotca/uchusen-rockets";
18
+ *
19
+ * console.log(CROSSFADE_MS);
20
+ * ```
21
+ */
3
22
  export declare const CROSSFADE_MS = 1500;
23
+ /**
24
+ * How long the cross-fade lasts for a reader who asked for reduced motion, in milliseconds.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * import { REDUCED_FADE_MS } from "@johnmorrisdotca/uchusen-rockets";
29
+ *
30
+ * console.log(REDUCED_FADE_MS);
31
+ * ```
32
+ */
4
33
  export declare const REDUCED_FADE_MS = 400;
5
- /** How long to wait, once the 3D view is ready at `readyAt`, before it takes over from a drawing first seen at `shownAt` (0 under reduced motion). */
34
+ /**
35
+ * How long to wait, once the 3D view is ready at `readyAt`, before it takes over from a drawing first seen at `shownAt` (0 under reduced motion).
36
+ *
37
+ * @param shownAt When the drawing first came on screen, in milliseconds.
38
+ * @param readyAt When the 3D view became ready, on the same clock.
39
+ * @param reducedMotion True when the reader asked for reduced motion.
40
+ * @returns The milliseconds to wait before the 3D view takes over.
41
+ * @example
42
+ * ```ts
43
+ * import { revealDelay } from "@johnmorrisdotca/uchusen-rockets";
44
+ *
45
+ * console.log(revealDelay(0, 300, false), revealDelay(0, 300, true));
46
+ * ```
47
+ */
6
48
  export declare function revealDelay(shownAt: number, readyAt: number, reducedMotion: boolean): number;
package/dist/crossfade.js CHANGED
@@ -1,9 +1,51 @@
1
1
  // The change from a rocket's drawing to its 3D view: the drawing stays a moment even when the 3D view is ready sooner, then a slow crossfade; under reduced motion, a plain short fade. Pure.
2
- /** The drawing stays at least this long after it first comes on screen. */
2
+ /**
3
+ * The drawing stays at least this long after it first comes on screen.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { DRAWING_HOLD_MS } from "@johnmorrisdotca/uchusen-rockets";
8
+ *
9
+ * console.log(DRAWING_HOLD_MS);
10
+ * ```
11
+ */
3
12
  export const DRAWING_HOLD_MS = 1200;
13
+ /**
14
+ * How long the drawing and the 3D view cross-fade, in milliseconds.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { CROSSFADE_MS } from "@johnmorrisdotca/uchusen-rockets";
19
+ *
20
+ * console.log(CROSSFADE_MS);
21
+ * ```
22
+ */
4
23
  export const CROSSFADE_MS = 1500;
24
+ /**
25
+ * How long the cross-fade lasts for a reader who asked for reduced motion, in milliseconds.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import { REDUCED_FADE_MS } from "@johnmorrisdotca/uchusen-rockets";
30
+ *
31
+ * console.log(REDUCED_FADE_MS);
32
+ * ```
33
+ */
5
34
  export const REDUCED_FADE_MS = 400;
6
- /** How long to wait, once the 3D view is ready at `readyAt`, before it takes over from a drawing first seen at `shownAt` (0 under reduced motion). */
35
+ /**
36
+ * How long to wait, once the 3D view is ready at `readyAt`, before it takes over from a drawing first seen at `shownAt` (0 under reduced motion).
37
+ *
38
+ * @param shownAt When the drawing first came on screen, in milliseconds.
39
+ * @param readyAt When the 3D view became ready, on the same clock.
40
+ * @param reducedMotion True when the reader asked for reduced motion.
41
+ * @returns The milliseconds to wait before the 3D view takes over.
42
+ * @example
43
+ * ```ts
44
+ * import { revealDelay } from "@johnmorrisdotca/uchusen-rockets";
45
+ *
46
+ * console.log(revealDelay(0, 300, false), revealDelay(0, 300, true));
47
+ * ```
48
+ */
7
49
  export function revealDelay(shownAt, readyAt, reducedMotion) {
8
50
  if (reducedMotion)
9
51
  return 0;
@@ -0,0 +1,6 @@
1
+ import { type Figure, type Variant } from "./types.ts";
2
+ export declare const AS_CSM_LONG: Figure<number>;
3
+ export declare const AS_CSM_WIDE: Figure<number>;
4
+ export declare const AS_SOYUZ_LONG: Figure<number>;
5
+ export declare const AS_SOYUZ_WIDE: Figure<number>;
6
+ export declare const APOLLO_SOYUZ_VARIANTS: readonly Variant[];
@@ -0,0 +1,28 @@
1
+ // Apollo docked to Soyuz, as flown in 1975. Apollo's sizes are from its own article and Soyuz's from the Soyuz 7K-TM article. No article read here gives the docking module's size, or the length of the three docked.
2
+ import { blank } from "./types.js";
3
+ const A = "wikipedia-apollo-soyuz";
4
+ const C = "wikipedia-apollo-csm";
5
+ const T = "wikipedia-soyuz-7k-tm";
6
+ const m = (value, source, extra = {}) => ({ value, source, ...extra });
7
+ export const AS_CSM_LONG = m(11, C, { note: "36.2 feet." });
8
+ export const AS_CSM_WIDE = m(3.9, C, { note: "12.8 feet." });
9
+ export const AS_SOYUZ_LONG = m(7.48, T);
10
+ export const AS_SOYUZ_WIDE = m(2.72, T);
11
+ export const APOLLO_SOYUZ_VARIANTS = [
12
+ {
13
+ id: "apollo-soyuz",
14
+ rocket: "apollo-soyuz",
15
+ name: "Apollo and Soyuz, docked",
16
+ status: "flown",
17
+ firstFlight: { value: "1975-07-15", source: A, note: "Both launched that day; they docked on the 17th, as its article says." },
18
+ slots: ["csm", "docking-module", "soyuz"],
19
+ note: "NASA's model, its flags and the countries' names painted out, in the painted look, stood on end; this package's own plain shapes in the line looks. Apollo and Soyuz are each scaled to their own sourced length and width, and the docking module, which no source read here sizes, to Apollo's scale. The whole is what those add to, so it has no figure of its own.",
20
+ facts: {
21
+ height: blank("No source read here gives the length of the three docked."),
22
+ diameter: AS_CSM_WIDE,
23
+ parts: { csm: AS_CSM_LONG, "docking-module": blank("No source read here gives its size."), soyuz: AS_SOYUZ_LONG },
24
+ engines: { csm: { value: "1 service propulsion engine", source: C } },
25
+ more: {},
26
+ },
27
+ },
28
+ ];
@@ -1,13 +1,34 @@
1
+ /**
2
+ * The credit for one licensed model: its title, its creator and their page, where it came from, its licence and what this package changed.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { MODEL_CREDITS, type ModelCredit } from "@johnmorrisdotca/uchusen-rockets";
7
+ *
8
+ * const credit: ModelCredit = MODEL_CREDITS["clarence365-block3"];
9
+ * console.log(credit.creator, credit.licence);
10
+ * ```
11
+ */
1
12
  export interface ModelCredit {
2
13
  title: string;
3
14
  creator: string;
4
15
  creatorUrl: string;
5
16
  sourceUrl: string;
6
- licence: "CC BY 4.0";
17
+ licence: "CC BY 4.0" | "CC0 1.0" | "Public domain (NASA)";
7
18
  licenceUrl: string;
8
19
  /** What this package changed. */
9
20
  changes: string;
10
21
  }
22
+ /**
23
+ * Every licensed model this package paints with, by credit id. A painted rocket must carry the credit of the parts that are showing; `embedCode` writes it for you.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * import { MODEL_CREDITS } from "@johnmorrisdotca/uchusen-rockets";
28
+ *
29
+ * console.log(Object.keys(MODEL_CREDITS).length > 10);
30
+ * ```
31
+ */
11
32
  export declare const MODEL_CREDITS: {
12
33
  readonly "clarence365-block3": {
13
34
  readonly title: "SpaceX Starship Block 3";
@@ -81,7 +102,47 @@ export declare const MODEL_CREDITS: {
81
102
  readonly licenceUrl: "https://creativecommons.org/licenses/by/4.0/";
82
103
  readonly changes: "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.";
83
104
  };
105
+ readonly "smithsonian-discovery": {
106
+ readonly title: "Orbiter, Space Shuttle, OV-103, Discovery";
107
+ readonly creator: "Smithsonian Institution, National Air and Space Museum";
108
+ readonly creatorUrl: "https://3d.si.edu/";
109
+ readonly sourceUrl: "https://3d.si.edu/object/3d/orbiter-space-shuttle-ov-103-discovery:d8c636ce-4ebc-11ea-b77f-2e728ce88125";
110
+ readonly licence: "CC0 1.0";
111
+ readonly licenceUrl: "https://creativecommons.org/publicdomain/zero/1.0/";
112
+ readonly changes: "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.";
113
+ };
114
+ readonly "nasa-shuttle-hi-res": ModelCredit;
115
+ readonly "nasa-shuttle-parts": ModelCredit;
116
+ readonly "nasa-lunar-module": ModelCredit;
117
+ readonly "nasa-apollo-soyuz": ModelCredit;
118
+ readonly "nasa-gemini": ModelCredit;
119
+ readonly "nasa-friendship-7": ModelCredit;
120
+ readonly "nasa-jupiter-c": ModelCredit;
121
+ readonly "nasa-iss": ModelCredit;
122
+ readonly "nasa-hubble": ModelCredit;
84
123
  };
124
+ /**
125
+ * The id of one model's credit in `MODEL_CREDITS`.
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * import type { CreditId } from "@johnmorrisdotca/uchusen-rockets";
130
+ *
131
+ * const id: CreditId = "clarence365-block3";
132
+ * console.log(id);
133
+ * ```
134
+ */
85
135
  export type CreditId = keyof typeof MODEL_CREDITS;
86
- /** One credit as a line of text. */
136
+ /**
137
+ * One credit as a line of text.
138
+ *
139
+ * @param id The id of a credit in `MODEL_CREDITS`.
140
+ * @returns The credit as one line of text.
141
+ * @example
142
+ * ```ts
143
+ * import { creditLine } from "@johnmorrisdotca/uchusen-rockets";
144
+ *
145
+ * console.log(creditLine("clarence365-block3"));
146
+ * ```
147
+ */
87
148
  export declare function creditLine(id: CreditId): string;
@@ -1,6 +1,26 @@
1
- // Whose models the painted parts are made from. Each is under Creative Commons Attribution 4.0, and each assembled rocket's credits are generated from these rows, so an author is credited exactly for
1
+ // Whose models the painted parts are made from. Each is under Creative Commons Attribution 4.0, or CC0 or public domain where the row says so, and each assembled rocket's credits are generated from these rows, so an author is credited exactly for
2
2
  // what is used. The package's code is MIT; these assets are not: see NOTICE.md.
3
3
  const LICENCE_URL = "https://creativecommons.org/licenses/by/4.0/";
4
+ /** One of NASA's own models: its source named, with no suggestion that NASA endorses anything. See NOTICE.md for what this rests on. */
5
+ const nasa = (title, slug, changes) => ({
6
+ title,
7
+ creator: "NASA",
8
+ creatorUrl: "https://science.nasa.gov/3d-resources/",
9
+ sourceUrl: `https://data.nasa.gov/dataset/${slug}`,
10
+ licence: "Public domain (NASA)",
11
+ licenceUrl: "https://www.nasa.gov/nasa-brand-center/images-and-media/",
12
+ changes,
13
+ });
14
+ /**
15
+ * Every licensed model this package paints with, by credit id. A painted rocket must carry the credit of the parts that are showing; `embedCode` writes it for you.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * import { MODEL_CREDITS } from "@johnmorrisdotca/uchusen-rockets";
20
+ *
21
+ * console.log(Object.keys(MODEL_CREDITS).length > 10);
22
+ * ```
23
+ */
4
24
  export const MODEL_CREDITS = {
5
25
  "clarence365-block3": {
6
26
  title: "SpaceX Starship Block 3",
@@ -74,8 +94,38 @@ export const MODEL_CREDITS = {
74
94
  licenceUrl: LICENCE_URL,
75
95
  changes: "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.",
76
96
  },
97
+ "smithsonian-discovery": {
98
+ title: "Orbiter, Space Shuttle, OV-103, Discovery",
99
+ creator: "Smithsonian Institution, National Air and Space Museum",
100
+ creatorUrl: "https://3d.si.edu/",
101
+ sourceUrl: "https://3d.si.edu/object/3d/orbiter-space-shuttle-ov-103-discovery:d8c636ce-4ebc-11ea-b77f-2e728ce88125",
102
+ licence: "CC0 1.0",
103
+ licenceUrl: "https://creativecommons.org/publicdomain/zero/1.0/",
104
+ changes: "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.",
105
+ },
106
+ "nasa-shuttle-hi-res": nasa("Shuttle (Hi-Res)", "nasa-3d-models-shuttle-hi-res", "The agency mark, the flag, the country's name and the rest of the lettering painted out of its pictures; its open bay closed with its own doors and what was inside it left out; its engines put in place; reduced; rescaled to the sourced length; stood upright; its materials made into one picture."),
107
+ "nasa-shuttle-parts": nasa("Shuttle Parts (Hi-Res)", "nasa-3d-models-shuttle-parts-hi-res", "Its external tank and solid rocket booster only; rescaled to the sourced lengths; stood upright; its materials made into one picture; its pictures shrunk."),
108
+ "nasa-lunar-module": nasa("Apollo Lunar Module", "nasa-3d-models-apollo-lunar-module", "The flag and the country's name removed with the two plates that carried them; reduced from 97,588 triangles; rescaled to the sourced height; separated into its two stages; its materials made into one picture."),
109
+ "nasa-apollo-soyuz": nasa("Apollo Soyuz", "nasa-3d-models-apollo-soyuz", "The flags and the countries' names painted out of its pictures; reduced from 32,996 triangles; rescaled to the sourced lengths and widths; stood on end; separated into its three craft; its materials made into one picture."),
110
+ "nasa-gemini": nasa("Gemini", "nasa-3d-models-gemini", "The flag and the country's name painted out of its picture; reduced from 38,840 triangles; rescaled to the sourced length; separated into adapter and capsule; its materials made into one picture."),
111
+ "nasa-friendship-7": nasa("Friendship 7", "nasa-3d-models-friendship-7", "Reduced from 164,622 triangles; 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."),
112
+ "nasa-jupiter-c": nasa("Jupiter-C", "nasa-3d-models-jupiter-c", "The lettering removed with the two pictures that carried it, which are plain white here; rescaled to the sourced height; its materials made into one picture."),
113
+ "nasa-iss": nasa("ISS", "nasa-3d-models-iss", "Reduced from 174,440 triangles; a ball of stray pieces far above it left out; rescaled to the sourced length; its materials, which NASA's copy leaves all one grey, given plain colours judged from photographs. It carried no mark to remove."),
114
+ "nasa-hubble": nasa("Hubble Space Telescope", "nasa-3d-models-hubble-space-telescope", "A lettered plate painted out of its picture; rescaled to the sourced length; its materials made into one picture."),
115
+ // new rows go here
77
116
  };
78
- /** One credit as a line of text. */
117
+ /**
118
+ * One credit as a line of text.
119
+ *
120
+ * @param id The id of a credit in `MODEL_CREDITS`.
121
+ * @returns The credit as one line of text.
122
+ * @example
123
+ * ```ts
124
+ * import { creditLine } from "@johnmorrisdotca/uchusen-rockets";
125
+ *
126
+ * console.log(creditLine("clarence365-block3"));
127
+ * ```
128
+ */
79
129
  export function creditLine(id) {
80
130
  const c = MODEL_CREDITS[id];
81
131
  return `"${c.title}" by ${c.creator} (${c.sourceUrl}), ${c.licence} (${c.licenceUrl}). ${c.changes}`;
@@ -42,4 +42,39 @@ export const DRAGON_VARIANTS = [
42
42
  more: {},
43
43
  },
44
44
  },
45
+ {
46
+ id: "cargo-dragon-2",
47
+ rocket: "dragon",
48
+ name: "Cargo Dragon 2",
49
+ status: "flown",
50
+ firstFlight: said("2020-12-06", D2, { note: "CRS-21." }),
51
+ slots: ["trunk", "capsule"],
52
+ note: "The cargo version of Dragon 2. Its article gives one set of sizes for both versions, and says Cargo Dragon lacks Crew Dragon's seats, controls, life support, windows and SuperDraco abort engines. Painted by this package's own code: the licensed model shows Crew Dragon, with windows, and no model stands in for another version.",
53
+ facts: {
54
+ height: m(8.1, D2, { note: "Capsule with trunk: the article's one figure for both versions." }),
55
+ diameter: m(4, D2),
56
+ parts: {
57
+ trunk: blank("No source read here gives the trunk alone."),
58
+ capsule: m(4.5, D2),
59
+ },
60
+ engines: { capsule: said("16 Draco thrusters", D2, { note: "It has no SuperDraco abort engines." }) },
61
+ more: {},
62
+ },
63
+ },
64
+ {
65
+ id: "crew-dragon-inside",
66
+ rocket: "dragon",
67
+ name: "Inside Crew Dragon, cut open",
68
+ status: "flown",
69
+ firstFlight: said("2019-03-02", D2, { note: "Uncrewed test flight. First crewed flight 2020-05-30." }),
70
+ slots: ["capsule"],
71
+ note: "The capsule cut in half, with a person of 1.8 m for scale. Its article gives four seats, the three-screen panel over the two centre seats, the cargo below them and 9.3 cubic metres under pressure. No source read here gives those parts' sizes or places: they are judged from one published picture of the cabin.",
72
+ facts: {
73
+ height: m(4.5, D2, { note: "The capsule." }),
74
+ diameter: m(4, D2),
75
+ parts: { capsule: m(4.5, D2) },
76
+ engines: {},
77
+ more: { seats: { value: 4, source: D2, note: "In normal operations; 7 in an emergency evacuation." }, pressurized: { value: "9.3 cubic metres", source: D2 } },
78
+ },
79
+ },
45
80
  ];
@@ -0,0 +1,2 @@
1
+ import { type Variant } from "./types.ts";
2
+ export declare const ELECTRON_VARIANTS: readonly Variant[];
@@ -0,0 +1,23 @@
1
+ // Electron as its article gives it. Its stages and fairing add to a metre less than the whole, and no source read here says what that metre is: it is drawn as the stages' interstage.
2
+ import { blank } from "./types.js";
3
+ const S = "wikipedia-electron";
4
+ const m = (value, source, extra = {}) => ({ value, source, ...extra });
5
+ const said = (value, source, extra = {}) => ({ value, source, ...extra });
6
+ export const ELECTRON_VARIANTS = [
7
+ {
8
+ id: "electron",
9
+ rocket: "electron",
10
+ name: "Electron",
11
+ status: "flown",
12
+ firstFlight: said("2017-05-25", S),
13
+ slots: ["first-stage", "adapter", "second-stage", "fairing"],
14
+ note: "Carbon composite, as its article says, and painted black here from photographs. Its stages and fairing add to 17 m against a whole of 18 m, and no source read here says what the difference is: it is drawn as an interstage. No name or mark is drawn.",
15
+ facts: {
16
+ height: m(18, S),
17
+ diameter: m(1.2, S),
18
+ parts: { "first-stage": m(12.1, S), adapter: blank("No source read here gives it: it is what the whole leaves."), "second-stage": m(2.4, S), fairing: m(2.5, S) },
19
+ engines: { "first-stage": said("9 Rutherford", S), "second-stage": said("1 Rutherford", S) },
20
+ more: {},
21
+ },
22
+ },
23
+ ];
@@ -61,9 +61,9 @@ export const FALCON_9_VARIANTS = [
61
61
  status: "flown",
62
62
  firstFlight: said("2015-12-22", F9, { note: "OG2 Flight 2." }),
63
63
  slots: ["first-stage", "second-stage", "fairing"],
64
- note: "Blocks 3 and 4 are part of Full Thrust; Block 4 first flew on 2017-08-14, and no source read here gives it sizes of its own. So it is not listed apart.",
64
+ note: "Blocks 3 and 4 are part of Full Thrust. Block 4 was a transition between them and Block 5, with incremental thrust upgrades; its full design first flew on 2017-08-14. Neither the Falcon 9 article nor the Full Thrust article gives it sizes of its own, so it is not listed apart.",
65
65
  facts: {
66
- height: m(69.8, F9, { note: FAIRING_NOTE, others: [{ value: 70, source: F9, note: "The same article's table of versions rounds to 70 m." }] }),
66
+ height: m(69.8, F9, { note: FAIRING_NOTE, others: [{ value: 70, source: F9, note: "The same article's table of versions rounds to 70 m." }, { value: 71, source: "wikipedia-falcon-9-ft", note: "The Full Thrust article's infobox says 71 m with the fairing, citing SpaceX's user's guide; its own Block 5 box says 69.8 m." }] }),
67
67
  diameter: m(3.7, F9),
68
68
  parts: { "first-stage": FIRST_STAGE_WITH_INTERSTAGE, "second-stage": SECOND_STAGE, fairing: FAIRING },
69
69
  engines: { "first-stage": said("9 Merlin 1D+", F9), "second-stage": said("1 Merlin 1D Vacuum", F9) },
@@ -0,0 +1,4 @@
1
+ import { type Figure, type Variant } from "./types.ts";
2
+ export declare const FALCON_1_VARIANTS: readonly Variant[];
3
+ /** A fairing's own width, narrower than Falcon 1's stages. */
4
+ export declare const variantOfFairing: (id: string) => Figure;
@@ -0,0 +1,51 @@
1
+ // Falcon 1 as the sources give it: SpaceX's own user's guide (2008), read directly, and Wikipedia's article, which disagree on its height. No source read here gives a stage's own length.
2
+ import { blank } from "./types.js";
3
+ const G = "spacex-falcon-1-guide";
4
+ const W = "wikipedia-falcon-1";
5
+ const m = (value, source, extra = {}) => ({ value, source, ...extra });
6
+ const said = (value, source, extra = {}) => ({ value, source, ...extra });
7
+ const NO_STAGE = "No source read here gives this stage's own length: it is drawn in proportion to the whole, judged from photographs.";
8
+ export const FALCON_1_VARIANTS = [
9
+ {
10
+ id: "falcon-1",
11
+ rocket: "falcon-1",
12
+ name: "Falcon 1",
13
+ status: "flown",
14
+ firstFlight: said("2006-03-24", W, { note: "The first flight failed. The first to reach orbit was the fourth, on 2008-09-28, and the last the fifth, on 2009-07-14." }),
15
+ slots: ["first-stage", "second-stage", "fairing"],
16
+ note: "One Merlin below and one Kestrel above, in the aluminium fairing the guide gives, narrower than the stages. Its first two flights used the Merlin 1A and its last three the Merlin 1C.",
17
+ facts: {
18
+ height: m(21.3, G, { note: "70 feet, both stages with fairing and interstage.", others: [{ value: 21, source: W, note: "The article's infobox rounds to 21 m." }, { value: 22.25, source: W, note: "The same article's table of versions says 21.3 m for the Merlin 1A and 22.25 m for the Merlin 1C, with no reason given. SpaceX's guide, written in the Merlin 1C's time, says 70 feet." }] }),
19
+ diameter: m(1.7, W, { others: [{ value: 1.68, source: G, note: "The guide says 5.5 feet, which is 1.68 m." }] }),
20
+ parts: {
21
+ "first-stage": blank(NO_STAGE),
22
+ "second-stage": blank(NO_STAGE),
23
+ fairing: m(3.5, G, { note: "Figure 2-1 of the guide, with the 0.3 m below the separation plane. 1.54 m across." }),
24
+ },
25
+ engines: { "first-stage": said("1 Merlin 1A, then 1 Merlin 1C", W), "second-stage": said("1 Kestrel", W) },
26
+ more: { fairingDiameter: m(1.54, G) },
27
+ },
28
+ },
29
+ {
30
+ id: "falcon-1e",
31
+ rocket: "falcon-1",
32
+ name: "Falcon 1e (announced, never flown)",
33
+ status: "announced",
34
+ firstFlight: blank("It was announced and never flew: Falcon 1 was retired in favour of Falcon 9.", "Never flew"),
35
+ slots: ["first-stage", "second-stage", "fairing"],
36
+ note: "An enhanced Falcon 1 that SpaceX's 2008 guide describes and that was never built to fly. Its figures are announced plans. It has a longer first stage and a wider, ogive composite fairing.",
37
+ facts: {
38
+ height: m(27.4, G, { brief: "announced", note: "90 feet.", others: [{ value: 26.83, source: W, note: "The article's table of versions says 26.83 m for the proposed Falcon 1e." }] }),
39
+ diameter: m(1.7, W, { brief: "announced" }),
40
+ parts: {
41
+ "first-stage": blank(NO_STAGE),
42
+ "second-stage": blank(NO_STAGE),
43
+ fairing: m(4.4, G, { brief: "announced", note: "Figure 2-2 of the guide, 1.7 m across." }),
44
+ },
45
+ engines: { "first-stage": said("1 Merlin 1C", W, { brief: "announced" }), "second-stage": said("1 Kestrel", W, { brief: "announced" }) },
46
+ more: { fairingDiameter: m(1.7, G, { brief: "announced" }) },
47
+ },
48
+ },
49
+ ];
50
+ /** A fairing's own width, narrower than Falcon 1's stages. */
51
+ export const variantOfFairing = (id) => FALCON_1_VARIANTS.find((variant) => variant.id === id)?.facts.more.fairingDiameter;
@@ -0,0 +1,50 @@
1
+ import type { SourceId } from "./sources.ts";
2
+ /**
3
+ * One flight from the flight log: its name, the rocket and variant that show it, the date, whether the launch succeeded, the source's own words on the outcome, and the source.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { FLIGHT_LOG, type LoggedFlight } from "@johnmorrisdotca/uchusen-rockets";
8
+ *
9
+ * const flight: LoggedFlight | undefined = FLIGHT_LOG[0];
10
+ * console.log(flight?.name, flight?.launch);
11
+ * ```
12
+ */
13
+ export interface LoggedFlight {
14
+ id: string;
15
+ name: string;
16
+ rocket: string;
17
+ /** The variant in this package that shows it. */
18
+ variant: string;
19
+ /** UTC, as the source gives it. */
20
+ date: string;
21
+ launch: "Success" | "Failure";
22
+ vehicles?: string;
23
+ /** The source's own words on how it came out. */
24
+ outcome: string;
25
+ source: SourceId;
26
+ }
27
+ /**
28
+ * The flights this package keeps a record of, each from a named source. Use `flightLogOf` for one rocket.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import { FLIGHT_LOG } from "@johnmorrisdotca/uchusen-rockets";
33
+ *
34
+ * console.log(FLIGHT_LOG.length > 0);
35
+ * ```
36
+ */
37
+ export declare const FLIGHT_LOG: readonly LoggedFlight[];
38
+ /**
39
+ * A rocket's flights, in order.
40
+ *
41
+ * @param rocket A rocket's id, such as `falcon-1`.
42
+ * @returns That rocket's logged flights, in order. It is empty for a rocket with none.
43
+ * @example
44
+ * ```ts
45
+ * import { flightLogOf } from "@johnmorrisdotca/uchusen-rockets";
46
+ *
47
+ * console.log(flightLogOf("falcon-1").map((flight) => flight.name));
48
+ * ```
49
+ */
50
+ export declare const flightLogOf: (rocket: string) => readonly LoggedFlight[];
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The flights this package keeps a record of, each from a named source. Use `flightLogOf` for one rocket.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { FLIGHT_LOG } from "@johnmorrisdotca/uchusen-rockets";
7
+ *
8
+ * console.log(FLIGHT_LOG.length > 0);
9
+ * ```
10
+ */
11
+ export const FLIGHT_LOG = [
12
+ { id: "falcon-1-flight-1", name: "Falcon 1, flight 1", rocket: "falcon-1", variant: "falcon-1", date: "2006-03-24", launch: "Failure", outcome: "Engine failure at T+33 seconds, and the vehicle was lost.", source: "wikipedia-falcon-1" },
13
+ { id: "falcon-1-flight-2", name: "Falcon 1, flight 2", rocket: "falcon-1", variant: "falcon-1", date: "2007-03-21", launch: "Failure", outcome: "Reached 289 km and did not reach orbit: an oscillation of the second stage, and an early engine shutdown.", source: "wikipedia-falcon-1" },
14
+ { id: "falcon-1-flight-3", name: "Falcon 1, flight 3", rocket: "falcon-1", variant: "falcon-1", date: "2008-08-03", launch: "Failure", outcome: "The first stage recontacted the second at separation.", source: "wikipedia-falcon-1" },
15
+ { id: "falcon-1-flight-4", name: "Falcon 1, flight 4", rocket: "falcon-1", variant: "falcon-1", date: "2008-09-28", launch: "Success", outcome: "The first privately developed fully liquid-fuelled rocket to reach orbit, carrying a mass simulator.", source: "wikipedia-falcon-1" },
16
+ { id: "falcon-1-flight-5", name: "Falcon 1, flight 5", rocket: "falcon-1", variant: "falcon-1", date: "2009-07-14", launch: "Success", outcome: "Its first commercial flight, placing RazakSAT in orbit.", source: "wikipedia-falcon-1" },
17
+ { id: "starship-flight-1", name: "Starship flight 1", rocket: "starship", variant: "v1-flight1", date: "2023-04-20", launch: "Failure", vehicles: "Booster B7, Ship S24", outcome: "Booster: Precluded. Ship: Precluded.", source: "wikipedia-launches" },
18
+ { id: "starship-flight-2", name: "Starship flight 2", rocket: "starship", variant: "v1", date: "2023-11-18", launch: "Failure", vehicles: "Booster B9, Ship S25", outcome: "Booster: Failure (gulf). Ship: Precluded.", source: "wikipedia-launches" },
19
+ { id: "starship-flight-3", name: "Starship flight 3", rocket: "starship", variant: "v1", date: "2024-03-14", launch: "Success", vehicles: "Booster B10, Ship S28", outcome: "Booster: Failure (gulf). Ship: Failure (ocean).", source: "wikipedia-launches" },
20
+ { id: "starship-flight-4", name: "Starship flight 4", rocket: "starship", variant: "v1", date: "2024-06-06", launch: "Success", vehicles: "Booster B11, Ship S29", outcome: "Booster: Controlled (gulf). Ship: Controlled (ocean).", source: "wikipedia-launches" },
21
+ { id: "starship-flight-5", name: "Starship flight 5", rocket: "starship", variant: "v1", date: "2024-10-13", launch: "Success", vehicles: "Booster B12, Ship S30", outcome: "Booster: Caught (OLP-1). Ship: Controlled (ocean).", source: "wikipedia-launches" },
22
+ { id: "starship-flight-6", name: "Starship flight 6", rocket: "starship", variant: "v1", date: "2024-11-19", launch: "Success", vehicles: "Booster B13, Ship S31", outcome: "Booster: Catch aborted, diverted to the ocean. Ship: Controlled (ocean).", source: "wikipedia-launches" },
23
+ { id: "starship-flight-7", name: "Starship flight 7", rocket: "starship", variant: "v2", date: "2025-01-16", launch: "Failure", vehicles: "Booster B14-1, Ship S33", outcome: "Booster: Caught (OLP-1). Ship: Precluded.", source: "wikipedia-launches" },
24
+ { id: "starship-flight-8", name: "Starship flight 8", rocket: "starship", variant: "v2", date: "2025-03-06", launch: "Failure", vehicles: "Booster B15-1, Ship S34", outcome: "Booster: Caught (OLP-1). Ship: Precluded.", source: "wikipedia-launches" },
25
+ { id: "starship-flight-9", name: "Starship flight 9", rocket: "starship", variant: "v2", date: "2025-05-27", launch: "Failure", vehicles: "Booster B14-2, Ship S35", outcome: "Booster: Failure (gulf). Ship: Failure (ocean).", source: "wikipedia-launches" },
26
+ { id: "starship-flight-10", name: "Starship flight 10", rocket: "starship", variant: "v2", date: "2025-08-26", launch: "Success", vehicles: "Booster B16, Ship S37", outcome: "Booster: Controlled (gulf). Ship: Controlled (ocean).", source: "wikipedia-launches" },
27
+ { id: "starship-flight-11", name: "Starship flight 11", rocket: "starship", variant: "v2", date: "2025-10-13", launch: "Success", vehicles: "Booster B15-2, Ship S38", outcome: "Booster: Controlled (gulf). Ship: Controlled (ocean).", source: "wikipedia-launches" },
28
+ { id: "starship-flight-12", name: "Starship flight 12", rocket: "starship", variant: "v3", date: "2026-05-22", launch: "Success", vehicles: "Booster B19, Ship S39", outcome: "Booster: Failure (gulf). Ship: Controlled (ocean).", source: "wikipedia-launches" },
29
+ { id: "starship-flight-13", name: "Starship flight 13", rocket: "starship", variant: "v3", date: "2026-07-24", launch: "Success", vehicles: "Booster B20, Ship S40", outcome: "Booster: Failure (gulf). Ship: Controlled (ocean).", source: "wikipedia-launches" },
30
+ { id: "starship-flight-14", name: "Starship flight 14", rocket: "starship", variant: "v3", date: "2026-09-28", launch: "Success", vehicles: "Booster B21, Ship S41", outcome: "Booster: Controlled (gulf). Ship: Controlled (ocean).", source: "wikipedia-launches" },
31
+ ];
32
+ /**
33
+ * A rocket's flights, in order.
34
+ *
35
+ * @param rocket A rocket's id, such as `falcon-1`.
36
+ * @returns That rocket's logged flights, in order. It is empty for a rocket with none.
37
+ * @example
38
+ * ```ts
39
+ * import { flightLogOf } from "@johnmorrisdotca/uchusen-rockets";
40
+ *
41
+ * console.log(flightLogOf("falcon-1").map((flight) => flight.name));
42
+ * ```
43
+ */
44
+ export const flightLogOf = (rocket) => FLIGHT_LOG.filter((flight) => flight.rocket === rocket);
@@ -0,0 +1,101 @@
1
+ import { type Figure } from "./types.ts";
2
+ import type { SourceId } from "./sources.ts";
3
+ /**
4
+ * How a part stands in the picture at a phase. A picture, not a measurement: `dx` and `dy` are in heights of the whole vehicle.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import type { PartPose } from "@johnmorrisdotca/uchusen-rockets";
9
+ *
10
+ * const pose: PartPose = { dx: 0.2, dy: -0.1, pitch: 12 };
11
+ * console.log(pose);
12
+ * ```
13
+ */
14
+ export interface PartPose {
15
+ dx?: number;
16
+ dy?: number;
17
+ /** Turned this many degrees from upright. */
18
+ pitch?: number;
19
+ /** Its base stands on the ground. */
20
+ rest?: boolean;
21
+ /** It has left the picture. */
22
+ gone?: boolean;
23
+ }
24
+ /**
25
+ * How many engines of a part burn. `drawn` says how many flames to draw where no page says how many burned.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import type { FlightBurn } from "@johnmorrisdotca/uchusen-rockets";
30
+ *
31
+ * const burn: FlightBurn = { engines: { value: null, source: null, brief: "not given" }, drawn: 9 };
32
+ * console.log(burn);
33
+ * ```
34
+ */
35
+ export interface FlightBurn {
36
+ engines: Figure;
37
+ drawn?: number;
38
+ }
39
+ /**
40
+ * One phase of a flight: its id and name, what happens, when (a figure with its source), how many engines burn, how each part stands, and how far the ground has fallen away. The poses and the smoke are a picture, not a measurement.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * import { FLIGHTS, type FlightPhase } from "@johnmorrisdotca/uchusen-rockets";
45
+ *
46
+ * const phase: FlightPhase | undefined = FLIGHTS[0]?.phases[0];
47
+ * console.log(phase?.name, phase?.what);
48
+ * ```
49
+ */
50
+ export interface FlightPhase {
51
+ id: string;
52
+ name: string;
53
+ /** What happens, in a line. */
54
+ what: string;
55
+ /** Seconds from the flight's zero, on the page's own clock. */
56
+ at: Figure;
57
+ burns: Readonly<Record<string, FlightBurn>>;
58
+ pose: Readonly<Record<string, PartPose>>;
59
+ /** How far the ground has fallen from under the rocket, in heights of the whole vehicle. A picture. */
60
+ ground: number;
61
+ /** How much smoke and water stands on the pad, 0 to 1. A picture. */
62
+ smoke?: number;
63
+ /** 0 near the ground, 1 high up, where a flame fans out. A picture. */
64
+ air?: number;
65
+ altitude?: Figure<string>;
66
+ speed?: Figure<string>;
67
+ }
68
+ /**
69
+ * A flight, from a published timeline: its rocket and variant, whose timing it is, its source and its phases in order.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * import { FLIGHTS, type Flight } from "@johnmorrisdotca/uchusen-rockets";
74
+ *
75
+ * const flight: Flight | undefined = FLIGHTS[0];
76
+ * console.log(flight?.name, flight?.phases.length);
77
+ * ```
78
+ */
79
+ export interface Flight {
80
+ id: string;
81
+ rocket: string;
82
+ variant: string;
83
+ name: string;
84
+ /** Whose timing it is, and whether it was what was planned or what happened. */
85
+ basis: string;
86
+ source: SourceId;
87
+ /** What the picture leaves out. */
88
+ note?: string;
89
+ phases: readonly FlightPhase[];
90
+ }
91
+ /**
92
+ * Every flight the package can play, one for each variant that has a timeline. Use `flightOf` to find one.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import { FLIGHTS } from "@johnmorrisdotca/uchusen-rockets";
97
+ *
98
+ * console.log(FLIGHTS.map((flight) => `${flight.rocket}:${flight.variant}`));
99
+ * ```
100
+ */
101
+ export declare const FLIGHTS: readonly Flight[];