@johnmorrisdotca/uchusen-rockets 0.18.0 → 0.19.1

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 (322) hide show
  1. package/CHANGELOG.md +30 -4
  2. package/NOTICE.md +22 -4
  3. package/README.md +16 -11
  4. package/dist/assets/hubble-hubble-aft-shroud.glb +0 -0
  5. package/dist/assets/hubble-hubble-aft-shroud.painted.svg +1 -0
  6. package/dist/assets/hubble-hubble-aft-shroud.svg +1 -0
  7. package/dist/assets/hubble-hubble-aft-shroud.thick.svg +1 -0
  8. package/dist/assets/hubble-hubble-antenna-far.glb +0 -0
  9. package/dist/assets/hubble-hubble-antenna-far.painted.svg +1 -0
  10. package/dist/assets/hubble-hubble-antenna-far.svg +1 -0
  11. package/dist/assets/hubble-hubble-antenna-far.thick.svg +1 -0
  12. package/dist/assets/hubble-hubble-antenna-near.glb +0 -0
  13. package/dist/assets/hubble-hubble-antenna-near.painted.svg +1 -0
  14. package/dist/assets/hubble-hubble-antenna-near.svg +1 -0
  15. package/dist/assets/hubble-hubble-antenna-near.thick.svg +1 -0
  16. package/dist/assets/hubble-hubble-apart.painted.svg +1 -0
  17. package/dist/assets/hubble-hubble-apart.svg +1 -0
  18. package/dist/assets/hubble-hubble-apart.thick.svg +1 -0
  19. package/dist/assets/hubble-hubble-aperture-door.glb +0 -0
  20. package/dist/assets/hubble-hubble-aperture-door.painted.svg +1 -0
  21. package/dist/assets/hubble-hubble-aperture-door.svg +1 -0
  22. package/dist/assets/hubble-hubble-aperture-door.thick.svg +1 -0
  23. package/dist/assets/hubble-hubble-array-left.glb +0 -0
  24. package/dist/assets/hubble-hubble-array-left.painted.svg +1 -0
  25. package/dist/assets/hubble-hubble-array-left.svg +1 -0
  26. package/dist/assets/hubble-hubble-array-left.thick.svg +1 -0
  27. package/dist/assets/hubble-hubble-array-right.glb +0 -0
  28. package/dist/assets/hubble-hubble-array-right.painted.svg +1 -0
  29. package/dist/assets/hubble-hubble-array-right.svg +1 -0
  30. package/dist/assets/hubble-hubble-array-right.thick.svg +1 -0
  31. package/dist/assets/hubble-hubble-equipment-section.glb +0 -0
  32. package/dist/assets/hubble-hubble-equipment-section.painted.svg +1 -0
  33. package/dist/assets/hubble-hubble-equipment-section.svg +1 -0
  34. package/dist/assets/hubble-hubble-equipment-section.thick.svg +1 -0
  35. package/dist/assets/hubble-hubble-forward-shell.glb +0 -0
  36. package/dist/assets/hubble-hubble-forward-shell.painted.svg +1 -0
  37. package/dist/assets/hubble-hubble-forward-shell.svg +1 -0
  38. package/dist/assets/hubble-hubble-forward-shell.thick.svg +1 -0
  39. package/dist/assets/hubble-hubble-light-shield.glb +0 -0
  40. package/dist/assets/hubble-hubble-light-shield.painted.svg +1 -0
  41. package/dist/assets/hubble-hubble-light-shield.svg +1 -0
  42. package/dist/assets/hubble-hubble-light-shield.thick.svg +1 -0
  43. package/dist/assets/hubble-hubble.glb +0 -0
  44. package/dist/assets/hubble-hubble.painted.svg +1 -1
  45. package/dist/assets/hubble-hubble.svg +1 -1
  46. package/dist/assets/hubble-hubble.thick.svg +1 -1
  47. package/dist/assets/iss-iss-airlock.glb +0 -0
  48. package/dist/assets/iss-iss-airlock.painted.svg +1 -0
  49. package/dist/assets/iss-iss-airlock.svg +1 -0
  50. package/dist/assets/iss-iss-airlock.thick.svg +1 -0
  51. package/dist/assets/iss-iss-apart.painted.svg +1 -0
  52. package/dist/assets/iss-iss-apart.svg +1 -0
  53. package/dist/assets/iss-iss-apart.thick.svg +1 -0
  54. package/dist/assets/iss-iss-arrays-p4.glb +0 -0
  55. package/dist/assets/iss-iss-arrays-p4.painted.svg +1 -0
  56. package/dist/assets/iss-iss-arrays-p4.svg +1 -0
  57. package/dist/assets/iss-iss-arrays-p4.thick.svg +1 -0
  58. package/dist/assets/iss-iss-arrays-p6.glb +0 -0
  59. package/dist/assets/iss-iss-arrays-p6.painted.svg +1 -0
  60. package/dist/assets/iss-iss-arrays-p6.svg +1 -0
  61. package/dist/assets/iss-iss-arrays-p6.thick.svg +1 -0
  62. package/dist/assets/iss-iss-arrays-s4.glb +0 -0
  63. package/dist/assets/iss-iss-arrays-s4.painted.svg +1 -0
  64. package/dist/assets/iss-iss-arrays-s4.svg +1 -0
  65. package/dist/assets/iss-iss-arrays-s4.thick.svg +1 -0
  66. package/dist/assets/iss-iss-arrays-s6.glb +0 -0
  67. package/dist/assets/iss-iss-arrays-s6.painted.svg +1 -0
  68. package/dist/assets/iss-iss-arrays-s6.svg +1 -0
  69. package/dist/assets/iss-iss-arrays-s6.thick.svg +1 -0
  70. package/dist/assets/iss-iss-columbus.glb +0 -0
  71. package/dist/assets/iss-iss-columbus.painted.svg +1 -0
  72. package/dist/assets/iss-iss-columbus.svg +1 -0
  73. package/dist/assets/iss-iss-columbus.thick.svg +1 -0
  74. package/dist/assets/iss-iss-destiny.glb +0 -0
  75. package/dist/assets/iss-iss-destiny.painted.svg +1 -0
  76. package/dist/assets/iss-iss-destiny.svg +1 -0
  77. package/dist/assets/iss-iss-destiny.thick.svg +1 -0
  78. package/dist/assets/iss-iss-harmony.glb +0 -0
  79. package/dist/assets/iss-iss-harmony.painted.svg +1 -0
  80. package/dist/assets/iss-iss-harmony.svg +1 -0
  81. package/dist/assets/iss-iss-harmony.thick.svg +1 -0
  82. package/dist/assets/iss-iss-kibo.glb +0 -0
  83. package/dist/assets/iss-iss-kibo.painted.svg +1 -0
  84. package/dist/assets/iss-iss-kibo.svg +1 -0
  85. package/dist/assets/iss-iss-kibo.thick.svg +1 -0
  86. package/dist/assets/iss-iss-radiators-port.glb +0 -0
  87. package/dist/assets/iss-iss-radiators-port.painted.svg +1 -0
  88. package/dist/assets/iss-iss-radiators-port.svg +1 -0
  89. package/dist/assets/iss-iss-radiators-port.thick.svg +1 -0
  90. package/dist/assets/iss-iss-radiators-starboard.glb +0 -0
  91. package/dist/assets/iss-iss-radiators-starboard.painted.svg +1 -0
  92. package/dist/assets/iss-iss-radiators-starboard.svg +1 -0
  93. package/dist/assets/iss-iss-radiators-starboard.thick.svg +1 -0
  94. package/dist/assets/iss-iss-soyuz-aft.glb +0 -0
  95. package/dist/assets/iss-iss-soyuz-aft.painted.svg +1 -0
  96. package/dist/assets/iss-iss-soyuz-aft.svg +1 -0
  97. package/dist/assets/iss-iss-soyuz-aft.thick.svg +1 -0
  98. package/dist/assets/iss-iss-soyuz-zarya-nadir.glb +0 -0
  99. package/dist/assets/iss-iss-soyuz-zarya-nadir.painted.svg +1 -0
  100. package/dist/assets/iss-iss-soyuz-zarya-nadir.svg +1 -0
  101. package/dist/assets/iss-iss-soyuz-zarya-nadir.thick.svg +1 -0
  102. package/dist/assets/iss-iss-soyuz-zvezda-nadir.glb +0 -0
  103. package/dist/assets/iss-iss-soyuz-zvezda-nadir.painted.svg +1 -0
  104. package/dist/assets/iss-iss-soyuz-zvezda-nadir.svg +1 -0
  105. package/dist/assets/iss-iss-soyuz-zvezda-nadir.thick.svg +1 -0
  106. package/dist/assets/iss-iss-soyuz-zvezda-zenith.glb +0 -0
  107. package/dist/assets/iss-iss-soyuz-zvezda-zenith.painted.svg +1 -0
  108. package/dist/assets/iss-iss-soyuz-zvezda-zenith.svg +1 -0
  109. package/dist/assets/iss-iss-soyuz-zvezda-zenith.thick.svg +1 -0
  110. package/dist/assets/iss-iss-truss-p1.glb +0 -0
  111. package/dist/assets/iss-iss-truss-p1.painted.svg +1 -0
  112. package/dist/assets/iss-iss-truss-p1.svg +1 -0
  113. package/dist/assets/iss-iss-truss-p1.thick.svg +1 -0
  114. package/dist/assets/iss-iss-truss-p3-p4.glb +0 -0
  115. package/dist/assets/iss-iss-truss-p3-p4.painted.svg +1 -0
  116. package/dist/assets/iss-iss-truss-p3-p4.svg +1 -0
  117. package/dist/assets/iss-iss-truss-p3-p4.thick.svg +1 -0
  118. package/dist/assets/iss-iss-truss-p5.glb +0 -0
  119. package/dist/assets/iss-iss-truss-p5.painted.svg +1 -0
  120. package/dist/assets/iss-iss-truss-p5.svg +1 -0
  121. package/dist/assets/iss-iss-truss-p5.thick.svg +1 -0
  122. package/dist/assets/iss-iss-truss-p6.glb +0 -0
  123. package/dist/assets/iss-iss-truss-p6.painted.svg +1 -0
  124. package/dist/assets/iss-iss-truss-p6.svg +1 -0
  125. package/dist/assets/iss-iss-truss-p6.thick.svg +1 -0
  126. package/dist/assets/iss-iss-truss-s0.glb +0 -0
  127. package/dist/assets/iss-iss-truss-s0.painted.svg +1 -0
  128. package/dist/assets/iss-iss-truss-s0.svg +1 -0
  129. package/dist/assets/iss-iss-truss-s0.thick.svg +1 -0
  130. package/dist/assets/iss-iss-truss-s1.glb +0 -0
  131. package/dist/assets/iss-iss-truss-s1.painted.svg +1 -0
  132. package/dist/assets/iss-iss-truss-s1.svg +1 -0
  133. package/dist/assets/iss-iss-truss-s1.thick.svg +1 -0
  134. package/dist/assets/iss-iss-truss-s3-s4.glb +0 -0
  135. package/dist/assets/iss-iss-truss-s3-s4.painted.svg +1 -0
  136. package/dist/assets/iss-iss-truss-s3-s4.svg +1 -0
  137. package/dist/assets/iss-iss-truss-s3-s4.thick.svg +1 -0
  138. package/dist/assets/iss-iss-truss-s5.glb +0 -0
  139. package/dist/assets/iss-iss-truss-s5.painted.svg +1 -0
  140. package/dist/assets/iss-iss-truss-s5.svg +1 -0
  141. package/dist/assets/iss-iss-truss-s5.thick.svg +1 -0
  142. package/dist/assets/iss-iss-truss-s6.glb +0 -0
  143. package/dist/assets/iss-iss-truss-s6.painted.svg +1 -0
  144. package/dist/assets/iss-iss-truss-s6.svg +1 -0
  145. package/dist/assets/iss-iss-truss-s6.thick.svg +1 -0
  146. package/dist/assets/iss-iss-unity.glb +0 -0
  147. package/dist/assets/iss-iss-unity.painted.svg +1 -0
  148. package/dist/assets/iss-iss-unity.svg +1 -0
  149. package/dist/assets/iss-iss-unity.thick.svg +1 -0
  150. package/dist/assets/iss-iss-zarya.glb +0 -0
  151. package/dist/assets/iss-iss-zarya.painted.svg +1 -0
  152. package/dist/assets/iss-iss-zarya.svg +1 -0
  153. package/dist/assets/iss-iss-zarya.thick.svg +1 -0
  154. package/dist/assets/iss-iss-zvezda.glb +0 -0
  155. package/dist/assets/iss-iss-zvezda.painted.svg +1 -0
  156. package/dist/assets/iss-iss-zvezda.svg +1 -0
  157. package/dist/assets/iss-iss-zvezda.thick.svg +1 -0
  158. package/dist/assets/iss-iss.glb +0 -0
  159. package/dist/assets/iss-iss.painted.svg +1 -1
  160. package/dist/assets/iss-iss.svg +1 -1
  161. package/dist/assets/iss-iss.thick.svg +1 -1
  162. package/dist/assets/jupiter-c-jupiter-c-apart.painted.svg +1 -0
  163. package/dist/assets/jupiter-c-jupiter-c-apart.svg +1 -0
  164. package/dist/assets/jupiter-c-jupiter-c-apart.thick.svg +1 -0
  165. package/dist/assets/jupiter-c-jupiter-c-first-stage.glb +0 -0
  166. package/dist/assets/jupiter-c-jupiter-c-first-stage.painted.svg +1 -0
  167. package/dist/assets/jupiter-c-jupiter-c-first-stage.svg +1 -0
  168. package/dist/assets/jupiter-c-jupiter-c-first-stage.thick.svg +1 -0
  169. package/dist/assets/jupiter-c-jupiter-c-fourth-stage.glb +0 -0
  170. package/dist/assets/jupiter-c-jupiter-c-fourth-stage.painted.svg +1 -0
  171. package/dist/assets/jupiter-c-jupiter-c-fourth-stage.svg +1 -0
  172. package/dist/assets/jupiter-c-jupiter-c-fourth-stage.thick.svg +1 -0
  173. package/dist/assets/jupiter-c-jupiter-c-tail.glb +0 -0
  174. package/dist/assets/jupiter-c-jupiter-c-tail.painted.svg +1 -0
  175. package/dist/assets/jupiter-c-jupiter-c-tail.svg +1 -0
  176. package/dist/assets/jupiter-c-jupiter-c-tail.thick.svg +1 -0
  177. package/dist/assets/jupiter-c-jupiter-c-tub.glb +0 -0
  178. package/dist/assets/jupiter-c-jupiter-c-tub.painted.svg +1 -0
  179. package/dist/assets/jupiter-c-jupiter-c-tub.svg +1 -0
  180. package/dist/assets/jupiter-c-jupiter-c-tub.thick.svg +1 -0
  181. package/dist/assets/jupiter-c-jupiter-c.glb +0 -0
  182. package/dist/assets/jupiter-c-jupiter-c.painted.svg +1 -1
  183. package/dist/assets/jupiter-c-jupiter-c.svg +1 -1
  184. package/dist/assets/jupiter-c-jupiter-c.thick.svg +1 -1
  185. package/dist/assets/models/hubble-aft-shroud.glb +0 -0
  186. package/dist/assets/models/hubble-antenna-far.glb +0 -0
  187. package/dist/assets/models/hubble-antenna-near.glb +0 -0
  188. package/dist/assets/models/hubble-aperture-door.glb +0 -0
  189. package/dist/assets/models/hubble-array-left.glb +0 -0
  190. package/dist/assets/models/hubble-array-right.glb +0 -0
  191. package/dist/assets/models/hubble-equipment-section.glb +0 -0
  192. package/dist/assets/models/hubble-forward-shell.glb +0 -0
  193. package/dist/assets/models/hubble-light-shield.glb +0 -0
  194. package/dist/assets/models/iss-airlock.glb +0 -0
  195. package/dist/assets/models/iss-arrays-p4.glb +0 -0
  196. package/dist/assets/models/iss-arrays-p6.glb +0 -0
  197. package/dist/assets/models/iss-arrays-s4.glb +0 -0
  198. package/dist/assets/models/iss-arrays-s6.glb +0 -0
  199. package/dist/assets/models/iss-columbus.glb +0 -0
  200. package/dist/assets/models/iss-destiny.glb +0 -0
  201. package/dist/assets/models/iss-harmony.glb +0 -0
  202. package/dist/assets/models/iss-kibo.glb +0 -0
  203. package/dist/assets/models/iss-radiators-port.glb +0 -0
  204. package/dist/assets/models/iss-radiators-starboard.glb +0 -0
  205. package/dist/assets/models/iss-soyuz-aft.glb +0 -0
  206. package/dist/assets/models/iss-soyuz-zarya-nadir.glb +0 -0
  207. package/dist/assets/models/iss-soyuz-zvezda-nadir.glb +0 -0
  208. package/dist/assets/models/iss-soyuz-zvezda-zenith.glb +0 -0
  209. package/dist/assets/models/iss-truss-p1.glb +0 -0
  210. package/dist/assets/models/iss-truss-p3-p4.glb +0 -0
  211. package/dist/assets/models/iss-truss-p5.glb +0 -0
  212. package/dist/assets/models/iss-truss-p6.glb +0 -0
  213. package/dist/assets/models/iss-truss-s0.glb +0 -0
  214. package/dist/assets/models/iss-truss-s1.glb +0 -0
  215. package/dist/assets/models/iss-truss-s3-s4.glb +0 -0
  216. package/dist/assets/models/iss-truss-s5.glb +0 -0
  217. package/dist/assets/models/iss-truss-s6.glb +0 -0
  218. package/dist/assets/models/iss-unity.glb +0 -0
  219. package/dist/assets/models/iss-zarya.glb +0 -0
  220. package/dist/assets/models/iss-zvezda.glb +0 -0
  221. package/dist/assets/models/jupiter-c-first-stage.glb +0 -0
  222. package/dist/assets/models/jupiter-c-fourth-stage.glb +0 -0
  223. package/dist/assets/models/jupiter-c-tail.glb +0 -0
  224. package/dist/assets/models/jupiter-c-tub.glb +0 -0
  225. package/dist/assets/models/tiangong-hub.glb +0 -0
  226. package/dist/assets/models/tiangong-mengtian-arrays.glb +0 -0
  227. package/dist/assets/models/tiangong-mengtian.glb +0 -0
  228. package/dist/assets/models/tiangong-shenzhou-forward.glb +0 -0
  229. package/dist/assets/models/tiangong-shenzhou-nadir.glb +0 -0
  230. package/dist/assets/models/tiangong-tianhe-arrays.glb +0 -0
  231. package/dist/assets/models/tiangong-tianhe.glb +0 -0
  232. package/dist/assets/models/tiangong-tianzhou.glb +0 -0
  233. package/dist/assets/models/tiangong-wentian-arrays.glb +0 -0
  234. package/dist/assets/models/tiangong-wentian.glb +0 -0
  235. package/dist/assets/tiangong-tiangong-apart.painted.svg +1 -0
  236. package/dist/assets/tiangong-tiangong-apart.svg +1 -0
  237. package/dist/assets/tiangong-tiangong-apart.thick.svg +1 -0
  238. package/dist/assets/tiangong-tiangong-hub.glb +0 -0
  239. package/dist/assets/tiangong-tiangong-hub.painted.svg +1 -0
  240. package/dist/assets/tiangong-tiangong-hub.svg +1 -0
  241. package/dist/assets/tiangong-tiangong-hub.thick.svg +1 -0
  242. package/dist/assets/tiangong-tiangong-mengtian-arrays.glb +0 -0
  243. package/dist/assets/tiangong-tiangong-mengtian-arrays.painted.svg +1 -0
  244. package/dist/assets/tiangong-tiangong-mengtian-arrays.svg +1 -0
  245. package/dist/assets/tiangong-tiangong-mengtian-arrays.thick.svg +1 -0
  246. package/dist/assets/tiangong-tiangong-mengtian.glb +0 -0
  247. package/dist/assets/tiangong-tiangong-mengtian.painted.svg +1 -0
  248. package/dist/assets/tiangong-tiangong-mengtian.svg +1 -0
  249. package/dist/assets/tiangong-tiangong-mengtian.thick.svg +1 -0
  250. package/dist/assets/tiangong-tiangong-shenzhou-forward.glb +0 -0
  251. package/dist/assets/tiangong-tiangong-shenzhou-forward.painted.svg +1 -0
  252. package/dist/assets/tiangong-tiangong-shenzhou-forward.svg +1 -0
  253. package/dist/assets/tiangong-tiangong-shenzhou-forward.thick.svg +1 -0
  254. package/dist/assets/tiangong-tiangong-shenzhou-nadir.glb +0 -0
  255. package/dist/assets/tiangong-tiangong-shenzhou-nadir.painted.svg +1 -0
  256. package/dist/assets/tiangong-tiangong-shenzhou-nadir.svg +1 -0
  257. package/dist/assets/tiangong-tiangong-shenzhou-nadir.thick.svg +1 -0
  258. package/dist/assets/tiangong-tiangong-tianhe-arrays.glb +0 -0
  259. package/dist/assets/tiangong-tiangong-tianhe-arrays.painted.svg +1 -0
  260. package/dist/assets/tiangong-tiangong-tianhe-arrays.svg +1 -0
  261. package/dist/assets/tiangong-tiangong-tianhe-arrays.thick.svg +1 -0
  262. package/dist/assets/tiangong-tiangong-tianhe.glb +0 -0
  263. package/dist/assets/tiangong-tiangong-tianhe.painted.svg +1 -0
  264. package/dist/assets/tiangong-tiangong-tianhe.svg +1 -0
  265. package/dist/assets/tiangong-tiangong-tianhe.thick.svg +1 -0
  266. package/dist/assets/tiangong-tiangong-tianzhou.glb +0 -0
  267. package/dist/assets/tiangong-tiangong-tianzhou.painted.svg +1 -0
  268. package/dist/assets/tiangong-tiangong-tianzhou.svg +1 -0
  269. package/dist/assets/tiangong-tiangong-tianzhou.thick.svg +1 -0
  270. package/dist/assets/tiangong-tiangong-wentian-arrays.glb +0 -0
  271. package/dist/assets/tiangong-tiangong-wentian-arrays.painted.svg +1 -0
  272. package/dist/assets/tiangong-tiangong-wentian-arrays.svg +1 -0
  273. package/dist/assets/tiangong-tiangong-wentian-arrays.thick.svg +1 -0
  274. package/dist/assets/tiangong-tiangong-wentian.glb +0 -0
  275. package/dist/assets/tiangong-tiangong-wentian.painted.svg +1 -0
  276. package/dist/assets/tiangong-tiangong-wentian.svg +1 -0
  277. package/dist/assets/tiangong-tiangong-wentian.thick.svg +1 -0
  278. package/dist/assets/tiangong-tiangong.glb +0 -0
  279. package/dist/assets/tiangong-tiangong.painted.svg +1 -0
  280. package/dist/assets/tiangong-tiangong.svg +1 -0
  281. package/dist/assets/tiangong-tiangong.thick.svg +1 -0
  282. package/dist/buildbar.js +22 -5
  283. package/dist/data/credits.d.ts +18 -1
  284. package/dist/data/credits.js +20 -3
  285. package/dist/data/hubble.js +16 -6
  286. package/dist/data/iss.js +52 -5
  287. package/dist/data/jupiterc.js +11 -6
  288. package/dist/data/makers.d.ts +1 -0
  289. package/dist/data/makers.js +2 -1
  290. package/dist/data/sources.d.ts +160 -0
  291. package/dist/data/sources.js +20 -0
  292. package/dist/data/tiangong.d.ts +12 -0
  293. package/dist/data/tiangong.js +54 -0
  294. package/dist/element/orbitWorld.d.ts +5 -0
  295. package/dist/element/orbitWorld.js +46 -1
  296. package/dist/element/probe.d.ts +15 -0
  297. package/dist/element/probe.js +46 -0
  298. package/dist/element/scene.d.ts +6 -0
  299. package/dist/element/scene.js +25 -11
  300. package/dist/element.d.ts +2 -0
  301. package/dist/element.js +27 -20
  302. package/dist/launches/data.d.ts +2 -0
  303. package/dist/launches/data.js +4 -0
  304. package/dist/launches/index.d.ts +318 -0
  305. package/dist/launches/index.js +249 -0
  306. package/dist/launches/links.d.ts +43 -0
  307. package/dist/launches/links.js +40 -0
  308. package/dist/launches/source.d.ts +20 -0
  309. package/dist/launches/source.js +22 -0
  310. package/dist/model/hubble.js +51 -17
  311. package/dist/model/iss.js +109 -23
  312. package/dist/model/jupiterc.js +29 -11
  313. package/dist/model/registry.js +4 -2
  314. package/dist/model/tiangong.d.ts +2 -0
  315. package/dist/model/tiangong.js +109 -0
  316. package/dist/parts.d.ts +1 -1
  317. package/dist/rockets.js +52 -3
  318. package/dist/thrusters.js +4 -4
  319. package/package.json +11 -1
  320. package/dist/assets/models/hubble-telescope.glb +0 -0
  321. package/dist/assets/models/iss-station.glb +0 -0
  322. package/dist/assets/models/jupiter-c-vehicle.glb +0 -0
package/dist/element.js CHANGED
@@ -21,6 +21,7 @@ import { ROCKETS, SLOT_NAMES } from "./rockets.js";
21
21
  import { tiltMode, tiltTurn } from "./tilt.js";
22
22
  import { skyQuery } from "./element/solarGroups.js";
23
23
  import { Panel } from "./element/panel.js";
24
+ import { glProbe } from "./element/probe.js";
24
25
  import { spinOf } from "./spin.js";
25
26
  const HTMLBase = typeof HTMLElement === "undefined" ? class {
26
27
  } : HTMLElement;
@@ -94,29 +95,13 @@ function adopt(root, css, holder) {
94
95
  const rocketSheet = { sheet: null };
95
96
  const lineupSheet = { sheet: null };
96
97
  const media = (query) => typeof matchMedia === "function" && matchMedia(query).matches;
97
- let webgl = null;
98
- function webglWorks() {
99
- if (webgl !== null)
100
- return webgl;
101
- try {
102
- const probe = document.createElement("canvas");
103
- const gl = probe.getContext("webgl2") ?? probe.getContext("webgl");
104
- webgl = Boolean(gl);
105
- gl?.getExtension("WEBGL_lose_context")?.loseContext();
106
- }
107
- catch {
108
- webgl = false;
109
- }
110
- return webgl;
111
- }
98
+ /** Why the 3D view is not wanted, from what is known without making a WebGL context. Whether WebGL works is asked once, when the first element comes on screen. */
112
99
  function whyNot(mode) {
113
100
  if (mode === "drawing")
114
101
  return "off";
115
102
  const connection = navigator.connection;
116
103
  if (connection?.saveData || media("(prefers-reduced-data: reduce)"))
117
104
  return "reduced-data";
118
- if (!webglWorks())
119
- return "no-webgl";
120
105
  return "";
121
106
  }
122
107
  /**
@@ -134,7 +119,7 @@ function whyNot(mode) {
134
119
  * ```
135
120
  */
136
121
  export class UchusenRocket extends HTMLBase {
137
- static observedAttributes = ["rocket", "variant", "show", "look", "view", "build", "mode", "assets", "spin", "way", "label", "engines", "lights", "thrusters", "phase", "motion", "labels", "inspector", "beside", "captions", "scale-note", "off-screen", "scale", "progress", "float", "names", "leave", "docked", "edges", "world", "form"];
122
+ static observedAttributes = ["rocket", "variant", "show", "look", "view", "build", "mode", "assets", "spin", "way", "label", "engines", "lights", "thrusters", "phase", "motion", "labels", "inspector", "beside", "captions", "scale-note", "off-screen", "scale", "progress", "float", "names", "leave", "docked", "edges", "world", "world-turn", "form"];
138
123
  descriptionValue = null;
139
124
  picture = null;
140
125
  holder = null;
@@ -154,6 +139,8 @@ export class UchusenRocket extends HTMLBase {
154
139
  stateNow = "picture";
155
140
  shownAt = 0;
156
141
  starting = false;
142
+ /** Whether this element has asked the page's WebGL answer since it started watching. */
143
+ glAsked = false;
157
144
  key = "";
158
145
  driven = null;
159
146
  placeFrame = 0;
@@ -361,6 +348,8 @@ export class UchusenRocket extends HTMLBase {
361
348
  this.viewer?.setEdges(after === "open");
362
349
  else if (name === "world")
363
350
  this.viewer?.setOrbit(after === "earth");
351
+ else if (name === "world-turn")
352
+ this.viewer?.setWorldTurn(Number(after));
364
353
  else if (name === "names")
365
354
  this.viewer?.setNameLabels(after !== "off");
366
355
  else if (name === "progress")
@@ -740,6 +729,10 @@ export class UchusenRocket extends HTMLBase {
740
729
  this.dataset.slots = this.builtNow.parts.map((part) => part.slot).join(",");
741
730
  this.dataset.form = this.descriptionNow().form ?? "stack";
742
731
  this.dataset.detail = this.detailFor(this.descriptionNow());
732
+ if (CARRIERS.has(this.descriptionNow().rocket))
733
+ this.dataset.docked = this.dockedFine ? "full" : "coarse";
734
+ else
735
+ delete this.dataset.docked;
743
736
  this.dataset.custom = String(this.builtNow.report.custom);
744
737
  }
745
738
  async applyRocket() {
@@ -802,10 +795,12 @@ export class UchusenRocket extends HTMLBase {
802
795
  upgradeDocked() {
803
796
  if (this.dockedFine)
804
797
  return true;
805
- if (!this.fine || !this.builtNow || !CARRIERS.has(this.descriptionNow().rocket))
798
+ if (!this.builtNow || !CARRIERS.has(this.descriptionNow().rocket))
806
799
  return false;
807
800
  const description = this.descriptionNow();
801
+ // A page that zooms the picture and leaves the camera where it is never brings the fine build in by distance, so the carrier is brought to its full build here too.
808
802
  this.dockedFine = true;
803
+ this.fine = true;
809
804
  try {
810
805
  this.builtNow = build(description, { detail: "full", dockedDetail: "full", ...this.besideOptions(description), scale: this.sizeNow(description), ...this.dockedOption() });
811
806
  }
@@ -892,7 +887,8 @@ export class UchusenRocket extends HTMLBase {
892
887
  }
893
888
  startWatching() {
894
889
  this.watch?.disconnect();
895
- const reason = whyNot(this.getAttribute("mode") ?? "auto");
890
+ let reason = whyNot(this.getAttribute("mode") ?? "auto");
891
+ this.glAsked = false;
896
892
  if (reason) {
897
893
  this.setState(reason === "off" ? "picture" : "fallback", reason);
898
894
  if (reason !== "off")
@@ -908,6 +904,16 @@ export class UchusenRocket extends HTMLBase {
908
904
  this.kickFlight();
909
905
  if (reason)
910
906
  return;
907
+ if (seen.isIntersecting && !this.glAsked) {
908
+ // The probe makes a context, which software drawing takes seconds over: it waits until a view is about to draw, and is made once for the whole page.
909
+ this.glAsked = true;
910
+ if (!glProbe().works) {
911
+ reason = "no-webgl";
912
+ this.setState("fallback", reason);
913
+ this.emit("uchusen-fallback", { reason });
914
+ return;
915
+ }
916
+ }
911
917
  if (seen.isIntersecting) {
912
918
  this.shownAt ||= performance.now();
913
919
  window.clearTimeout(this.releaseTimer);
@@ -978,6 +984,7 @@ export class UchusenRocket extends HTMLBase {
978
984
  });
979
985
  this.viewer = made;
980
986
  made.setOrbit(this.getAttribute("world") === "earth");
987
+ made.setWorldTurn(Number(this.getAttribute("world-turn")));
981
988
  if (this.pivotWanted)
982
989
  made.setPivot(this.pivotWanted.at, this.pivotWanted.label);
983
990
  if (this.pathsWanted !== null)
@@ -0,0 +1,2 @@
1
+ /** The packed log. */
2
+ export declare const PACKED_LAUNCHES: string;