@ksp-gonogo/sitrep-sdk 0.0.1 → 0.2.0-rc.12

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 (1117) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +48 -8
  3. package/biome.shared.json +26 -0
  4. package/dist/__generated__/command-map.d.ts +480 -0
  5. package/dist/__generated__/command-map.d.ts.map +1 -0
  6. package/dist/__generated__/command-map.js +265 -0
  7. package/dist/__generated__/command-map.js.map +1 -0
  8. package/dist/__generated__/contract.d.ts +10271 -454
  9. package/dist/__generated__/contract.d.ts.map +1 -1
  10. package/dist/__generated__/contract.js +1163 -11
  11. package/dist/__generated__/contract.js.map +1 -1
  12. package/dist/__generated__/control-channels.d.ts +116 -0
  13. package/dist/__generated__/control-channels.d.ts.map +1 -0
  14. package/dist/__generated__/control-channels.js +29 -0
  15. package/dist/__generated__/control-channels.js.map +1 -0
  16. package/dist/__generated__/delay-roles.d.ts +17 -0
  17. package/dist/__generated__/delay-roles.d.ts.map +1 -0
  18. package/dist/__generated__/delay-roles.js +72 -0
  19. package/dist/__generated__/delay-roles.js.map +1 -0
  20. package/dist/__generated__/error-codes.d.ts +376 -0
  21. package/dist/__generated__/error-codes.d.ts.map +1 -0
  22. package/dist/__generated__/error-codes.js +688 -0
  23. package/dist/__generated__/error-codes.js.map +1 -0
  24. package/dist/__generated__/frames.d.ts +83 -0
  25. package/dist/__generated__/frames.d.ts.map +1 -0
  26. package/dist/__generated__/frames.js +44 -0
  27. package/dist/__generated__/frames.js.map +1 -0
  28. package/dist/__generated__/reckonability.d.ts +381 -0
  29. package/dist/__generated__/reckonability.d.ts.map +1 -0
  30. package/dist/__generated__/reckonability.js +49 -0
  31. package/dist/__generated__/reckonability.js.map +1 -0
  32. package/dist/__generated__/test-theme.d.ts +52 -0
  33. package/dist/__generated__/test-theme.d.ts.map +1 -0
  34. package/dist/__generated__/test-theme.js +70 -0
  35. package/dist/__generated__/test-theme.js.map +1 -0
  36. package/dist/__generated__/topic-map.d.ts +44 -12
  37. package/dist/__generated__/topic-map.d.ts.map +1 -1
  38. package/dist/__generated__/topic-map.js +84 -11
  39. package/dist/__generated__/topic-map.js.map +1 -1
  40. package/dist/__generated__/units.d.ts +97 -0
  41. package/dist/__generated__/units.d.ts.map +1 -0
  42. package/dist/__generated__/units.js +3302 -0
  43. package/dist/__generated__/units.js.map +1 -0
  44. package/dist/api/action-dispatch.d.ts +36 -0
  45. package/dist/api/action-dispatch.d.ts.map +1 -0
  46. package/dist/api/action-dispatch.js +79 -0
  47. package/dist/api/action-dispatch.js.map +1 -0
  48. package/dist/api/alarm-request.d.ts +118 -0
  49. package/dist/api/alarm-request.d.ts.map +1 -0
  50. package/dist/api/alarm-request.js +50 -0
  51. package/dist/api/alarm-request.js.map +1 -0
  52. package/dist/api/bodies.d.ts +68 -0
  53. package/dist/api/bodies.d.ts.map +1 -0
  54. package/dist/api/bodies.js +103 -0
  55. package/dist/api/bodies.js.map +1 -0
  56. package/dist/api/command-rejection.d.ts +104 -0
  57. package/dist/api/command-rejection.d.ts.map +1 -0
  58. package/dist/api/command-rejection.js +128 -0
  59. package/dist/api/command-rejection.js.map +1 -0
  60. package/dist/api/contribution-slots.d.ts +594 -0
  61. package/dist/api/contribution-slots.d.ts.map +1 -0
  62. package/dist/api/contribution-slots.js +43 -0
  63. package/dist/api/contribution-slots.js.map +1 -0
  64. package/dist/api/coverage/CoverageMaskCache.d.ts +52 -0
  65. package/dist/api/coverage/CoverageMaskCache.d.ts.map +1 -0
  66. package/dist/api/coverage/CoverageMaskCache.js +89 -0
  67. package/dist/api/coverage/CoverageMaskCache.js.map +1 -0
  68. package/dist/api/coverage/CoverageMaskContext.d.ts +35 -0
  69. package/dist/api/coverage/CoverageMaskContext.d.ts.map +1 -0
  70. package/dist/api/coverage/CoverageMaskContext.js +53 -0
  71. package/dist/api/coverage/CoverageMaskContext.js.map +1 -0
  72. package/dist/api/coverage-source.d.ts +42 -0
  73. package/dist/api/coverage-source.d.ts.map +1 -0
  74. package/dist/api/coverage-source.js +118 -0
  75. package/dist/api/coverage-source.js.map +1 -0
  76. package/dist/api/error-codes.d.ts +32 -0
  77. package/dist/api/error-codes.d.ts.map +1 -0
  78. package/dist/api/error-codes.js +77 -0
  79. package/dist/api/error-codes.js.map +1 -0
  80. package/dist/api/event-reveal.d.ts +56 -0
  81. package/dist/api/event-reveal.d.ts.map +1 -0
  82. package/dist/api/event-reveal.js +53 -0
  83. package/dist/api/event-reveal.js.map +1 -0
  84. package/dist/api/host.d.ts +130 -0
  85. package/dist/api/host.d.ts.map +1 -0
  86. package/dist/api/host.js +57 -0
  87. package/dist/api/host.js.map +1 -0
  88. package/dist/api/index.d.ts +604 -0
  89. package/dist/api/index.d.ts.map +1 -0
  90. package/dist/api/index.js +671 -0
  91. package/dist/api/index.js.map +1 -0
  92. package/dist/api/localStorageStore.d.ts +50 -0
  93. package/dist/api/localStorageStore.d.ts.map +1 -0
  94. package/dist/api/localStorageStore.js +151 -0
  95. package/dist/api/localStorageStore.js.map +1 -0
  96. package/dist/api/logger-contract.d.ts +37 -0
  97. package/dist/api/logger-contract.d.ts.map +1 -0
  98. package/dist/api/logger-contract.js +2 -0
  99. package/dist/api/logger-contract.js.map +1 -0
  100. package/dist/api/logger.d.ts +9 -0
  101. package/dist/api/logger.d.ts.map +1 -0
  102. package/dist/api/logger.js +16 -0
  103. package/dist/api/logger.js.map +1 -0
  104. package/dist/api/map-poi.d.ts +28 -0
  105. package/dist/api/map-poi.d.ts.map +1 -0
  106. package/dist/api/map-poi.js +82 -0
  107. package/dist/api/map-poi.js.map +1 -0
  108. package/dist/api/plot-layers.d.ts +240 -0
  109. package/dist/api/plot-layers.d.ts.map +1 -0
  110. package/dist/api/plot-layers.js +35 -0
  111. package/dist/api/plot-layers.js.map +1 -0
  112. package/dist/api/plots.d.ts +127 -0
  113. package/dist/api/plots.d.ts.map +1 -0
  114. package/dist/api/plots.js +39 -0
  115. package/dist/api/plots.js.map +1 -0
  116. package/dist/api/registry.d.ts +106 -0
  117. package/dist/api/registry.d.ts.map +1 -0
  118. package/dist/api/registry.js +267 -0
  119. package/dist/api/registry.js.map +1 -0
  120. package/dist/api/root-providers.d.ts +63 -0
  121. package/dist/api/root-providers.d.ts.map +1 -0
  122. package/dist/api/root-providers.js +76 -0
  123. package/dist/api/root-providers.js.map +1 -0
  124. package/dist/api/safe-random-uuid.d.ts +8 -0
  125. package/dist/api/safe-random-uuid.d.ts.map +1 -0
  126. package/dist/api/safe-random-uuid.js +19 -0
  127. package/dist/api/safe-random-uuid.js.map +1 -0
  128. package/dist/api/settings/SettingsContext.d.ts +32 -0
  129. package/dist/api/settings/SettingsContext.d.ts.map +1 -0
  130. package/dist/api/settings/SettingsContext.js +46 -0
  131. package/dist/api/settings/SettingsContext.js.map +1 -0
  132. package/dist/api/settings/SettingsService.d.ts +36 -0
  133. package/dist/api/settings/SettingsService.d.ts.map +1 -0
  134. package/dist/api/settings/SettingsService.js +139 -0
  135. package/dist/api/settings/SettingsService.js.map +1 -0
  136. package/dist/api/settings/store.d.ts +67 -0
  137. package/dist/api/settings/store.d.ts.map +1 -0
  138. package/dist/api/settings/store.js +160 -0
  139. package/dist/api/settings/store.js.map +1 -0
  140. package/dist/api/slots.d.ts +870 -0
  141. package/dist/api/slots.d.ts.map +1 -0
  142. package/dist/api/slots.js +45 -0
  143. package/dist/api/slots.js.map +1 -0
  144. package/dist/api/station-brokers.d.ts +48 -0
  145. package/dist/api/station-brokers.d.ts.map +1 -0
  146. package/dist/api/station-brokers.js +74 -0
  147. package/dist/api/station-brokers.js.map +1 -0
  148. package/dist/api/stock-bodies.d.ts +20 -0
  149. package/dist/api/stock-bodies.d.ts.map +1 -0
  150. package/dist/api/stock-bodies.js +263 -0
  151. package/dist/api/stock-bodies.js.map +1 -0
  152. package/dist/api/tiny-size.d.ts +13 -0
  153. package/dist/api/tiny-size.d.ts.map +1 -0
  154. package/dist/api/tiny-size.js +10 -0
  155. package/dist/api/tiny-size.js.map +1 -0
  156. package/dist/api/tone.d.ts +25 -0
  157. package/dist/api/tone.d.ts.map +1 -0
  158. package/dist/api/tone.js +15 -0
  159. package/dist/api/tone.js.map +1 -0
  160. package/dist/api/transport.d.ts +83 -0
  161. package/dist/api/transport.d.ts.map +1 -0
  162. package/dist/api/transport.js +2 -0
  163. package/dist/api/transport.js.map +1 -0
  164. package/dist/api/types.d.ts +1604 -0
  165. package/dist/api/types.d.ts.map +1 -0
  166. package/dist/api/types.js +19 -0
  167. package/dist/api/types.js.map +1 -0
  168. package/dist/api/uplink-handles.d.ts +40 -0
  169. package/dist/api/uplink-handles.d.ts.map +1 -0
  170. package/dist/api/uplink-handles.js +59 -0
  171. package/dist/api/uplink-handles.js.map +1 -0
  172. package/dist/binary-frame.d.ts +116 -0
  173. package/dist/binary-frame.d.ts.map +1 -0
  174. package/dist/binary-frame.js +188 -0
  175. package/dist/binary-frame.js.map +1 -0
  176. package/dist/burn-clock.d.ts +61 -0
  177. package/dist/burn-clock.d.ts.map +1 -0
  178. package/dist/burn-clock.js +82 -0
  179. package/dist/burn-clock.js.map +1 -0
  180. package/dist/client.d.ts +8 -1
  181. package/dist/client.d.ts.map +1 -1
  182. package/dist/client.js +39 -7
  183. package/dist/client.js.map +1 -1
  184. package/dist/combine-readings.d.ts +84 -0
  185. package/dist/combine-readings.d.ts.map +1 -0
  186. package/dist/combine-readings.js +197 -0
  187. package/dist/combine-readings.js.map +1 -0
  188. package/dist/command-delay.d.ts +211 -0
  189. package/dist/command-delay.d.ts.map +1 -0
  190. package/dist/command-delay.js +194 -0
  191. package/dist/command-delay.js.map +1 -0
  192. package/dist/command-reply-units.d.ts +14 -0
  193. package/dist/command-reply-units.d.ts.map +1 -0
  194. package/dist/command-reply-units.js +46 -0
  195. package/dist/command-reply-units.js.map +1 -0
  196. package/dist/commands.d.ts +143 -0
  197. package/dist/commands.d.ts.map +1 -0
  198. package/dist/commands.js +113 -0
  199. package/dist/commands.js.map +1 -0
  200. package/dist/comms-degrade.d.ts +43 -0
  201. package/dist/comms-degrade.d.ts.map +1 -0
  202. package/dist/comms-degrade.js +45 -0
  203. package/dist/comms-degrade.js.map +1 -0
  204. package/dist/compat-versions.d.ts +42 -0
  205. package/dist/compat-versions.d.ts.map +1 -0
  206. package/dist/compat-versions.js +42 -0
  207. package/dist/compat-versions.js.map +1 -0
  208. package/dist/contract-enum-names.d.ts +89 -0
  209. package/dist/contract-enum-names.d.ts.map +1 -0
  210. package/dist/contract-enum-names.js +90 -0
  211. package/dist/contract-enum-names.js.map +1 -0
  212. package/dist/control-channels.d.ts +46 -0
  213. package/dist/control-channels.d.ts.map +1 -0
  214. package/dist/control-channels.js +49 -0
  215. package/dist/control-channels.js.map +1 -0
  216. package/dist/crew-standing.d.ts +69 -0
  217. package/dist/crew-standing.d.ts.map +1 -0
  218. package/dist/crew-standing.js +105 -0
  219. package/dist/crew-standing.js.map +1 -0
  220. package/dist/delay-roles.d.ts +96 -0
  221. package/dist/delay-roles.d.ts.map +1 -0
  222. package/dist/delay-roles.js +114 -0
  223. package/dist/delay-roles.js.map +1 -0
  224. package/dist/descent.d.ts +89 -0
  225. package/dist/descent.d.ts.map +1 -0
  226. package/dist/descent.js +96 -0
  227. package/dist/descent.js.map +1 -0
  228. package/dist/enum-names.d.ts +18 -0
  229. package/dist/enum-names.d.ts.map +1 -0
  230. package/dist/enum-names.js +35 -0
  231. package/dist/enum-names.js.map +1 -0
  232. package/dist/envelope.d.ts +15 -3
  233. package/dist/envelope.d.ts.map +1 -1
  234. package/dist/envelope.js +1 -0
  235. package/dist/envelope.js.map +1 -1
  236. package/dist/event-timeline.d.ts +112 -0
  237. package/dist/event-timeline.d.ts.map +1 -0
  238. package/dist/event-timeline.js +120 -0
  239. package/dist/event-timeline.js.map +1 -0
  240. package/dist/extensions.d.ts +28 -0
  241. package/dist/extensions.d.ts.map +1 -0
  242. package/dist/extensions.js +36 -0
  243. package/dist/extensions.js.map +1 -0
  244. package/dist/field-frames.d.ts +32 -0
  245. package/dist/field-frames.d.ts.map +1 -0
  246. package/dist/field-frames.js +41 -0
  247. package/dist/field-frames.js.map +1 -0
  248. package/dist/flight/BufferedDataSource.d.ts +260 -0
  249. package/dist/flight/BufferedDataSource.d.ts.map +1 -0
  250. package/dist/flight/BufferedDataSource.js +790 -0
  251. package/dist/flight/BufferedDataSource.js.map +1 -0
  252. package/dist/flight/DataSourceWrapper.d.ts +33 -0
  253. package/dist/flight/DataSourceWrapper.d.ts.map +1 -0
  254. package/dist/flight/DataSourceWrapper.js +55 -0
  255. package/dist/flight/DataSourceWrapper.js.map +1 -0
  256. package/dist/flight/ListenerSet.d.ts +28 -0
  257. package/dist/flight/ListenerSet.d.ts.map +1 -0
  258. package/dist/flight/ListenerSet.js +66 -0
  259. package/dist/flight/ListenerSet.js.map +1 -0
  260. package/dist/flight/debugFlight.d.ts +8 -0
  261. package/dist/flight/debugFlight.d.ts.map +1 -0
  262. package/dist/flight/debugFlight.js +14 -0
  263. package/dist/flight/debugFlight.js.map +1 -0
  264. package/dist/flight/derive.d.ts +45 -0
  265. package/dist/flight/derive.d.ts.map +1 -0
  266. package/dist/flight/derive.js +26 -0
  267. package/dist/flight/derive.js.map +1 -0
  268. package/dist/flight/fixtureIO.d.ts +103 -0
  269. package/dist/flight/fixtureIO.d.ts.map +1 -0
  270. package/dist/flight/fixtureIO.js +120 -0
  271. package/dist/flight/fixtureIO.js.map +1 -0
  272. package/dist/flight/flightAutoDelete.d.ts +33 -0
  273. package/dist/flight/flightAutoDelete.d.ts.map +1 -0
  274. package/dist/flight/flightAutoDelete.js +43 -0
  275. package/dist/flight/flightAutoDelete.js.map +1 -0
  276. package/dist/flight/flightDetector.d.ts +73 -0
  277. package/dist/flight/flightDetector.d.ts.map +1 -0
  278. package/dist/flight/flightDetector.js +167 -0
  279. package/dist/flight/flightDetector.js.map +1 -0
  280. package/dist/flight/storage/LocalStorageStore.d.ts +52 -0
  281. package/dist/flight/storage/LocalStorageStore.d.ts.map +1 -0
  282. package/dist/flight/storage/LocalStorageStore.js +127 -0
  283. package/dist/flight/storage/LocalStorageStore.js.map +1 -0
  284. package/dist/flight/storage/MemoryStore.d.ts +24 -0
  285. package/dist/flight/storage/MemoryStore.d.ts.map +1 -0
  286. package/dist/flight/storage/MemoryStore.js +90 -0
  287. package/dist/flight/storage/MemoryStore.js.map +1 -0
  288. package/dist/flight/storage/Store.d.ts +37 -0
  289. package/dist/flight/storage/Store.d.ts.map +1 -0
  290. package/dist/flight/storage/Store.js +8 -0
  291. package/dist/flight/storage/Store.js.map +1 -0
  292. package/dist/flight/types.d.ts +358 -0
  293. package/dist/flight/types.d.ts.map +1 -0
  294. package/dist/flight/types.js +10 -0
  295. package/dist/flight/types.js.map +1 -0
  296. package/dist/frame-qualifier.d.ts +61 -0
  297. package/dist/frame-qualifier.d.ts.map +1 -0
  298. package/dist/frame-qualifier.js +122 -0
  299. package/dist/frame-qualifier.js.map +1 -0
  300. package/dist/frames/index.d.ts +133 -0
  301. package/dist/frames/index.d.ts.map +1 -0
  302. package/dist/frames/index.js +128 -0
  303. package/dist/frames/index.js.map +1 -0
  304. package/dist/index.d.ts +76 -5
  305. package/dist/index.d.ts.map +1 -1
  306. package/dist/index.js +191 -5
  307. package/dist/index.js.map +1 -1
  308. package/dist/ksp-enum-names.d.ts +127 -0
  309. package/dist/ksp-enum-names.d.ts.map +1 -0
  310. package/dist/ksp-enum-names.js +128 -0
  311. package/dist/ksp-enum-names.js.map +1 -0
  312. package/dist/locked.d.ts +20 -0
  313. package/dist/locked.d.ts.map +1 -0
  314. package/dist/locked.js +25 -0
  315. package/dist/locked.js.map +1 -0
  316. package/dist/magnitude.d.ts +37 -0
  317. package/dist/magnitude.d.ts.map +1 -0
  318. package/dist/magnitude.js +39 -0
  319. package/dist/magnitude.js.map +1 -0
  320. package/dist/maneuver-basis.d.ts +19 -0
  321. package/dist/maneuver-basis.d.ts.map +1 -0
  322. package/dist/maneuver-basis.js +37 -0
  323. package/dist/maneuver-basis.js.map +1 -0
  324. package/dist/media/capture-clock.d.ts +35 -0
  325. package/dist/media/capture-clock.d.ts.map +1 -0
  326. package/dist/media/capture-clock.js +26 -0
  327. package/dist/media/capture-clock.js.map +1 -0
  328. package/dist/media/delayed-playout-buffer.d.ts +169 -0
  329. package/dist/media/delayed-playout-buffer.d.ts.map +1 -0
  330. package/dist/media/delayed-playout-buffer.js +166 -0
  331. package/dist/media/delayed-playout-buffer.js.map +1 -0
  332. package/dist/media/encoded-frame-delay.d.ts +115 -0
  333. package/dist/media/encoded-frame-delay.d.ts.map +1 -0
  334. package/dist/media/encoded-frame-delay.js +85 -0
  335. package/dist/media/encoded-frame-delay.js.map +1 -0
  336. package/dist/media/frame-delay.d.ts +204 -0
  337. package/dist/media/frame-delay.d.ts.map +1 -0
  338. package/dist/media/frame-delay.js +237 -0
  339. package/dist/media/frame-delay.js.map +1 -0
  340. package/dist/media/index.d.ts +17 -0
  341. package/dist/media/index.d.ts.map +1 -0
  342. package/dist/media/index.js +21 -0
  343. package/dist/media/index.js.map +1 -0
  344. package/dist/media/radio-support.d.ts +98 -0
  345. package/dist/media/radio-support.d.ts.map +1 -0
  346. package/dist/media/radio-support.js +99 -0
  347. package/dist/media/radio-support.js.map +1 -0
  348. package/dist/media/shared-delayed-streams.d.ts +119 -0
  349. package/dist/media/shared-delayed-streams.d.ts.map +1 -0
  350. package/dist/media/shared-delayed-streams.js +167 -0
  351. package/dist/media/shared-delayed-streams.js.map +1 -0
  352. package/dist/media/worker/delay-worker-client.d.ts +106 -0
  353. package/dist/media/worker/delay-worker-client.d.ts.map +1 -0
  354. package/dist/media/worker/delay-worker-client.js +207 -0
  355. package/dist/media/worker/delay-worker-client.js.map +1 -0
  356. package/dist/media/worker/delay-worker.d.ts +107 -0
  357. package/dist/media/worker/delay-worker.d.ts.map +1 -0
  358. package/dist/media/worker/delay-worker.js +604 -0
  359. package/dist/media/worker/delay-worker.js.map +7 -0
  360. package/dist/media/worker/presentation-pacer.d.ts +156 -0
  361. package/dist/media/worker/presentation-pacer.d.ts.map +1 -0
  362. package/dist/media/worker/presentation-pacer.js +200 -0
  363. package/dist/media/worker/presentation-pacer.js.map +1 -0
  364. package/dist/media/worker/time-base.d.ts +44 -0
  365. package/dist/media/worker/time-base.d.ts.map +1 -0
  366. package/dist/media/worker/time-base.js +48 -0
  367. package/dist/media/worker/time-base.js.map +1 -0
  368. package/dist/media/worker/worker-delay-clock.d.ts +59 -0
  369. package/dist/media/worker/worker-delay-clock.d.ts.map +1 -0
  370. package/dist/media/worker/worker-delay-clock.js +89 -0
  371. package/dist/media/worker/worker-delay-clock.js.map +1 -0
  372. package/dist/perf/PerfBudget.d.ts +116 -0
  373. package/dist/perf/PerfBudget.d.ts.map +1 -0
  374. package/dist/perf/PerfBudget.js +221 -0
  375. package/dist/perf/PerfBudget.js.map +1 -0
  376. package/dist/rail-tags.d.ts +156 -0
  377. package/dist/rail-tags.d.ts.map +1 -0
  378. package/dist/rail-tags.js +131 -0
  379. package/dist/rail-tags.js.map +1 -0
  380. package/dist/raw-field-split.d.ts +32 -0
  381. package/dist/raw-field-split.d.ts.map +1 -0
  382. package/dist/raw-field-split.js +46 -0
  383. package/dist/raw-field-split.js.map +1 -0
  384. package/dist/reading.d.ts +960 -0
  385. package/dist/reading.d.ts.map +1 -0
  386. package/dist/reading.js +529 -0
  387. package/dist/reading.js.map +1 -0
  388. package/dist/reckonability.d.ts +52 -0
  389. package/dist/reckonability.d.ts.map +1 -0
  390. package/dist/reckonability.js +79 -0
  391. package/dist/reckonability.js.map +1 -0
  392. package/dist/registry/index.d.ts +7 -0
  393. package/dist/registry/index.d.ts.map +1 -0
  394. package/dist/registry/index.js +26 -0
  395. package/dist/registry/index.js.map +1 -0
  396. package/dist/runtime-topic-registry.d.ts +99 -0
  397. package/dist/runtime-topic-registry.d.ts.map +1 -0
  398. package/dist/runtime-topic-registry.js +182 -0
  399. package/dist/runtime-topic-registry.js.map +1 -0
  400. package/dist/spine/arrival-deadline.d.ts +19 -0
  401. package/dist/spine/arrival-deadline.d.ts.map +1 -0
  402. package/dist/spine/arrival-deadline.js +38 -0
  403. package/dist/spine/arrival-deadline.js.map +1 -0
  404. package/dist/spine/atmospheric-reckoning.d.ts +161 -0
  405. package/dist/spine/atmospheric-reckoning.d.ts.map +1 -0
  406. package/dist/spine/atmospheric-reckoning.js +421 -0
  407. package/dist/spine/atmospheric-reckoning.js.map +1 -0
  408. package/dist/spine/body-derivations.d.ts +28 -0
  409. package/dist/spine/body-derivations.d.ts.map +1 -0
  410. package/dist/spine/body-derivations.js +73 -0
  411. package/dist/spine/body-derivations.js.map +1 -0
  412. package/dist/spine/capability-lock.d.ts +43 -0
  413. package/dist/spine/capability-lock.d.ts.map +1 -0
  414. package/dist/spine/capability-lock.js +153 -0
  415. package/dist/spine/capability-lock.js.map +1 -0
  416. package/dist/spine/celestial-facts.d.ts +181 -0
  417. package/dist/spine/celestial-facts.d.ts.map +1 -0
  418. package/dist/spine/celestial-facts.js +212 -0
  419. package/dist/spine/celestial-facts.js.map +1 -0
  420. package/dist/spine/channel-error-warning.d.ts +24 -0
  421. package/dist/spine/channel-error-warning.d.ts.map +1 -0
  422. package/dist/spine/channel-error-warning.js +51 -0
  423. package/dist/spine/channel-error-warning.js.map +1 -0
  424. package/dist/spine/client-reading.d.ts +70 -0
  425. package/dist/spine/client-reading.d.ts.map +1 -0
  426. package/dist/spine/client-reading.js +123 -0
  427. package/dist/spine/client-reading.js.map +1 -0
  428. package/dist/spine/client-timeline.d.ts +130 -0
  429. package/dist/spine/client-timeline.d.ts.map +1 -0
  430. package/dist/spine/client-timeline.js +174 -0
  431. package/dist/spine/client-timeline.js.map +1 -0
  432. package/dist/spine/client.d.ts +454 -0
  433. package/dist/spine/client.d.ts.map +1 -0
  434. package/dist/spine/client.js +1138 -0
  435. package/dist/spine/client.js.map +1 -0
  436. package/dist/spine/clock.d.ts +48 -0
  437. package/dist/spine/clock.d.ts.map +1 -0
  438. package/dist/spine/clock.js +22 -0
  439. package/dist/spine/clock.js.map +1 -0
  440. package/dist/spine/command-gate.d.ts +89 -0
  441. package/dist/spine/command-gate.d.ts.map +1 -0
  442. package/dist/spine/command-gate.js +56 -0
  443. package/dist/spine/command-gate.js.map +1 -0
  444. package/dist/spine/comms-delay-reckoning.d.ts +123 -0
  445. package/dist/spine/comms-delay-reckoning.d.ts.map +1 -0
  446. package/dist/spine/comms-delay-reckoning.js +166 -0
  447. package/dist/spine/comms-delay-reckoning.js.map +1 -0
  448. package/dist/spine/comms-journey.d.ts +74 -0
  449. package/dist/spine/comms-journey.d.ts.map +1 -0
  450. package/dist/spine/comms-journey.js +180 -0
  451. package/dist/spine/comms-journey.js.map +1 -0
  452. package/dist/spine/comms-path-geometry.d.ts +128 -0
  453. package/dist/spine/comms-path-geometry.d.ts.map +1 -0
  454. package/dist/spine/comms-path-geometry.js +172 -0
  455. package/dist/spine/comms-path-geometry.js.map +1 -0
  456. package/dist/spine/comms-route.d.ts +52 -0
  457. package/dist/spine/comms-route.d.ts.map +1 -0
  458. package/dist/spine/comms-route.js +109 -0
  459. package/dist/spine/comms-route.js.map +1 -0
  460. package/dist/spine/connection-error-warning.d.ts +28 -0
  461. package/dist/spine/connection-error-warning.d.ts.map +1 -0
  462. package/dist/spine/connection-error-warning.js +49 -0
  463. package/dist/spine/connection-error-warning.js.map +1 -0
  464. package/dist/spine/connectivity-history.d.ts +35 -0
  465. package/dist/spine/connectivity-history.d.ts.map +1 -0
  466. package/dist/spine/connectivity-history.js +54 -0
  467. package/dist/spine/connectivity-history.js.map +1 -0
  468. package/dist/spine/context.d.ts +485 -0
  469. package/dist/spine/context.d.ts.map +1 -0
  470. package/dist/spine/context.js +1017 -0
  471. package/dist/spine/context.js.map +1 -0
  472. package/dist/spine/contributed-channels.d.ts +48 -0
  473. package/dist/spine/contributed-channels.d.ts.map +1 -0
  474. package/dist/spine/contributed-channels.js +104 -0
  475. package/dist/spine/contributed-channels.js.map +1 -0
  476. package/dist/spine/contribution-scope.d.ts +19 -0
  477. package/dist/spine/contribution-scope.d.ts.map +1 -0
  478. package/dist/spine/contribution-scope.js +62 -0
  479. package/dist/spine/contribution-scope.js.map +1 -0
  480. package/dist/spine/contributions.d.ts +77 -0
  481. package/dist/spine/contributions.d.ts.map +1 -0
  482. package/dist/spine/contributions.js +180 -0
  483. package/dist/spine/contributions.js.map +1 -0
  484. package/dist/spine/control-frame-to-read-frame.d.ts +43 -0
  485. package/dist/spine/control-frame-to-read-frame.d.ts.map +1 -0
  486. package/dist/spine/control-frame-to-read-frame.js +79 -0
  487. package/dist/spine/control-frame-to-read-frame.js.map +1 -0
  488. package/dist/spine/core-reckoners.d.ts +2 -0
  489. package/dist/spine/core-reckoners.d.ts.map +1 -0
  490. package/dist/spine/core-reckoners.js +894 -0
  491. package/dist/spine/core-reckoners.js.map +1 -0
  492. package/dist/spine/dashboard-item.d.ts +12 -0
  493. package/dist/spine/dashboard-item.d.ts.map +1 -0
  494. package/dist/spine/dashboard-item.js +16 -0
  495. package/dist/spine/dashboard-item.js.map +1 -0
  496. package/dist/spine/delay-authority.d.ts +204 -0
  497. package/dist/spine/delay-authority.d.ts.map +1 -0
  498. package/dist/spine/delay-authority.js +306 -0
  499. package/dist/spine/delay-authority.js.map +1 -0
  500. package/dist/spine/delta-v-budget.d.ts +121 -0
  501. package/dist/spine/delta-v-budget.d.ts.map +1 -0
  502. package/dist/spine/delta-v-budget.js +141 -0
  503. package/dist/spine/delta-v-budget.js.map +1 -0
  504. package/dist/spine/departure-reckoning.d.ts +37 -0
  505. package/dist/spine/departure-reckoning.d.ts.map +1 -0
  506. package/dist/spine/departure-reckoning.js +44 -0
  507. package/dist/spine/departure-reckoning.js.map +1 -0
  508. package/dist/spine/dv-stage-resources.d.ts +29 -0
  509. package/dist/spine/dv-stage-resources.d.ts.map +1 -0
  510. package/dist/spine/dv-stage-resources.js +95 -0
  511. package/dist/spine/dv-stage-resources.js.map +1 -0
  512. package/dist/spine/heartbeat-tracker.d.ts +116 -0
  513. package/dist/spine/heartbeat-tracker.d.ts.map +1 -0
  514. package/dist/spine/heartbeat-tracker.js +175 -0
  515. package/dist/spine/heartbeat-tracker.js.map +1 -0
  516. package/dist/spine/held-command-actions.d.ts +33 -0
  517. package/dist/spine/held-command-actions.d.ts.map +1 -0
  518. package/dist/spine/held-command-actions.js +75 -0
  519. package/dist/spine/held-command-actions.js.map +1 -0
  520. package/dist/spine/impact-point.d.ts +97 -0
  521. package/dist/spine/impact-point.d.ts.map +1 -0
  522. package/dist/spine/impact-point.js +299 -0
  523. package/dist/spine/impact-point.js.map +1 -0
  524. package/dist/spine/index.d.ts +84 -0
  525. package/dist/spine/index.d.ts.map +1 -0
  526. package/dist/spine/index.js +132 -0
  527. package/dist/spine/index.js.map +1 -0
  528. package/dist/spine/kepler-reckoning.d.ts +244 -0
  529. package/dist/spine/kepler-reckoning.d.ts.map +1 -0
  530. package/dist/spine/kepler-reckoning.js +377 -0
  531. package/dist/spine/kepler-reckoning.js.map +1 -0
  532. package/dist/spine/kepler.d.ts +296 -0
  533. package/dist/spine/kepler.d.ts.map +1 -0
  534. package/dist/spine/kepler.js +330 -0
  535. package/dist/spine/kepler.js.map +1 -0
  536. package/dist/spine/lagrange.d.ts +247 -0
  537. package/dist/spine/lagrange.d.ts.map +1 -0
  538. package/dist/spine/lagrange.js +379 -0
  539. package/dist/spine/lagrange.js.map +1 -0
  540. package/dist/spine/lifecycle.d.ts +244 -0
  541. package/dist/spine/lifecycle.d.ts.map +1 -0
  542. package/dist/spine/lifecycle.js +37 -0
  543. package/dist/spine/lifecycle.js.map +1 -0
  544. package/dist/spine/lock-scope.d.ts +23 -0
  545. package/dist/spine/lock-scope.d.ts.map +1 -0
  546. package/dist/spine/lock-scope.js +10 -0
  547. package/dist/spine/lock-scope.js.map +1 -0
  548. package/dist/spine/map-command.d.ts +29 -0
  549. package/dist/spine/map-command.d.ts.map +1 -0
  550. package/dist/spine/map-command.js +32 -0
  551. package/dist/spine/map-command.js.map +1 -0
  552. package/dist/spine/map-topic.d.ts +60 -0
  553. package/dist/spine/map-topic.d.ts.map +1 -0
  554. package/dist/spine/map-topic.js +151 -0
  555. package/dist/spine/map-topic.js.map +1 -0
  556. package/dist/spine/mod-settings.d.ts +22 -0
  557. package/dist/spine/mod-settings.d.ts.map +1 -0
  558. package/dist/spine/mod-settings.js +42 -0
  559. package/dist/spine/mod-settings.js.map +1 -0
  560. package/dist/spine/never-reckonable.d.ts +79 -0
  561. package/dist/spine/never-reckonable.d.ts.map +1 -0
  562. package/dist/spine/never-reckonable.js +168 -0
  563. package/dist/spine/never-reckonable.js.map +1 -0
  564. package/dist/spine/orbit-patches.d.ts +81 -0
  565. package/dist/spine/orbit-patches.d.ts.map +1 -0
  566. package/dist/spine/orbit-patches.js +111 -0
  567. package/dist/spine/orbit-patches.js.map +1 -0
  568. package/dist/spine/orbit-trajectory.d.ts +276 -0
  569. package/dist/spine/orbit-trajectory.d.ts.map +1 -0
  570. package/dist/spine/orbit-trajectory.js +382 -0
  571. package/dist/spine/orbit-trajectory.js.map +1 -0
  572. package/dist/spine/orbital-solve.d.ts +164 -0
  573. package/dist/spine/orbital-solve.d.ts.map +1 -0
  574. package/dist/spine/orbital-solve.js +239 -0
  575. package/dist/spine/orbital-solve.js.map +1 -0
  576. package/dist/spine/own-craft-vantage.d.ts +80 -0
  577. package/dist/spine/own-craft-vantage.d.ts.map +1 -0
  578. package/dist/spine/own-craft-vantage.js +136 -0
  579. package/dist/spine/own-craft-vantage.js.map +1 -0
  580. package/dist/spine/past-track.d.ts +46 -0
  581. package/dist/spine/past-track.d.ts.map +1 -0
  582. package/dist/spine/past-track.js +62 -0
  583. package/dist/spine/past-track.js.map +1 -0
  584. package/dist/spine/powered-reckoning.d.ts +164 -0
  585. package/dist/spine/powered-reckoning.d.ts.map +1 -0
  586. package/dist/spine/powered-reckoning.js +514 -0
  587. package/dist/spine/powered-reckoning.js.map +1 -0
  588. package/dist/spine/processorEvaluator.d.ts +110 -0
  589. package/dist/spine/processorEvaluator.d.ts.map +1 -0
  590. package/dist/spine/processorEvaluator.js +608 -0
  591. package/dist/spine/processorEvaluator.js.map +1 -0
  592. package/dist/spine/processors.d.ts +242 -0
  593. package/dist/spine/processors.d.ts.map +1 -0
  594. package/dist/spine/processors.js +109 -0
  595. package/dist/spine/processors.js.map +1 -0
  596. package/dist/spine/propagation.d.ts +17 -0
  597. package/dist/spine/propagation.d.ts.map +1 -0
  598. package/dist/spine/propagation.js +22 -0
  599. package/dist/spine/propagation.js.map +1 -0
  600. package/dist/spine/rail-registry.d.ts +21 -0
  601. package/dist/spine/rail-registry.d.ts.map +1 -0
  602. package/dist/spine/rail-registry.js +7 -0
  603. package/dist/spine/rail-registry.js.map +1 -0
  604. package/dist/spine/reckoners.d.ts +133 -0
  605. package/dist/spine/reckoners.d.ts.map +1 -0
  606. package/dist/spine/reckoners.js +245 -0
  607. package/dist/spine/reckoners.js.map +1 -0
  608. package/dist/spine/reference-frame.d.ts +286 -0
  609. package/dist/spine/reference-frame.d.ts.map +1 -0
  610. package/dist/spine/reference-frame.js +605 -0
  611. package/dist/spine/reference-frame.js.map +1 -0
  612. package/dist/spine/replay-recorder.d.ts +72 -0
  613. package/dist/spine/replay-recorder.d.ts.map +1 -0
  614. package/dist/spine/replay-recorder.js +101 -0
  615. package/dist/spine/replay-recorder.js.map +1 -0
  616. package/dist/spine/replay-session-controller.d.ts +65 -0
  617. package/dist/spine/replay-session-controller.d.ts.map +1 -0
  618. package/dist/spine/replay-session-controller.js +220 -0
  619. package/dist/spine/replay-session-controller.js.map +1 -0
  620. package/dist/spine/replay-session.d.ts +20 -0
  621. package/dist/spine/replay-session.d.ts.map +1 -0
  622. package/dist/spine/replay-session.js +31 -0
  623. package/dist/spine/replay-session.js.map +1 -0
  624. package/dist/spine/replay-transport.d.ts +83 -0
  625. package/dist/spine/replay-transport.d.ts.map +1 -0
  626. package/dist/spine/replay-transport.js +95 -0
  627. package/dist/spine/replay-transport.js.map +1 -0
  628. package/dist/spine/screen.d.ts +46 -0
  629. package/dist/spine/screen.d.ts.map +1 -0
  630. package/dist/spine/screen.js +41 -0
  631. package/dist/spine/screen.js.map +1 -0
  632. package/dist/spine/settings-registry.d.ts +222 -0
  633. package/dist/spine/settings-registry.d.ts.map +1 -0
  634. package/dist/spine/settings-registry.js +43 -0
  635. package/dist/spine/settings-registry.js.map +1 -0
  636. package/dist/spine/settings-tabs.d.ts +39 -0
  637. package/dist/spine/settings-tabs.d.ts.map +1 -0
  638. package/dist/spine/settings-tabs.js +18 -0
  639. package/dist/spine/settings-tabs.js.map +1 -0
  640. package/dist/spine/share-equal.d.ts +11 -0
  641. package/dist/spine/share-equal.d.ts.map +1 -0
  642. package/dist/spine/share-equal.js +57 -0
  643. package/dist/spine/share-equal.js.map +1 -0
  644. package/dist/spine/size-delta.d.ts +9 -0
  645. package/dist/spine/size-delta.d.ts.map +1 -0
  646. package/dist/spine/size-delta.js +19 -0
  647. package/dist/spine/size-delta.js.map +1 -0
  648. package/dist/spine/space-center-state.d.ts +44 -0
  649. package/dist/spine/space-center-state.d.ts.map +1 -0
  650. package/dist/spine/space-center-state.js +51 -0
  651. package/dist/spine/space-center-state.js.map +1 -0
  652. package/dist/spine/stream-status.d.ts +21 -0
  653. package/dist/spine/stream-status.d.ts.map +1 -0
  654. package/dist/spine/stream-status.js +48 -0
  655. package/dist/spine/stream-status.js.map +1 -0
  656. package/dist/spine/subscribe-read.d.ts +51 -0
  657. package/dist/spine/subscribe-read.d.ts.map +1 -0
  658. package/dist/spine/subscribe-read.js +66 -0
  659. package/dist/spine/subscribe-read.js.map +1 -0
  660. package/dist/spine/subscriber-identity.d.ts +12 -0
  661. package/dist/spine/subscriber-identity.d.ts.map +1 -0
  662. package/dist/spine/subscriber-identity.js +33 -0
  663. package/dist/spine/subscriber-identity.js.map +1 -0
  664. package/dist/spine/system-state.d.ts +29 -0
  665. package/dist/spine/system-state.d.ts.map +1 -0
  666. package/dist/spine/system-state.js +25 -0
  667. package/dist/spine/system-state.js.map +1 -0
  668. package/dist/spine/target-range-reckoning.d.ts +33 -0
  669. package/dist/spine/target-range-reckoning.d.ts.map +1 -0
  670. package/dist/spine/target-range-reckoning.js +78 -0
  671. package/dist/spine/target-range-reckoning.js.map +1 -0
  672. package/dist/spine/timeline-store.d.ts +1336 -0
  673. package/dist/spine/timeline-store.d.ts.map +1 -0
  674. package/dist/spine/timeline-store.js +2893 -0
  675. package/dist/spine/timeline-store.js.map +1 -0
  676. package/dist/spine/topic-ownership.d.ts +138 -0
  677. package/dist/spine/topic-ownership.d.ts.map +1 -0
  678. package/dist/spine/topic-ownership.js +194 -0
  679. package/dist/spine/topic-ownership.js.map +1 -0
  680. package/dist/spine/unowned-warning.d.ts +25 -0
  681. package/dist/spine/unowned-warning.d.ts.map +1 -0
  682. package/dist/spine/unowned-warning.js +55 -0
  683. package/dist/spine/unowned-warning.js.map +1 -0
  684. package/dist/spine/uplink-clients.d.ts +135 -0
  685. package/dist/spine/uplink-clients.d.ts.map +1 -0
  686. package/dist/spine/uplink-clients.js +79 -0
  687. package/dist/spine/uplink-clients.js.map +1 -0
  688. package/dist/spine/uplink-health.d.ts +123 -0
  689. package/dist/spine/uplink-health.d.ts.map +1 -0
  690. package/dist/spine/uplink-health.js +75 -0
  691. package/dist/spine/uplink-health.js.map +1 -0
  692. package/dist/spine/use-action-input.d.ts +3 -0
  693. package/dist/spine/use-action-input.d.ts.map +1 -0
  694. package/dist/spine/use-action-input.js +76 -0
  695. package/dist/spine/use-action-input.js.map +1 -0
  696. package/dist/spine/use-body-states.d.ts +34 -0
  697. package/dist/spine/use-body-states.d.ts.map +1 -0
  698. package/dist/spine/use-body-states.js +23 -0
  699. package/dist/spine/use-body-states.js.map +1 -0
  700. package/dist/spine/use-command.d.ts +259 -0
  701. package/dist/spine/use-command.d.ts.map +1 -0
  702. package/dist/spine/use-command.js +626 -0
  703. package/dist/spine/use-command.js.map +1 -0
  704. package/dist/spine/use-data-sources.d.ts +7 -0
  705. package/dist/spine/use-data-sources.d.ts.map +1 -0
  706. package/dist/spine/use-data-sources.js +27 -0
  707. package/dist/spine/use-data-sources.js.map +1 -0
  708. package/dist/spine/use-late-telemetry-subscribe.d.ts +59 -0
  709. package/dist/spine/use-late-telemetry-subscribe.d.ts.map +1 -0
  710. package/dist/spine/use-late-telemetry-subscribe.js +81 -0
  711. package/dist/spine/use-late-telemetry-subscribe.js.map +1 -0
  712. package/dist/spine/use-orbit-trajectory.d.ts +25 -0
  713. package/dist/spine/use-orbit-trajectory.d.ts.map +1 -0
  714. package/dist/spine/use-orbit-trajectory.js +45 -0
  715. package/dist/spine/use-orbit-trajectory.js.map +1 -0
  716. package/dist/spine/use-processor.d.ts +30 -0
  717. package/dist/spine/use-processor.d.ts.map +1 -0
  718. package/dist/spine/use-processor.js +36 -0
  719. package/dist/spine/use-processor.js.map +1 -0
  720. package/dist/spine/use-route-commands.d.ts +28 -0
  721. package/dist/spine/use-route-commands.d.ts.map +1 -0
  722. package/dist/spine/use-route-commands.js +32 -0
  723. package/dist/spine/use-route-commands.js.map +1 -0
  724. package/dist/spine/use-selected-vantage.d.ts +12 -0
  725. package/dist/spine/use-selected-vantage.d.ts.map +1 -0
  726. package/dist/spine/use-selected-vantage.js +19 -0
  727. package/dist/spine/use-selected-vantage.js.map +1 -0
  728. package/dist/spine/use-stream-event.d.ts +28 -0
  729. package/dist/spine/use-stream-event.d.ts.map +1 -0
  730. package/dist/spine/use-stream-event.js +52 -0
  731. package/dist/spine/use-stream-event.js.map +1 -0
  732. package/dist/spine/use-stream.d.ts +79 -0
  733. package/dist/spine/use-stream.d.ts.map +1 -0
  734. package/dist/spine/use-stream.js +124 -0
  735. package/dist/spine/use-stream.js.map +1 -0
  736. package/dist/spine/use-telemetry.d.ts +79 -0
  737. package/dist/spine/use-telemetry.d.ts.map +1 -0
  738. package/dist/spine/use-telemetry.js +39 -0
  739. package/dist/spine/use-telemetry.js.map +1 -0
  740. package/dist/spine/use-transmissions.d.ts +36 -0
  741. package/dist/spine/use-transmissions.d.ts.map +1 -0
  742. package/dist/spine/use-transmissions.js +63 -0
  743. package/dist/spine/use-transmissions.js.map +1 -0
  744. package/dist/spine/vantage.d.ts +16 -0
  745. package/dist/spine/vantage.d.ts.map +1 -0
  746. package/dist/spine/vantage.js +16 -0
  747. package/dist/spine/vantage.js.map +1 -0
  748. package/dist/spine/view-clock.d.ts +232 -0
  749. package/dist/spine/view-clock.d.ts.map +1 -0
  750. package/dist/spine/view-clock.js +348 -0
  751. package/dist/spine/view-clock.js.map +1 -0
  752. package/dist/spine/wire-payloads.d.ts +232 -0
  753. package/dist/spine/wire-payloads.d.ts.map +1 -0
  754. package/dist/spine/wire-payloads.js +2 -0
  755. package/dist/spine/wire-payloads.js.map +1 -0
  756. package/dist/testing/console-logger.d.ts +10 -0
  757. package/dist/testing/console-logger.d.ts.map +1 -0
  758. package/dist/testing/console-logger.js +23 -0
  759. package/dist/testing/console-logger.js.map +1 -0
  760. package/dist/testing/create-test-telemetry-client.d.ts +13 -0
  761. package/dist/testing/create-test-telemetry-client.d.ts.map +1 -0
  762. package/dist/testing/create-test-telemetry-client.js +14 -0
  763. package/dist/testing/create-test-telemetry-client.js.map +1 -0
  764. package/dist/testing/fake-wall-clock.d.ts +19 -0
  765. package/dist/testing/fake-wall-clock.d.ts.map +1 -0
  766. package/dist/testing/fake-wall-clock.js +17 -0
  767. package/dist/testing/fake-wall-clock.js.map +1 -0
  768. package/dist/testing/index.d.ts +30 -0
  769. package/dist/testing/index.d.ts.map +1 -0
  770. package/dist/testing/index.js +99 -0
  771. package/dist/testing/index.js.map +1 -0
  772. package/dist/testing/install-act-gate-stretch.d.ts +24 -0
  773. package/dist/testing/install-act-gate-stretch.d.ts.map +1 -0
  774. package/dist/testing/install-act-gate-stretch.js +67 -0
  775. package/dist/testing/install-act-gate-stretch.js.map +1 -0
  776. package/dist/testing/install-dom-stubs.d.ts +9 -0
  777. package/dist/testing/install-dom-stubs.d.ts.map +1 -0
  778. package/dist/testing/install-dom-stubs.js +121 -0
  779. package/dist/testing/install-dom-stubs.js.map +1 -0
  780. package/dist/testing/install-real-test-host.d.ts +51 -0
  781. package/dist/testing/install-real-test-host.d.ts.map +1 -0
  782. package/dist/testing/install-real-test-host.js +111 -0
  783. package/dist/testing/install-real-test-host.js.map +1 -0
  784. package/dist/testing/install-test-host.d.ts +18 -0
  785. package/dist/testing/install-test-host.d.ts.map +1 -0
  786. package/dist/testing/install-test-host.js +23 -0
  787. package/dist/testing/install-test-host.js.map +1 -0
  788. package/dist/testing/memory-storage.d.ts +10 -0
  789. package/dist/testing/memory-storage.d.ts.map +1 -0
  790. package/dist/testing/memory-storage.js +26 -0
  791. package/dist/testing/memory-storage.js.map +1 -0
  792. package/dist/testing/mock-data-source.d.ts +46 -0
  793. package/dist/testing/mock-data-source.d.ts.map +1 -0
  794. package/dist/testing/mock-data-source.js +74 -0
  795. package/dist/testing/mock-data-source.js.map +1 -0
  796. package/dist/testing/recorded-alarm-requests.d.ts +28 -0
  797. package/dist/testing/recorded-alarm-requests.d.ts.map +1 -0
  798. package/dist/testing/recorded-alarm-requests.js +24 -0
  799. package/dist/testing/recorded-alarm-requests.js.map +1 -0
  800. package/dist/testing/render.d.ts +29 -0
  801. package/dist/testing/render.d.ts.map +1 -0
  802. package/dist/testing/render.js +52 -0
  803. package/dist/testing/render.js.map +1 -0
  804. package/dist/testing/stream-fixture.d.ts +71 -0
  805. package/dist/testing/stream-fixture.d.ts.map +1 -0
  806. package/dist/testing/stream-fixture.js +61 -0
  807. package/dist/testing/stream-fixture.js.map +1 -0
  808. package/dist/testing/stub-transport.d.ts +124 -0
  809. package/dist/testing/stub-transport.d.ts.map +1 -0
  810. package/dist/testing/stub-transport.js +229 -0
  811. package/dist/testing/stub-transport.js.map +1 -0
  812. package/dist/testing/theme.d.ts +59 -0
  813. package/dist/testing/theme.d.ts.map +1 -0
  814. package/dist/testing/theme.js +11 -0
  815. package/dist/testing/theme.js.map +1 -0
  816. package/dist/timeline.d.ts +63 -0
  817. package/dist/timeline.d.ts.map +1 -0
  818. package/dist/timeline.js +2 -0
  819. package/dist/timeline.js.map +1 -0
  820. package/dist/topic-fields.d.ts +55 -0
  821. package/dist/topic-fields.d.ts.map +1 -0
  822. package/dist/topic-fields.js +102 -0
  823. package/dist/topic-fields.js.map +1 -0
  824. package/dist/topics.d.ts +335 -30
  825. package/dist/topics.d.ts.map +1 -1
  826. package/dist/topics.js +183 -28
  827. package/dist/topics.js.map +1 -1
  828. package/dist/unit-system/algebra.d.ts +305 -0
  829. package/dist/unit-system/algebra.d.ts.map +1 -0
  830. package/dist/unit-system/algebra.js +2 -0
  831. package/dist/unit-system/algebra.js.map +1 -0
  832. package/dist/unit-system/calendar.d.ts +74 -0
  833. package/dist/unit-system/calendar.d.ts.map +1 -0
  834. package/dist/unit-system/calendar.js +107 -0
  835. package/dist/unit-system/calendar.js.map +1 -0
  836. package/dist/unit-system/declarations.d.ts +87 -0
  837. package/dist/unit-system/declarations.d.ts.map +1 -0
  838. package/dist/unit-system/declarations.js +2 -0
  839. package/dist/unit-system/declarations.js.map +1 -0
  840. package/dist/unit-system/definitions.d.ts +639 -0
  841. package/dist/unit-system/definitions.d.ts.map +1 -0
  842. package/dist/unit-system/definitions.js +326 -0
  843. package/dist/unit-system/definitions.js.map +1 -0
  844. package/dist/unit-system/dimension.d.ts +29 -0
  845. package/dist/unit-system/dimension.d.ts.map +1 -0
  846. package/dist/unit-system/dimension.js +88 -0
  847. package/dist/unit-system/dimension.js.map +1 -0
  848. package/dist/unit-system/guards.d.ts +58 -0
  849. package/dist/unit-system/guards.d.ts.map +1 -0
  850. package/dist/unit-system/guards.js +73 -0
  851. package/dist/unit-system/guards.js.map +1 -0
  852. package/dist/unit-system/index.d.ts +16 -0
  853. package/dist/unit-system/index.d.ts.map +1 -0
  854. package/dist/unit-system/index.js +14 -0
  855. package/dist/unit-system/index.js.map +1 -0
  856. package/dist/unit-system/registry.d.ts +160 -0
  857. package/dist/unit-system/registry.d.ts.map +1 -0
  858. package/dist/unit-system/registry.js +267 -0
  859. package/dist/unit-system/registry.js.map +1 -0
  860. package/dist/unit-system/value.d.ts +437 -0
  861. package/dist/unit-system/value.d.ts.map +1 -0
  862. package/dist/unit-system/value.js +387 -0
  863. package/dist/unit-system/value.js.map +1 -0
  864. package/dist/units.d.ts +159 -0
  865. package/dist/units.d.ts.map +1 -0
  866. package/dist/units.js +385 -0
  867. package/dist/units.js.map +1 -0
  868. package/dist/uplink-externals.d.ts +65 -0
  869. package/dist/uplink-externals.d.ts.map +1 -0
  870. package/dist/uplink-externals.js +87 -0
  871. package/dist/uplink-externals.js.map +1 -0
  872. package/dist/uplink-manifest.d.ts +180 -0
  873. package/dist/uplink-manifest.d.ts.map +1 -0
  874. package/dist/uplink-manifest.js +214 -0
  875. package/dist/uplink-manifest.js.map +1 -0
  876. package/dist/value.d.ts +13 -0
  877. package/dist/value.d.ts.map +1 -0
  878. package/dist/value.js +2 -0
  879. package/dist/value.js.map +1 -0
  880. package/dist/version.generated.d.ts +7 -0
  881. package/dist/version.generated.d.ts.map +1 -0
  882. package/dist/version.generated.js +11 -0
  883. package/dist/version.generated.js.map +1 -0
  884. package/dist/view-clock-formula.d.ts +52 -0
  885. package/dist/view-clock-formula.d.ts.map +1 -0
  886. package/dist/view-clock-formula.js +46 -0
  887. package/dist/view-clock-formula.js.map +1 -0
  888. package/dist/wrap-units.d.ts +55 -0
  889. package/dist/wrap-units.d.ts.map +1 -0
  890. package/dist/wrap-units.js +256 -0
  891. package/dist/wrap-units.js.map +1 -0
  892. package/package.json +73 -11
  893. package/src/__generated__/command-map.ts +465 -0
  894. package/src/__generated__/contract.ts +10986 -0
  895. package/src/__generated__/control-channels.ts +41 -0
  896. package/src/__generated__/delay-roles.ts +82 -0
  897. package/src/__generated__/error-codes.ts +712 -0
  898. package/src/__generated__/frames.ts +52 -0
  899. package/src/__generated__/reckonability.ts +86 -0
  900. package/src/__generated__/test-theme.ts +70 -0
  901. package/src/__generated__/topic-map.ts +314 -0
  902. package/src/__generated__/units.json +2755 -0
  903. package/src/__generated__/units.ts +3398 -0
  904. package/src/api/action-dispatch.ts +105 -0
  905. package/src/api/alarm-request.ts +153 -0
  906. package/src/api/bodies.ts +116 -0
  907. package/src/api/command-rejection.ts +194 -0
  908. package/src/api/contribution-slots.ts +666 -0
  909. package/src/api/coverage/CoverageMaskCache.ts +112 -0
  910. package/src/api/coverage/CoverageMaskContext.tsx +79 -0
  911. package/src/api/coverage-source.ts +137 -0
  912. package/src/api/error-codes.ts +87 -0
  913. package/src/api/event-reveal.ts +96 -0
  914. package/src/api/host.ts +213 -0
  915. package/src/api/index.ts +1170 -0
  916. package/src/api/localStorageStore.ts +180 -0
  917. package/src/api/logger-contract.ts +38 -0
  918. package/src/api/logger.ts +17 -0
  919. package/src/api/map-poi.ts +98 -0
  920. package/src/api/plot-layers.ts +257 -0
  921. package/src/api/plots.ts +169 -0
  922. package/src/api/registry.ts +324 -0
  923. package/src/api/root-providers.tsx +136 -0
  924. package/src/api/safe-random-uuid.ts +22 -0
  925. package/src/api/settings/SettingsContext.tsx +79 -0
  926. package/src/api/settings/SettingsService.ts +142 -0
  927. package/src/api/settings/store.ts +180 -0
  928. package/src/api/slots.ts +1041 -0
  929. package/src/api/station-brokers.ts +94 -0
  930. package/src/api/stock-bodies.ts +281 -0
  931. package/src/api/tiny-size.ts +9 -0
  932. package/src/api/tone.ts +41 -0
  933. package/src/api/transport.ts +98 -0
  934. package/src/api/types.ts +1903 -0
  935. package/src/api/uplink-handles.ts +71 -0
  936. package/src/binary-frame.ts +250 -0
  937. package/src/burn-clock.ts +115 -0
  938. package/src/client.ts +56 -0
  939. package/src/combine-readings.ts +250 -0
  940. package/src/command-delay.ts +392 -0
  941. package/src/command-reply-units.ts +63 -0
  942. package/src/commands.ts +242 -0
  943. package/src/comms-degrade.ts +68 -0
  944. package/src/compat-versions.ts +44 -0
  945. package/src/contract-enum-names.ts +141 -0
  946. package/src/control-channels.ts +92 -0
  947. package/src/crew-standing.ts +131 -0
  948. package/src/delay-roles.ts +187 -0
  949. package/src/descent.ts +149 -0
  950. package/src/enum-names.ts +35 -0
  951. package/src/envelope.ts +45 -0
  952. package/src/event-timeline.ts +196 -0
  953. package/src/extensions.ts +58 -0
  954. package/src/field-frames.ts +70 -0
  955. package/src/flight/BufferedDataSource.ts +945 -0
  956. package/src/flight/DataSourceWrapper.ts +79 -0
  957. package/src/flight/ListenerSet.ts +73 -0
  958. package/src/flight/debugFlight.ts +16 -0
  959. package/src/flight/derive.ts +56 -0
  960. package/src/flight/fixtureIO.ts +197 -0
  961. package/src/flight/flightAutoDelete.ts +53 -0
  962. package/src/flight/flightDetector.ts +213 -0
  963. package/src/flight/storage/LocalStorageStore.ts +160 -0
  964. package/src/flight/storage/MemoryStore.ts +113 -0
  965. package/src/flight/storage/Store.ts +52 -0
  966. package/src/flight/types.ts +408 -0
  967. package/src/frame-qualifier.ts +153 -0
  968. package/src/frames/index.ts +177 -0
  969. package/src/index.ts +576 -0
  970. package/src/ksp-enum-names.ts +191 -0
  971. package/src/locked.ts +29 -0
  972. package/src/magnitude.ts +52 -0
  973. package/src/maneuver-basis.ts +49 -0
  974. package/src/media/capture-clock.ts +43 -0
  975. package/src/media/delayed-playout-buffer.ts +253 -0
  976. package/src/media/encoded-frame-delay.ts +153 -0
  977. package/src/media/frame-delay.ts +402 -0
  978. package/src/media/index.ts +83 -0
  979. package/src/media/radio-support.ts +132 -0
  980. package/src/media/shared-delayed-streams.ts +232 -0
  981. package/src/media/webcodecs-track-io.d.ts +99 -0
  982. package/src/media/worker/delay-worker-client.ts +312 -0
  983. package/src/media/worker/delay-worker.ts +433 -0
  984. package/src/media/worker/presentation-pacer.ts +249 -0
  985. package/src/media/worker/time-base.ts +55 -0
  986. package/src/media/worker/worker-delay-clock.ts +122 -0
  987. package/src/perf/PerfBudget.ts +267 -0
  988. package/src/rail-tags.ts +221 -0
  989. package/src/raw-field-split.ts +72 -0
  990. package/src/reading.ts +1565 -0
  991. package/src/reckonability.ts +117 -0
  992. package/src/registry/index.ts +36 -0
  993. package/src/runtime-topic-registry.ts +204 -0
  994. package/src/spine/arrival-deadline.ts +48 -0
  995. package/src/spine/atmospheric-reckoning.ts +540 -0
  996. package/src/spine/body-derivations.ts +103 -0
  997. package/src/spine/capability-lock.ts +210 -0
  998. package/src/spine/celestial-facts.ts +455 -0
  999. package/src/spine/channel-error-warning.ts +61 -0
  1000. package/src/spine/client-reading.ts +282 -0
  1001. package/src/spine/client-timeline.ts +234 -0
  1002. package/src/spine/client.ts +1336 -0
  1003. package/src/spine/clock.ts +57 -0
  1004. package/src/spine/command-gate.ts +139 -0
  1005. package/src/spine/comms-delay-reckoning.ts +217 -0
  1006. package/src/spine/comms-journey.ts +256 -0
  1007. package/src/spine/comms-path-geometry.ts +237 -0
  1008. package/src/spine/comms-route.ts +142 -0
  1009. package/src/spine/connection-error-warning.ts +54 -0
  1010. package/src/spine/connectivity-history.ts +68 -0
  1011. package/src/spine/context.tsx +1317 -0
  1012. package/src/spine/contributed-channels.ts +126 -0
  1013. package/src/spine/contribution-scope.ts +87 -0
  1014. package/src/spine/contributions.ts +213 -0
  1015. package/src/spine/control-frame-to-read-frame.ts +91 -0
  1016. package/src/spine/core-reckoners.ts +1112 -0
  1017. package/src/spine/dashboard-item.ts +25 -0
  1018. package/src/spine/delay-authority.ts +337 -0
  1019. package/src/spine/delta-v-budget.ts +311 -0
  1020. package/src/spine/departure-reckoning.ts +69 -0
  1021. package/src/spine/dv-stage-resources.ts +137 -0
  1022. package/src/spine/heartbeat-tracker.ts +208 -0
  1023. package/src/spine/held-command-actions.ts +119 -0
  1024. package/src/spine/impact-point.ts +432 -0
  1025. package/src/spine/index.ts +132 -0
  1026. package/src/spine/kepler-reckoning.ts +572 -0
  1027. package/src/spine/kepler.ts +576 -0
  1028. package/src/spine/lagrange.ts +585 -0
  1029. package/src/spine/lifecycle.ts +251 -0
  1030. package/src/spine/lock-scope.ts +27 -0
  1031. package/src/spine/map-command.ts +33 -0
  1032. package/src/spine/map-topic.ts +163 -0
  1033. package/src/spine/mod-settings.ts +47 -0
  1034. package/src/spine/never-reckonable.ts +183 -0
  1035. package/src/spine/orbit-patches.ts +213 -0
  1036. package/src/spine/orbit-trajectory.ts +636 -0
  1037. package/src/spine/orbital-solve.ts +393 -0
  1038. package/src/spine/own-craft-vantage.tsx +161 -0
  1039. package/src/spine/past-track.ts +93 -0
  1040. package/src/spine/powered-reckoning.ts +866 -0
  1041. package/src/spine/processorEvaluator.ts +688 -0
  1042. package/src/spine/processors.ts +353 -0
  1043. package/src/spine/propagation.ts +25 -0
  1044. package/src/spine/rail-registry.ts +27 -0
  1045. package/src/spine/reckoners.ts +317 -0
  1046. package/src/spine/reference-frame.ts +816 -0
  1047. package/src/spine/replay-recorder.ts +128 -0
  1048. package/src/spine/replay-session-controller.ts +282 -0
  1049. package/src/spine/replay-session.tsx +47 -0
  1050. package/src/spine/replay-transport.ts +167 -0
  1051. package/src/spine/screen.tsx +70 -0
  1052. package/src/spine/settings-registry.ts +286 -0
  1053. package/src/spine/settings-tabs.ts +57 -0
  1054. package/src/spine/share-equal.ts +62 -0
  1055. package/src/spine/size-delta.ts +23 -0
  1056. package/src/spine/space-center-state.ts +101 -0
  1057. package/src/spine/stream-status.ts +62 -0
  1058. package/src/spine/subscribe-read.ts +88 -0
  1059. package/src/spine/subscriber-identity.tsx +44 -0
  1060. package/src/spine/system-state.ts +44 -0
  1061. package/src/spine/target-range-reckoning.ts +127 -0
  1062. package/src/spine/timeline-store.ts +3626 -0
  1063. package/src/spine/topic-ownership.ts +211 -0
  1064. package/src/spine/unowned-warning.ts +63 -0
  1065. package/src/spine/uplink-clients.ts +265 -0
  1066. package/src/spine/uplink-health.ts +256 -0
  1067. package/src/spine/use-action-input.ts +87 -0
  1068. package/src/spine/use-body-states.ts +52 -0
  1069. package/src/spine/use-command.ts +1090 -0
  1070. package/src/spine/use-data-sources.ts +43 -0
  1071. package/src/spine/use-late-telemetry-subscribe.ts +111 -0
  1072. package/src/spine/use-orbit-trajectory.ts +50 -0
  1073. package/src/spine/use-processor.ts +56 -0
  1074. package/src/spine/use-route-commands.ts +57 -0
  1075. package/src/spine/use-selected-vantage.ts +23 -0
  1076. package/src/spine/use-stream-event.ts +54 -0
  1077. package/src/spine/use-stream.ts +137 -0
  1078. package/src/spine/use-telemetry.ts +142 -0
  1079. package/src/spine/use-transmissions.ts +100 -0
  1080. package/src/spine/vantage.ts +15 -0
  1081. package/src/spine/view-clock.ts +404 -0
  1082. package/src/spine/wire-payloads.ts +242 -0
  1083. package/src/testing/console-logger.ts +24 -0
  1084. package/src/testing/create-test-telemetry-client.ts +17 -0
  1085. package/src/testing/fake-wall-clock.ts +27 -0
  1086. package/src/testing/index.ts +141 -0
  1087. package/src/testing/install-act-gate-stretch.ts +83 -0
  1088. package/src/testing/install-dom-stubs.ts +137 -0
  1089. package/src/testing/install-real-test-host.ts +177 -0
  1090. package/src/testing/install-test-host.ts +24 -0
  1091. package/src/testing/memory-storage.ts +25 -0
  1092. package/src/testing/mock-data-source.ts +109 -0
  1093. package/src/testing/recorded-alarm-requests.ts +43 -0
  1094. package/src/testing/render.tsx +78 -0
  1095. package/src/testing/stream-fixture.tsx +130 -0
  1096. package/src/testing/stub-transport.ts +289 -0
  1097. package/src/testing/theme.ts +11 -0
  1098. package/src/timeline.ts +68 -0
  1099. package/src/topic-fields.ts +188 -0
  1100. package/src/topics.ts +553 -0
  1101. package/src/unit-system/algebra.ts +472 -0
  1102. package/src/unit-system/calendar.ts +145 -0
  1103. package/src/unit-system/declarations.ts +96 -0
  1104. package/src/unit-system/definitions.ts +385 -0
  1105. package/src/unit-system/dimension.ts +107 -0
  1106. package/src/unit-system/guards.ts +82 -0
  1107. package/src/unit-system/index.ts +68 -0
  1108. package/src/unit-system/registry.ts +381 -0
  1109. package/src/unit-system/value.ts +959 -0
  1110. package/src/units.ts +462 -0
  1111. package/src/uplink-externals.ts +91 -0
  1112. package/src/uplink-manifest.ts +349 -0
  1113. package/src/value.ts +15 -0
  1114. package/src/version.generated.ts +10 -0
  1115. package/src/view-clock-formula.ts +90 -0
  1116. package/src/wrap-units.ts +361 -0
  1117. package/tsconfig.base.json +16 -0
@@ -0,0 +1,242 @@
1
+ import type { TopicId, TopicPayload } from "../index.js";
2
+ import type { Reading } from "../reading.js";
3
+ import type { TimelinePoint } from "../timeline.js";
4
+ import type { TopicReading } from "./client-reading.js";
5
+ /**
6
+ * A handle to a processor, as {@link UplinkClientHandle.registerProcessor} or
7
+ * {@link defineProcessorContract} returns it. Pass it to {@link useProcessor},
8
+ * or list it in a contribution's `deps`. Its type carries the processor's
9
+ * result type.
10
+ *
11
+ * @typeParam Result - What the processor computes.
12
+ * @typeParam ProcessorId - Its id.
13
+ * @typeParam Carried - Whether it returns a `Reading` (see {@link useProcessor}).
14
+ *
15
+ * @category Processors
16
+ */
17
+ export interface ProcessorHandle<Result, ProcessorId extends string = string, Carried extends boolean = boolean> {
18
+ /** The processor's id, `"<uplink id>:<name>"`. A contribution depending on the handle receives its result under this key. */
19
+ readonly id: ProcessorId;
20
+ /** Type-only brand: never present at runtime, carries `Result` through inference. */
21
+ readonly __resultType?: Result;
22
+ /** Type-only, never present at runtime: whether the processor returns a `Reading`, which it does when a reading is among its dependencies. */
23
+ readonly __carriesCurrency?: Carried;
24
+ }
25
+ /**
26
+ * Whether a dep list makes its processor's result datable.
27
+ *
28
+ * Wrapped in a tuple so a union of deps does not distribute: the question is
29
+ * about the list as a whole, and a distributed `extends never` would decide it
30
+ * once per member.
31
+ */
32
+ export type CarriesCurrency<Deps extends readonly Dep[]> = [
33
+ Extract<Deps[number], ReadingDep>
34
+ ] extends [never] ? false : true;
35
+ /**
36
+ * A dep asking for a Topic's `Reading` rather than its bare payload.
37
+ *
38
+ * The wrapper exists because a Topic id is a plain string, so there is nothing
39
+ * to distinguish "give me the value" from "give me the value and its currency"
40
+ * without one. `{ reading: "vessel.resources" }` reads at the call site as the
41
+ * request it is.
42
+ *
43
+ * ## Why a processor needs this at all
44
+ *
45
+ * A processor resolved a Topic dep to `point.payload`: the VALUE channel alone,
46
+ * with no staleness, no `validAt` and no model. So a derivation that reasons
47
+ * ACROSS topics could not tell whether its inputs were current, and during a
48
+ * blackout it computed on last-contact values and its consumers presented the
49
+ * result as though it were now. `ShipSystems` does exactly that today: a
50
+ * time-to-empty derived from levels observed twenty minutes ago, rendered with
51
+ * nothing anywhere saying so. That is the failure this whole type exists to
52
+ * prevent, in the widget where it matters most.
53
+ *
54
+ * ## Why it composes
55
+ *
56
+ * `evaluate` skips a processor whose `lastFrameGeneration` matches the frame,
57
+ * so it is memoised WITHIN a frame and re-evaluated ACROSS frames.
58
+ * `sampleReading` re-derives a reading carrying a model whenever the frame's
59
+ * view time moves. Both are keyed on the same thing, the frame, so a processor
60
+ * sees a reading built for the moment it is deriving for without any new
61
+ * invalidation machinery.
62
+ *
63
+ * ## What a processor should NOT do with it
64
+ *
65
+ * Return it. A `Reading` is one Topic's currency; a cross-resource conclusion
66
+ * ("four hours of oxygen, but not if the batteries go first") is not one
67
+ * Topic's anything. A processor whose output is modelled carries its own
68
+ * provenance instead, the way a projection channel's payload does with
69
+ * `observed` / `projected` / `lower` / `upper` / `elapsed`.
70
+ */
71
+ export interface ReadingDep<Topic extends TopicId = TopicId> {
72
+ readonly reading: Topic;
73
+ }
74
+ /**
75
+ * A dep whose topic is only known once the FIXED deps have resolved: "the orbit
76
+ * of whichever vessel this route names", not a topic id anyone can write down.
77
+ *
78
+ * ## Why a fixed list cannot express it
79
+ *
80
+ * `comms.delay`'s model refuses a relayed route outright, and its own decline
81
+ * says why: the route home starts at a relay, and where that relay is now sits
82
+ * on `fleet.<guid>.orbit`, whose guid arrives IN the route. The model has the
83
+ * guid in hand at reckon time; what it has no way to say is "subscribe that".
84
+ * Every other dep variety names its topic at declaration time, which is exactly
85
+ * the thing a subject cannot do.
86
+ *
87
+ * ## The payload type is stated, not looked up
88
+ *
89
+ * `Payload` is the payload the resolved topic carries, and the author gives it,
90
+ * the same way `useStream<WireOf<VesselOrbitPayload>>(`fleet.${guid}.orbit`)`
91
+ * already does at every other dynamic read in the tree. A dynamic topic has no
92
+ * member in `TopicPayloadMap` to infer from: the ids are computed at runtime,
93
+ * which is the same reason `dynamicWholeTopicPrefixes` exists rather than a
94
+ * generated list.
95
+ *
96
+ * ## An undeclared subject declines, it does not guess
97
+ *
98
+ * `subject` returning `undefined` resolves the dep to `undefined`, which the
99
+ * store already turns into the `input-absent` decline every other unmet dep
100
+ * gets. A model that cannot name its subject has not got its input, and saying
101
+ * so is the same result as an absent channel rather than a new one.
102
+ */
103
+ export interface SubjectDep<Payload = unknown, Fixed extends readonly unknown[] = readonly unknown[]> {
104
+ /** The topic to read, given the subject id: `` (id) => `fleet.${id}.orbit` ``. */
105
+ forSubject(subjectId: string): string;
106
+ /**
107
+ * Which subject this reckon is about, read from the point and the fixed deps
108
+ * resolved beside it. `undefined` means this reckon has no subject, which is
109
+ * not the same as a missing input: the dep resolves to `undefined` and the
110
+ * model decides.
111
+ *
112
+ * `Fixed` is the prefix of the model's own deps this selector reads, declared
113
+ * so it destructures typed. Without it `resolved` is `readonly unknown[]` and
114
+ * every selector opens with an assertion out of `unknown`, which is the thing
115
+ * `unknown-cast` exists to stop. Declared as a METHOD rather than a property
116
+ * so the bivariance lets a selector over a narrow tuple still satisfy the
117
+ * `SubjectDep<unknown>` the `Dep` union carries.
118
+ */
119
+ subject(point: TimelinePoint<unknown>, resolved: Fixed): string | undefined;
120
+ /** Phantom: the payload the resolved topic carries. Never read at runtime. */
121
+ readonly __payloadType?: Payload;
122
+ }
123
+ /**
124
+ * A processor dependency: a raw Topic id, a Topic's reading, another
125
+ * processor's handle, or a per-subject topic resolved at reckon time.
126
+ *
127
+ * The last is a RECKONER's to declare. It is in this union rather than in a
128
+ * second one because a reckoner's inputs are the same kind of thing a
129
+ * processor's are, and the alternative is two vocabularies to keep in step (see
130
+ * `ResolvedReckonerDep`, which says the same about resolution). A processor
131
+ * handed one is refused out loud by the evaluator: a processor has no point to
132
+ * take a subject from, and resolving it to `undefined` there would be
133
+ * indistinguishable from an absent input.
134
+ */
135
+ export type Dep = TopicId | ReadingDep | ProcessorHandle<unknown> | SubjectDep<unknown>;
136
+ /** Whether this dep's topic is computed per subject rather than declared. */
137
+ export declare function isSubjectDep(dep: Dep): dep is SubjectDep<unknown>;
138
+ /**
139
+ * The resolved value for one dependency: a nested processor resolves to its
140
+ * result type R; a reading dep resolves to the Topic's `Reading`; a Topic id
141
+ * resolves to its payload (or undefined when that Topic has produced no frame
142
+ * yet).
143
+ */
144
+ type ResolvedDep<Dependency extends Dep> = Dependency extends ProcessorHandle<infer Result, string, true> ? Reading<Result> : Dependency extends ProcessorHandle<infer Result> ? Result : Dependency extends ReadingDep<infer Topic> ? TopicReading<TopicPayload<Topic>> : Dependency extends TopicId ? TopicPayload<Dependency> | undefined : never;
145
+ /** Positionally-mapped tuple of resolved dependency values, in deps order. */
146
+ export type ResolvedDeps<Deps extends readonly Dep[]> = {
147
+ [Index in keyof Deps]: Deps[Index] extends Dep ? ResolvedDep<Deps[Index]> : never;
148
+ };
149
+ /**
150
+ * What a `compute` is told about the frame it is running for, beyond its deps.
151
+ *
152
+ * Only the frame's view time, and deliberately only that: a processor that
153
+ * needs to know WHEN it is deriving for is common (anything turning an instant
154
+ * on the wire into a remaining duration), and a processor that reaches for a
155
+ * wall clock instead is the bug `readingAge` and the wall-clock ratchet exist
156
+ * to stop. Handing it the frame's own frozen view time means there is nothing to
157
+ * reach for.
158
+ */
159
+ export interface ProcessorFrame {
160
+ /** The frame's frozen view time. Every read in this frame shares it. */
161
+ viewUt: number;
162
+ }
163
+ export interface ProcessorDefinition<Deps extends readonly Dep[] = readonly Dep[], Result = unknown> {
164
+ id: string;
165
+ owner: string;
166
+ deps: Deps;
167
+ compute: (values: ResolvedDeps<Deps>, frame: ProcessorFrame) => Result;
168
+ }
169
+ export type AnyProcessorDefinition = ProcessorDefinition<readonly Dep[], unknown>;
170
+ /**
171
+ * Declare a Processor. Registers under the owner-stamped id `${owner}:${id}`
172
+ * (same owner-stamp convention as registerContribution) and returns an opaque
173
+ * handle other processors and contributions depend on. Re-registering the
174
+ * exact same definition (same compute reference) is a no-op so a module can be
175
+ * imported twice; a DIFFERENT definition under an already-used id throws.
176
+ */
177
+ export declare function defineProcessor<const Deps extends readonly Dep[], Result, const ProcessorId extends string>(def: {
178
+ id: ProcessorId;
179
+ owner: string;
180
+ deps: Deps;
181
+ compute: (values: ResolvedDeps<Deps>, frame: ProcessorFrame) => Result;
182
+ }): ProcessorHandle<Result, `${string}:${ProcessorId}`, CarriesCurrency<Deps>>;
183
+ /**
184
+ * Returns a handle to a processor that another Uplink implements, so any
185
+ * Uplink can read it with {@link useProcessor} without depending on the one
186
+ * that implements it. Export the handle and its result type from a module
187
+ * both Uplinks import: a small shared package of your own for two of your
188
+ * Uplinks, as the SDK does for the ones it ships. The implementing Uplink
189
+ * registers a processor under the same id and types its `compute` with the
190
+ * same result type.
191
+ *
192
+ * When nothing registers the processor, as when its mod is not installed,
193
+ * `useProcessor` returns `undefined`.
194
+ *
195
+ * Throws when `id` is not `"<uplink id>:<name>"`, the implementing Uplink's
196
+ * id and then the processor's own name.
197
+ *
198
+ * @example One Uplink implements a processor, and any other reads it
199
+ * ```ts
200
+ * import {
201
+ * defineProcessorContract,
202
+ * defineUplinkClient,
203
+ * useProcessor,
204
+ * } from "@ksp-gonogo/sitrep-sdk";
205
+ *
206
+ * // In a module both Uplinks import: the result's type and the contract.
207
+ * interface HabSummary {
208
+ * crewDays: number;
209
+ * }
210
+ * const HAB_SUMMARY = defineProcessorContract<HabSummary>("habitat:summary");
211
+ *
212
+ * // In the Uplink "habitat", which implements it. Its handle puts
213
+ * // "habitat:" in front of the name, so the id is "habitat:summary".
214
+ * const HABITAT = defineUplinkClient({
215
+ * id: "habitat",
216
+ * version: "1.0.0",
217
+ * name: "Habitat",
218
+ * description: "Life support for a crewed vessel.",
219
+ * });
220
+ * HABITAT.registerProcessor({
221
+ * id: "summary",
222
+ * deps: [],
223
+ * compute: (): HabSummary => ({ crewDays: 12 }),
224
+ * });
225
+ *
226
+ * // In any other Uplink's component. A contract does not say whether the
227
+ * // processor's inputs were readings, so the result is typed as the bare
228
+ * // HabSummary or a Reading of one, and is undefined while nothing implements it.
229
+ * function useHabSummary() {
230
+ * return useProcessor(HAB_SUMMARY);
231
+ * }
232
+ * ```
233
+ *
234
+ * @category Processors
235
+ */
236
+ export declare function defineProcessorContract<Result, const ProcessorId extends string = string>(id: ProcessorId): ProcessorHandle<Result, ProcessorId>;
237
+ export declare function getProcessor(id: string): AnyProcessorDefinition | undefined;
238
+ export declare function getAllProcessors(): AnyProcessorDefinition[];
239
+ /** Test-only: reset the processor registry to empty. */
240
+ export declare function clearProcessors(): void;
241
+ export {};
242
+ //# sourceMappingURL=processors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processors.d.ts","sourceRoot":"","sources":["../../src/spine/processors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAerD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe,CAC9B,MAAM,EACN,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,OAAO,GAAG,OAAO;IAEjC,6HAA6H;IAC7H,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,8IAA8I;IAC9I,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,SAAS,GAAG,EAAE,IAAI;IACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAClC,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL,IAAI,CAAC;AAET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO;IACzD,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,UAAU,CACzB,OAAO,GAAG,OAAO,EACjB,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,SAAS,OAAO,EAAE;IAErD,kFAAkF;IAClF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5E,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,GAAG,GACX,OAAO,GACP,UAAU,GACV,eAAe,CAAC,OAAO,CAAC,GACxB,UAAU,CAAC,OAAO,CAAC,CAAC;AAExB,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAEjE;AAED;;;;;GAKG;AACH,KAAK,WAAW,CAAC,UAAU,SAAS,GAAG,IACrC,UAAU,SAAS,eAAe,CAAC,MAAM,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAC1D,OAAO,CAAC,MAAM,CAAC,GACf,UAAU,SAAS,eAAe,CAAC,MAAM,MAAM,CAAC,GAC9C,MAAM,GACN,UAAU,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,GACxC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GACjC,UAAU,SAAS,OAAO,GACxB,YAAY,CAAC,UAAU,CAAC,GAAG,SAAS,GACpC,KAAK,CAAC;AAElB,8EAA8E;AAC9E,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,SAAS,GAAG,EAAE,IAAI;KACrD,KAAK,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAC1C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GACxB,KAAK;CACV,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB,CAClC,IAAI,SAAS,SAAS,GAAG,EAAE,GAAG,SAAS,GAAG,EAAE,EAC5C,MAAM,GAAG,OAAO;IAEhB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;CACxE;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CACtD,SAAS,GAAG,EAAE,EACd,OAAO,CACR,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,CAAC,IAAI,SAAS,SAAS,GAAG,EAAE,EACjC,MAAM,EACN,KAAK,CAAC,WAAW,SAAS,MAAM,EAChC,GAAG,EAAE;IACL,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;CACxE,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,MAAM,IAAI,WAAW,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAyB7E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EACN,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,EACzC,EAAE,EAAE,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAYvD;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE3E;AAED,wBAAgB,gBAAgB,IAAI,sBAAsB,EAAE,CAE3D;AAED,wDAAwD;AACxD,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
@@ -0,0 +1,109 @@
1
+ /** Whether this dep's topic is computed per subject rather than declared. */
2
+ export function isSubjectDep(dep) {
3
+ return typeof dep === "object" && dep !== null && "forSubject" in dep;
4
+ }
5
+ const processors = new Map();
6
+ /**
7
+ * Declare a Processor. Registers under the owner-stamped id `${owner}:${id}`
8
+ * (same owner-stamp convention as registerContribution) and returns an opaque
9
+ * handle other processors and contributions depend on. Re-registering the
10
+ * exact same definition (same compute reference) is a no-op so a module can be
11
+ * imported twice; a DIFFERENT definition under an already-used id throws.
12
+ */
13
+ export function defineProcessor(def) {
14
+ /* Typed rather than inferred: a template expression widens to `string`, and
15
+ the stamped id is what a contribution keys this processor's result by, so
16
+ the shape has to survive as far as the handle. */
17
+ const stampedId = `${def.owner}:${def.id}`;
18
+ const existing = processors.get(stampedId);
19
+ const stamped = {
20
+ id: stampedId,
21
+ owner: def.owner,
22
+ deps: def.deps,
23
+ compute: def.compute,
24
+ };
25
+ if (existing !== undefined) {
26
+ if (existing.compute === stamped.compute)
27
+ return { id: stampedId };
28
+ throw new Error(`Processor id "${stampedId}" is already registered; a different ` +
29
+ `definition cannot re-use it. Processor ids must be unique within ` +
30
+ `their owner.`);
31
+ }
32
+ processors.set(stampedId, stamped);
33
+ return { id: stampedId };
34
+ }
35
+ /**
36
+ * Returns a handle to a processor that another Uplink implements, so any
37
+ * Uplink can read it with {@link useProcessor} without depending on the one
38
+ * that implements it. Export the handle and its result type from a module
39
+ * both Uplinks import: a small shared package of your own for two of your
40
+ * Uplinks, as the SDK does for the ones it ships. The implementing Uplink
41
+ * registers a processor under the same id and types its `compute` with the
42
+ * same result type.
43
+ *
44
+ * When nothing registers the processor, as when its mod is not installed,
45
+ * `useProcessor` returns `undefined`.
46
+ *
47
+ * Throws when `id` is not `"<uplink id>:<name>"`, the implementing Uplink's
48
+ * id and then the processor's own name.
49
+ *
50
+ * @example One Uplink implements a processor, and any other reads it
51
+ * ```ts
52
+ * import {
53
+ * defineProcessorContract,
54
+ * defineUplinkClient,
55
+ * useProcessor,
56
+ * } from "@ksp-gonogo/sitrep-sdk";
57
+ *
58
+ * // In a module both Uplinks import: the result's type and the contract.
59
+ * interface HabSummary {
60
+ * crewDays: number;
61
+ * }
62
+ * const HAB_SUMMARY = defineProcessorContract<HabSummary>("habitat:summary");
63
+ *
64
+ * // In the Uplink "habitat", which implements it. Its handle puts
65
+ * // "habitat:" in front of the name, so the id is "habitat:summary".
66
+ * const HABITAT = defineUplinkClient({
67
+ * id: "habitat",
68
+ * version: "1.0.0",
69
+ * name: "Habitat",
70
+ * description: "Life support for a crewed vessel.",
71
+ * });
72
+ * HABITAT.registerProcessor({
73
+ * id: "summary",
74
+ * deps: [],
75
+ * compute: (): HabSummary => ({ crewDays: 12 }),
76
+ * });
77
+ *
78
+ * // In any other Uplink's component. A contract does not say whether the
79
+ * // processor's inputs were readings, so the result is typed as the bare
80
+ * // HabSummary or a Reading of one, and is undefined while nothing implements it.
81
+ * function useHabSummary() {
82
+ * return useProcessor(HAB_SUMMARY);
83
+ * }
84
+ * ```
85
+ *
86
+ * @category Processors
87
+ */
88
+ export function defineProcessorContract(id) {
89
+ // A contract names an id `registerProcessor` will STAMP, so it has to be
90
+ // written owner-first. Checked here because the alternative is a handle that
91
+ // silently answers `undefined` forever, which is indistinguishable from the
92
+ // mod not being installed: the one case this is supposed to make legible.
93
+ if (id.split(":").length !== 2 || id.startsWith(":") || id.endsWith(":")) {
94
+ throw new Error(`Processor contract id "${id}" must be owner-stamped as "<owner>:<id>", ` +
95
+ `matching what registerProcessor stamps for the Uplink that implements it.`);
96
+ }
97
+ return { id };
98
+ }
99
+ export function getProcessor(id) {
100
+ return processors.get(id);
101
+ }
102
+ export function getAllProcessors() {
103
+ return Array.from(processors.values());
104
+ }
105
+ /** Test-only: reset the processor registry to empty. */
106
+ export function clearProcessors() {
107
+ processors.clear();
108
+ }
109
+ //# sourceMappingURL=processors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processors.js","sourceRoot":"","sources":["../../src/spine/processors.ts"],"names":[],"mappings":"AAuKA,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,YAAY,IAAI,GAAG,CAAC;AACxE,CAAC;AAwDD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAI7B,GAKD;IACC;;wDAEoD;IACpD,MAAM,SAAS,GAA+B,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,OAAO,GAA2B;QACtC,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAGD;KACb,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,iBAAiB,SAAS,uCAAuC;YAC/D,mEAAmE;YACnE,cAAc,CACjB,CAAC;IACJ,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,UAAU,uBAAuB,CAGrC,EAAe;IACf,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,0BAA0B,EAAE,6CAA6C;YACvE,2EAA2E,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe;IAC7B,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Orbit scalars read straight off streamed elements, for a caller that already
3
+ * holds them and wants a closed-form property of the ellipse.
4
+ *
5
+ * Nothing here propagates. Advancing elements to a future UT is
6
+ * `orbit-trajectory.ts`'s job, because that question cannot be answered from
7
+ * the elements alone: it needs the elected provider's `PropagationHorizon` for
8
+ * how far they may be extrapolated and for whether a conic is the right
9
+ * renderer at all. `orbitalPeriod` needs neither, being a property of the
10
+ * ellipse wherever the craft is on it.
11
+ */
12
+ import type { OrbitElements } from "./kepler.js";
13
+ /** Re-exported for this module's long-standing importers; declared in the unit system. */
14
+ export { STANDARD_GRAVITY } from "../unit-system/definitions.js";
15
+ /** Orbital period (seconds) of an ellipse: `2π·sqrt(sma³/mu)`. `null` for a non-bound (sma ≤ 0) or non-finite orbit. */
16
+ export declare function orbitalPeriod(elements: OrbitElements): number | null;
17
+ //# sourceMappingURL=propagation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propagation.d.ts","sourceRoot":"","sources":["../../src/spine/propagation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C,0FAA0F;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,wHAAwH;AACxH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAIpE"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Orbit scalars read straight off streamed elements, for a caller that already
3
+ * holds them and wants a closed-form property of the ellipse.
4
+ *
5
+ * Nothing here propagates. Advancing elements to a future UT is
6
+ * `orbit-trajectory.ts`'s job, because that question cannot be answered from
7
+ * the elements alone: it needs the elected provider's `PropagationHorizon` for
8
+ * how far they may be extrapolated and for whether a conic is the right
9
+ * renderer at all. `orbitalPeriod` needs neither, being a property of the
10
+ * ellipse wherever the craft is on it.
11
+ */
12
+ const TWO_PI = 2 * Math.PI;
13
+ /** Re-exported for this module's long-standing importers; declared in the unit system. */
14
+ export { STANDARD_GRAVITY } from "../unit-system/definitions.js";
15
+ /** Orbital period (seconds) of an ellipse: `2π·sqrt(sma³/mu)`. `null` for a non-bound (sma ≤ 0) or non-finite orbit. */
16
+ export function orbitalPeriod(elements) {
17
+ if (elements.sma <= 0 || !Number.isFinite(elements.sma))
18
+ return null;
19
+ const period = TWO_PI * Math.sqrt(elements.sma ** 3 / elements.mu);
20
+ return Number.isFinite(period) ? period : null;
21
+ }
22
+ //# sourceMappingURL=propagation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propagation.js","sourceRoot":"","sources":["../../src/spine/propagation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAE3B,0FAA0F;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,wHAAwH;AACxH,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { UseCommandResult } from "./use-command.js";
2
+ /** One command handle as the rail holds it, keyed by an id stable for the registering hook's life. */
3
+ export type RailedCommand = Omit<UseCommandResult, "send" | "gateFor"> & {
4
+ id: string;
5
+ };
6
+ /**
7
+ * Where a widget's live command handles are collected for the panel's delay
8
+ * rail to draw: in flight, refused, lost, found and never sent. `useCommand`
9
+ * registers every handle it returns with the nearest one, so a command's
10
+ * outcome is shown without the widget wiring anything.
11
+ */
12
+ export interface RailRegistry {
13
+ /** Add or replace a handle, keyed on its `id`. Returns its deregister function. */
14
+ register(entry: RailedCommand): () => void;
15
+ /** Update a registered handle in place; a no-op when nothing moved. */
16
+ update(id: string, next: Omit<RailedCommand, "id">): void;
17
+ }
18
+ /** The nearest rail, or `null` where none is mounted. */
19
+ export declare const RailRegistryContext: import("react").Context<RailRegistry | null>;
20
+ export declare function useRailRegistry(): RailRegistry | null;
21
+ //# sourceMappingURL=rail-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rail-registry.d.ts","sourceRoot":"","sources":["../../src/spine/rail-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,sGAAsG;AACtG,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG;IACvE,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,IAAI,CAAC;IAC3C,uEAAuE;IACvE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3D;AAED,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,8CAA2C,CAAC;AAE5E,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD"}
@@ -0,0 +1,7 @@
1
+ import { createContext, useContext } from "react";
2
+ /** The nearest rail, or `null` where none is mounted. */
3
+ export const RailRegistryContext = createContext(null);
4
+ export function useRailRegistry() {
5
+ return useContext(RailRegistryContext);
6
+ }
7
+ //# sourceMappingURL=rail-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rail-registry.js","sourceRoot":"","sources":["../../src/spine/rail-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAqBlD,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AAE5E,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,133 @@
1
+ import type { AnyReckonerDefinition, DepWindows, ReckonerDefinition, ReckonerInputRule } from "../reading.js";
2
+ import type { TopicId, TopicPayload } from "../topics.js";
3
+ import type { Dep } from "./processors.js";
4
+ /**
5
+ * The owner core's own vanilla models register under. An Uplink cannot use it:
6
+ * `defineUplinkClient` stamps the client's own id, and `CORE_UPLINK_CLIENT` is
7
+ * the one handle carrying this one.
8
+ */
9
+ export declare const CORE_RECKONER_OWNER = "core";
10
+ /**
11
+ * Register `owner`'s forward model for `topic`.
12
+ *
13
+ * `owner` is a required argument rather than a convention because ownership has
14
+ * to be readable by something other than a person: the boundary ratchet and any
15
+ * health surface both want to know which Uplink is modelling what. An Uplink
16
+ * client should call its handle's bound `registerReckoner` instead of naming
17
+ * itself here.
18
+ *
19
+ * ## The topic is the typed union, so the payload type falls out of it
20
+ *
21
+ * `topic` was a bare `string`, and it cost twice. A name with a typo was not a
22
+ * compile error at all: it registered a model under a topic nothing would ever
23
+ * read, and the only symptom was a value that stayed unreckoned forever. And
24
+ * `T` could not be inferred from it, so every author annotated the payload by
25
+ * hand and the annotation was free to disagree with the topic it was registered
26
+ * against.
27
+ *
28
+ * Taking `TopicId` and resolving `TopicPayload<Topic>` fixes both at once,
29
+ * through the map `useTelemetry` and `Dep` already resolve through. `Deps` and
30
+ * `Projection` were already inferable and are simply left to infer: a definition that
31
+ * annotates neither is the shorter one AND the one that cannot drift.
32
+ *
33
+ * An Uplink-owned Topic reaches the union the same way it reaches
34
+ * `useTelemetry`: the Uplink's client augments `TopicPayloadMap` through
35
+ * `declare module "@ksp-gonogo/sitrep-sdk"`, and any program that statically
36
+ * imports that module can register a model for it.
37
+ */
38
+ export declare function registerReckoner<const Topic extends TopicId, Projection = TopicPayload<Topic>, const Deps extends readonly Dep[] = readonly Dep[], const Windows extends DepWindows<Deps> = Record<never, never>>(topic: Topic, owner: string, reckoner: ReckonerDefinition<TopicPayload<Topic>, Projection, Deps, Windows>): void;
39
+ /** One model's declared opt-out from one input rule, and who declared it. */
40
+ export interface ReckonerExemption {
41
+ readonly topic: string;
42
+ readonly owner: string;
43
+ readonly rule: ReckonerInputRule;
44
+ readonly reason: string;
45
+ /** Present where the opt-out is narrowed to models produced on one basis. */
46
+ readonly basis?: string;
47
+ /** Present where it is narrowed to one declared input, which is the honest form. */
48
+ readonly input?: string;
49
+ }
50
+ /**
51
+ * Every input-rule opt-out any registered model declared, sorted by topic, then
52
+ * owner, then rule.
53
+ *
54
+ * The point of the rules is that a model gets them without writing anything, so
55
+ * the exceptions are the only part anyone has to read, and they have to be
56
+ * readable in ONE place rather than found by grepping twelve Uplinks. An
57
+ * Uplink's generated page lists its own off this, and the ledger suite pins the
58
+ * whole set so a new exemption arrives as a reviewed diff rather than as a line
59
+ * inside a model nobody re-reads.
60
+ *
61
+ * Sorted rather than in registration order for the same reason
62
+ * `getReckonedTopics` is: a generated page whose rows depend on module import
63
+ * order churns on every bundler change.
64
+ */
65
+ export declare function getReckonerExemptions(): ReckonerExemption[];
66
+ /** The elected model for a topic, and which owner it belongs to. */
67
+ export interface ElectedReckoner {
68
+ readonly owner: string;
69
+ readonly definition: AnyReckonerDefinition;
70
+ }
71
+ /**
72
+ * The model to actually use for `topic`, and who owns it.
73
+ *
74
+ * ## The election, and why withholding everything stopped being right
75
+ *
76
+ * This used to answer `undefined` for a contested topic as well as an
77
+ * unmodelled one, on the reasoning that two Uplinks claiming one topic should
78
+ * be served by neither. That reasoning holds for the two Uplinks and stops
79
+ * holding once CORE ships a vanilla: withholding then serves nothing while a
80
+ * working model sits registered, which is a silent outage rather than a
81
+ * withheld opinion, and on a value the CONTRACT declares reckonable the type
82
+ * has already promised a model is on offer.
83
+ *
84
+ * So the ladder is: the sole non-core owner (an Uplink that owns the physics
85
+ * beats the vanilla), else core's own registration (which is what a contest
86
+ * falls back to, and what an uncontested core-only topic uses), else nothing.
87
+ * A contest that core cannot cover still answers with nothing, and
88
+ * `TimelineStore` turns that into `declined: { reason: "contested" }` rather
89
+ * than a silence.
90
+ *
91
+ * {@link getReckonerConflicts} is unchanged and still names every contested
92
+ * topic, because "these two Uplinks disagree" is worth telling an operator
93
+ * whether or not core covered for them.
94
+ */
95
+ export declare function getReckoner(topic: string): ElectedReckoner | undefined;
96
+ /** A topic two or more NON-CORE owners have both registered a model for. */
97
+ export interface ReckonerConflict {
98
+ topic: string;
99
+ /**
100
+ * The competing owners, sorted, core included where it also registered. Every
101
+ * CONTENDER is withheld; core is not a contender and covers where it has a
102
+ * model. See {@link getReckoner}.
103
+ */
104
+ owners: string[];
105
+ }
106
+ /**
107
+ * Every contested topic in the registry, for a host that wants to tell the
108
+ * operator which Uplinks disagree. Mirrors `getReplacementConflicts`, and its
109
+ * emptiness is the normal case.
110
+ *
111
+ * Core is not counted as a party to the contest. Core ships a vanilla for every
112
+ * marked Topic, so counting it would make one Uplink electing itself over the
113
+ * vanilla read as a disagreement, which is the normal and intended case and the
114
+ * one {@link getReckoner} serves without hesitating. A contest is two owners who
115
+ * both think they own the physics.
116
+ */
117
+ export declare function getReckonerConflicts(): ReckonerConflict[];
118
+ /**
119
+ * Every topic anyone has registered a model for, with its owners.
120
+ *
121
+ * `getReckoner` answers with the model and `getReckonerConflicts` with the
122
+ * contested subset, and neither can tell you that one owner models six topics,
123
+ * which is what a docs surface enumerating an Uplink's contributions needs.
124
+ * Sorted by topic so a generated page's ordering does not depend on module
125
+ * import order.
126
+ */
127
+ export declare function getReckonedTopics(): {
128
+ topic: string;
129
+ owners: string[];
130
+ }[];
131
+ /** Test-only: reset the registry to empty. */
132
+ export declare function clearReckoners(): void;
133
+ //# sourceMappingURL=reckoners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reckoners.d.ts","sourceRoot":"","sources":["../../src/spine/reckoners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAwCxC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,KAAK,SAAS,OAAO,EAC3B,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,EAChC,KAAK,CAAC,IAAI,SAAS,SAAS,GAAG,EAAE,GAAG,SAAS,GAAG,EAAE,EAClD,KAAK,CAAC,OAAO,SAAS,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAE7D,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAC3E,IAAI,CAiEN;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAgC3D;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAYtE;AAED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,EAAE,CAWzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAIzE;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,IAAI,IAAI,CAErC"}