space-data-module-sdk 0.8.14 → 0.8.16

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 (125) hide show
  1. package/bin/space-data-module.js +91 -0
  2. package/docs/_shell/consumer-assets.html +5 -0
  3. package/docs/browser-wasmedge-isomorphic.html +261 -0
  4. package/docs/byo-wasm-quickstart.html +226 -0
  5. package/docs/byo-wasm-quickstart.md +204 -0
  6. package/docs/conformance.html +156 -0
  7. package/docs/conformance.md +92 -0
  8. package/docs/emception-shared-memory-verdict.md +209 -0
  9. package/docs/events-abi.html +313 -0
  10. package/docs/events-abi.md +530 -0
  11. package/docs/families/analytics.html +178 -0
  12. package/docs/families/analytics.md +104 -0
  13. package/docs/families/attitude.html +157 -0
  14. package/docs/families/attitude.md +36 -0
  15. package/docs/families/behavior.html +157 -0
  16. package/docs/families/behavior.md +36 -0
  17. package/docs/families/breakup.html +157 -0
  18. package/docs/families/breakup.md +36 -0
  19. package/docs/families/conjunction.html +186 -0
  20. package/docs/families/conjunction.md +121 -0
  21. package/docs/families/data-source.html +318 -0
  22. package/docs/families/effects.html +157 -0
  23. package/docs/families/effects.md +36 -0
  24. package/docs/families/environment.html +170 -0
  25. package/docs/families/environment.md +73 -0
  26. package/docs/families/estimation.html +190 -0
  27. package/docs/families/estimation.md +128 -0
  28. package/docs/families/gnc.html +157 -0
  29. package/docs/families/gnc.md +36 -0
  30. package/docs/families/maneuver.html +209 -0
  31. package/docs/families/maneuver.md +206 -0
  32. package/docs/families/obstruction.html +191 -0
  33. package/docs/families/obstruction.md +96 -0
  34. package/docs/families/propagator.html +333 -0
  35. package/docs/families/propulsion.html +157 -0
  36. package/docs/families/propulsion.md +36 -0
  37. package/docs/families/reentry.html +157 -0
  38. package/docs/families/reentry.md +36 -0
  39. package/docs/families/rf.html +193 -0
  40. package/docs/families/rf.md +136 -0
  41. package/docs/families/scheduler.html +157 -0
  42. package/docs/families/scheduler.md +36 -0
  43. package/docs/families/sensor.html +157 -0
  44. package/docs/families/sensor.md +36 -0
  45. package/docs/families/signature.html +157 -0
  46. package/docs/families/signature.md +36 -0
  47. package/docs/flatsql-host-contract.html +176 -0
  48. package/docs/flatsql-streaming-standard.html +375 -0
  49. package/docs/gpu-module-abi.html +233 -0
  50. package/docs/harness-family-matrix.md +135 -0
  51. package/docs/index.html +216 -85
  52. package/docs/isomorphic-pthreads.html +228 -0
  53. package/docs/isomorphic-pthreads.md +84 -0
  54. package/docs/isomorphic-sdn-runtime-plan.html +274 -0
  55. package/docs/language-runtime-matrix.html +182 -0
  56. package/docs/llms.txt +86 -0
  57. package/docs/module-bundle-runtime-plan.html +146 -0
  58. package/docs/module-publication-standard.html +503 -0
  59. package/docs/node-red-default-node-parity.html +201 -0
  60. package/docs/propagator-abi.md +73 -21
  61. package/docs/protect-and-sign.html +181 -0
  62. package/docs/protect-and-sign.md +120 -0
  63. package/docs/protocol-installation.html +296 -0
  64. package/docs/publication-submission.html +158 -0
  65. package/docs/publication-submission.md +78 -0
  66. package/docs/secrets-capability.html +206 -0
  67. package/docs/styles.css +860 -167
  68. package/docs/testing-harness.html +408 -0
  69. package/docs/tri-runtime-parity-gate.html +182 -0
  70. package/docs/tri-runtime-parity.html +203 -0
  71. package/include/orbpro/orbpro_event_runner.h +951 -0
  72. package/include/orbpro/orbpro_events_abi.h +565 -0
  73. package/include/orbpro/orbpro_propagator_abi.h +17 -0
  74. package/package.json +15 -5
  75. package/schemas/orbpro/Events.fbs +501 -0
  76. package/schemas/orbpro/Propagator.fbs +72 -9
  77. package/schemas/orbpro/reference-frame-crosswalk.json +108 -0
  78. package/schemas/orbpro/reference-frame.lock.json +98 -0
  79. package/src/browser.js +13 -0
  80. package/src/conformance/abiDriver.js +225 -0
  81. package/src/conformance/index.js +151 -0
  82. package/src/conformance/propagatorSuite.js +526 -0
  83. package/src/conformance/selfTest.js +275 -0
  84. package/src/conformance/selfTestCorpus.js +68 -0
  85. package/src/conformance/twoBodyReference.js +132 -0
  86. package/src/generated/orbpro/events-abi.js +206 -0
  87. package/src/generated/orbpro/events-abi.ts +319 -0
  88. package/src/generated/orbpro/propagator/reference-frame.js +17 -0
  89. package/src/generated/orbpro/propagator/reference-frame.ts +91 -1
  90. package/src/generated/orbpro/propagator-abi.js +17 -0
  91. package/src/generated/orbpro/propagator-abi.ts +17 -0
  92. package/src/generated/spacedatastandards/plg/CCT.d.ts +94 -0
  93. package/src/generated/spacedatastandards/plg/CCT.d.ts.map +1 -0
  94. package/src/generated/spacedatastandards/plg/CCT.js +208 -0
  95. package/src/generated/spacedatastandards/plg/CCT.ts +281 -0
  96. package/src/generated/spacedatastandards/plg/CCTCategory.d.ts +98 -0
  97. package/src/generated/spacedatastandards/plg/CCTCategory.d.ts.map +1 -0
  98. package/src/generated/spacedatastandards/plg/CCTCategory.js +177 -0
  99. package/src/generated/spacedatastandards/plg/CCTCategory.ts +269 -0
  100. package/src/generated/spacedatastandards/plg/CCTCategoryRollup.d.ts +54 -0
  101. package/src/generated/spacedatastandards/plg/CCTCategoryRollup.d.ts.map +1 -0
  102. package/src/generated/spacedatastandards/plg/CCTCategoryRollup.js +106 -0
  103. package/src/generated/spacedatastandards/plg/CCTCategoryRollup.ts +144 -0
  104. package/src/generated/spacedatastandards/plg/PLG.d.ts +46 -2
  105. package/src/generated/spacedatastandards/plg/PLG.d.ts.map +1 -1
  106. package/src/generated/spacedatastandards/plg/PLG.js +78 -5
  107. package/src/generated/spacedatastandards/plg/PLG.ts +90 -5
  108. package/src/generated/spacedatastandards/plg/capabilityClass.d.ts +181 -0
  109. package/src/generated/spacedatastandards/plg/capabilityClass.d.ts.map +1 -0
  110. package/src/generated/spacedatastandards/plg/capabilityClass.js +183 -0
  111. package/src/generated/spacedatastandards/plg/capabilityClass.ts +208 -0
  112. package/src/generated/spacedatastandards/plg/main.d.ts +4 -0
  113. package/src/generated/spacedatastandards/plg/main.d.ts.map +1 -1
  114. package/src/generated/spacedatastandards/plg/main.js +4 -0
  115. package/src/generated/spacedatastandards/plg/main.ts +4 -0
  116. package/src/generated/spacedatastandards/plg/pluginCategory.d.ts +40 -2
  117. package/src/generated/spacedatastandards/plg/pluginCategory.d.ts.map +1 -1
  118. package/src/generated/spacedatastandards/plg/pluginCategory.js +40 -2
  119. package/src/generated/spacedatastandards/plg/pluginCategory.ts +40 -2
  120. package/src/host/browserModuleHarness.js +8 -0
  121. package/src/host/wasiThreadHost.js +189 -14
  122. package/src/index.d.ts +18 -1
  123. package/src/testing/isomorphicHarness.js +233 -0
  124. package/src/transport/index.js +16 -0
  125. package/src/transport/records.js +1015 -3
@@ -0,0 +1,319 @@
1
+ // ===========================================================================
2
+ // GENERATED FILE — DO NOT EDIT.
3
+ //
4
+ // Source of truth : schemas/orbpro/Events.fbs
5
+ // Generator : scripts/generate-events-abi.mjs
6
+ // Drift gate : scripts/check-events-abi.mjs (runs in `npm test`)
7
+ // Contract : docs/events-abi.md
8
+ //
9
+ // These constants exist so that no JavaScript consumer ever hard-codes a byte
10
+ // offset again. Read a state vector with ORBPRO_STATE_VECTOR.offsets.position,
11
+ // never with the literal 8.
12
+ // ===========================================================================
13
+
14
+ import { ReferenceFrame } from "./propagator-abi.js";
15
+
16
+ export { ReferenceFrame };
17
+
18
+ /**
19
+ * The refinement algorithm the runner uses on a bracketed root. All three are
20
+ * bracketing methods: a root that is bracketed stays bracketed, so a locator
21
+ * can never report a root outside the interval that produced it.
22
+ */
23
+ export enum RootMethod {
24
+ BRENT = 0,
25
+ BISECTION = 1,
26
+ ILLINOIS = 2,
27
+ }
28
+
29
+ /**
30
+ * Which way g crosses zero. SIGNED on purpose: a crossing qualifies when
31
+ * `direction * (g_after - g_before) > 0`, so the filter is arithmetic rather
32
+ * than a branch table, and ANY = 0 falls out of the same expression.
33
+ */
34
+ export enum CrossingDirection {
35
+ FALLING = -1,
36
+ ANY = 0,
37
+ RISING = 1,
38
+ }
39
+
40
+ /**
41
+ * How a refinement ended. NEVER folded into the returned root: a root that
42
+ * stopped on the iteration cap and a root that converged are different
43
+ * answers, and a consumer that cannot tell them apart will publish the first
44
+ * as if it were the second.
45
+ */
46
+ export enum RootStatus {
47
+ CONVERGED = 0,
48
+ MAX_ITERATIONS = 1,
49
+ FLAT_BRACKET = 2,
50
+ DISCONTINUOUS = 3,
51
+ TRUNCATED = 4,
52
+ EPOCH_RESOLUTION_LIMITED = 5,
53
+ }
54
+
55
+ /**
56
+ * The sign of a scalar at an interval endpoint. Its only job is to make an
57
+ * interval that is ALREADY OPEN at the scan start representable: a
58
+ * crossing-only report loses that interval entirely, which is the classic
59
+ * event-scan defect (the pass you were already inside when the scan began).
60
+ */
61
+ export enum Sign {
62
+ NEGATIVE = -1,
63
+ ZERO = 0,
64
+ POSITIVE = 1,
65
+ }
66
+
67
+ /**
68
+ * EventHit.flags and EventInterval.flags are BITFIELDS carrying any
69
+ * OR-combination of these, so both are declared `uint` on their structs
70
+ * rather than typed to this enum. The C enumerators are generated from here
71
+ * anyway — they are the contract.
72
+ */
73
+ export enum EventFlags {
74
+ NONE = 0,
75
+ INTERVAL_OPEN_AT_START = 1,
76
+ INTERVAL_OPEN_AT_END = 2,
77
+ TANGENTIAL = 4,
78
+ ON_SCAN_BOUNDARY = 8,
79
+ BACKWARD = 16,
80
+ STOP_CONDITION = 32,
81
+ }
82
+
83
+ /**
84
+ * Named negative return codes for every export in this family. A locator that
85
+ * answers -1 for everything is unconformable: the consumer cannot place the
86
+ * failure on the degradation ladder, so it cannot decide between retrying,
87
+ * widening the interval, and refusing. Codes -1..-6 are deliberately the SAME
88
+ * numbers and the same meanings as the propagator family's
89
+ * (docs/propagator-abi.md §Error codes); the events-specific codes start at
90
+ * -20 so no consumer can confuse the two tables by value.
91
+ */
92
+ export enum EventError {
93
+ INTERNAL = -25,
94
+ SUPPLY_COUNT_MISMATCH = -24,
95
+ PROTOCOL_ORDER = -23,
96
+ BUFFER_TOO_SMALL = -22,
97
+ UNKNOWN_COMPONENT = -21,
98
+ NOT_STARTED = -20,
99
+ UNPHYSICAL = -6,
100
+ NOT_CONVERGED = -5,
101
+ BAD_INPUT = -4,
102
+ NULL_OUTPUT = -3,
103
+ BAD_OBJECT_INDEX = -2,
104
+ NOT_CONFIGURED = -1,
105
+ OK = 0,
106
+ }
107
+
108
+ /**
109
+ * Whether a component's g is safe to refine, and with which method. A locator
110
+ * that lies here produces roots that look converged and are not, which is why
111
+ * it is declared per component rather than assumed for the family.
112
+ */
113
+ export enum ComponentContinuity {
114
+ SMOOTH = 0,
115
+ PIECEWISE = 1,
116
+ DISCRETE = 2,
117
+ }
118
+
119
+ /** One field's placement inside an ABI struct. */
120
+ export interface AbiField {
121
+ readonly offset: number;
122
+ readonly size: number;
123
+ /** Element count for array fields, 1 for scalars. */
124
+ readonly length: number;
125
+ /** DataView accessor suffix, e.g. "Float64" for getFloat64. */
126
+ readonly view: string;
127
+ }
128
+
129
+ /** One ABI struct's byte layout. */
130
+ export interface AbiStruct {
131
+ readonly name: string;
132
+ readonly cName: string;
133
+ readonly size: number;
134
+ readonly alignment: number;
135
+ readonly offsets: Readonly<Record<string, number>>;
136
+ readonly fields: Readonly<Record<string, AbiField>>;
137
+ }
138
+
139
+ /**
140
+ * The root-refinement policy — the SAME parameters for every locator, which
141
+ * is what makes two locators' epochs comparable. 32 bytes, 8-byte aligned.
142
+ *
143
+ * A zeroed policy is NOT a default: `orbpro_root_policy_init` zeroes it and
144
+ * `plugin_event_begin` refuses a zero `scan_step_seconds` with `BAD_INPUT`.
145
+ * A silent default step is how a scan misses every event shorter than it.
146
+ */
147
+ export const ORBPRO_ROOT_POLICY: AbiStruct = {
148
+ name: "RootPolicy",
149
+ cName: "OrbProRootPolicy",
150
+ size: 32,
151
+ alignment: 8,
152
+ offsets: {
153
+ scan_step_seconds: 0,
154
+ epoch_tolerance_seconds: 8,
155
+ value_tolerance: 16,
156
+ max_iterations: 24,
157
+ method: 28,
158
+ },
159
+ fields: {
160
+ scan_step_seconds: { offset: 0, size: 8, length: 1, view: "Float64" },
161
+ epoch_tolerance_seconds: { offset: 8, size: 8, length: 1, view: "Float64" },
162
+ value_tolerance: { offset: 16, size: 8, length: 1, view: "Float64" },
163
+ max_iterations: { offset: 24, size: 4, length: 1, view: "Uint32" },
164
+ method: { offset: 28, size: 1, length: 1, view: "Uint8" },
165
+ },
166
+ } as const;
167
+
168
+ /**
169
+ * The interval to scan, and the filter applied to what is found. 56 bytes,
170
+ * 8-byte aligned.
171
+ *
172
+ * EPOCHS ARE SPLIT PAIRS: `*_jd_day` is an exactly-representable Julian day
173
+ * (an integer, or an integer + 0.5) and `*_seconds` is the offset from it in
174
+ * seconds. Do not collapse them into one double before comparing — that is
175
+ * the forty-microsecond quantization this pair exists to avoid.
176
+ *
177
+ * BACKWARD PROPAGATION IS NOT A MODE. It is `stop` earlier than `start`. The
178
+ * runner steps negatively, the consumer's propagator is asked for earlier
179
+ * epochs, and every hit carries `BACKWARD`. There is no second code path to
180
+ * keep in agreement with the first.
181
+ */
182
+ export const ORBPRO_EVENT_INTERVAL: AbiStruct = {
183
+ name: "EventInterval",
184
+ cName: "OrbProEventInterval",
185
+ size: 56,
186
+ alignment: 8,
187
+ offsets: {
188
+ start_jd_day: 0,
189
+ start_seconds: 8,
190
+ stop_jd_day: 16,
191
+ stop_seconds: 24,
192
+ max_events: 32,
193
+ max_evaluations: 36,
194
+ occurrence: 40,
195
+ component: 44,
196
+ flags: 48,
197
+ direction: 52,
198
+ },
199
+ fields: {
200
+ start_jd_day: { offset: 0, size: 8, length: 1, view: "Float64" },
201
+ start_seconds: { offset: 8, size: 8, length: 1, view: "Float64" },
202
+ stop_jd_day: { offset: 16, size: 8, length: 1, view: "Float64" },
203
+ stop_seconds: { offset: 24, size: 8, length: 1, view: "Float64" },
204
+ max_events: { offset: 32, size: 4, length: 1, view: "Uint32" },
205
+ max_evaluations: { offset: 36, size: 4, length: 1, view: "Uint32" },
206
+ occurrence: { offset: 40, size: 4, length: 1, view: "Uint32" },
207
+ component: { offset: 44, size: 4, length: 1, view: "Uint32" },
208
+ flags: { offset: 48, size: 4, length: 1, view: "Uint32" },
209
+ direction: { offset: 52, size: 1, length: 1, view: "Int8" },
210
+ },
211
+ } as const;
212
+
213
+ /**
214
+ * One refined crossing. 48 bytes, 8-byte aligned.
215
+ *
216
+ * A HIT IS A CROSSING, NOT AN INTERVAL. Apsides and node crossings are
217
+ * instants; eclipse and contact are intervals. Emitting crossings and pairing
218
+ * them by direction is total over both, whereas an interval-shaped hit puts a
219
+ * sentinel in half the family. Pairing is deterministic and is specified in
220
+ * docs/events-abi.md §Interval pairing; `EventScanSummary` carries the
221
+ * endpoint signs that make the pairing total.
222
+ */
223
+ export const ORBPRO_EVENT_HIT: AbiStruct = {
224
+ name: "EventHit",
225
+ cName: "OrbProEventHit",
226
+ size: 48,
227
+ alignment: 8,
228
+ offsets: {
229
+ epoch_jd_day: 0,
230
+ epoch_seconds: 8,
231
+ value: 16,
232
+ component: 24,
233
+ iterations: 28,
234
+ evaluations: 32,
235
+ flags: 36,
236
+ direction: 40,
237
+ status: 41,
238
+ },
239
+ fields: {
240
+ epoch_jd_day: { offset: 0, size: 8, length: 1, view: "Float64" },
241
+ epoch_seconds: { offset: 8, size: 8, length: 1, view: "Float64" },
242
+ value: { offset: 16, size: 8, length: 1, view: "Float64" },
243
+ component: { offset: 24, size: 4, length: 1, view: "Uint32" },
244
+ iterations: { offset: 28, size: 4, length: 1, view: "Uint32" },
245
+ evaluations: { offset: 32, size: 4, length: 1, view: "Uint32" },
246
+ flags: { offset: 36, size: 4, length: 1, view: "Uint32" },
247
+ direction: { offset: 40, size: 1, length: 1, view: "Int8" },
248
+ status: { offset: 41, size: 1, length: 1, view: "Uint8" },
249
+ },
250
+ } as const;
251
+
252
+ /**
253
+ * What one component did across the whole interval. 32 bytes, 8-byte aligned.
254
+ *
255
+ * This is what makes a crossing list interpretable. Without the endpoint
256
+ * signs, "no hits" is ambiguous between "never in eclipse" and "in eclipse the
257
+ * entire time", and those are opposite answers.
258
+ */
259
+ export const ORBPRO_EVENT_SCAN_SUMMARY: AbiStruct = {
260
+ name: "EventScanSummary",
261
+ cName: "OrbProEventScanSummary",
262
+ size: 32,
263
+ alignment: 8,
264
+ offsets: {
265
+ initial_value: 0,
266
+ final_value: 8,
267
+ component: 16,
268
+ crossing_count: 20,
269
+ evaluation_count: 24,
270
+ initial_sign: 28,
271
+ final_sign: 29,
272
+ },
273
+ fields: {
274
+ initial_value: { offset: 0, size: 8, length: 1, view: "Float64" },
275
+ final_value: { offset: 8, size: 8, length: 1, view: "Float64" },
276
+ component: { offset: 16, size: 4, length: 1, view: "Uint32" },
277
+ crossing_count: { offset: 20, size: 4, length: 1, view: "Uint32" },
278
+ evaluation_count: { offset: 24, size: 4, length: 1, view: "Uint32" },
279
+ initial_sign: { offset: 28, size: 1, length: 1, view: "Int8" },
280
+ final_sign: { offset: 29, size: 1, length: 1, view: "Int8" },
281
+ },
282
+ } as const;
283
+
284
+ /**
285
+ * What the locator wants evaluated next — the guest-to-consumer half of the
286
+ * pull protocol. 16 bytes, 4-byte aligned.
287
+ *
288
+ * The consumer reads this, propagates the requested epochs through whatever
289
+ * module is wired to the propagator port, and returns the states through
290
+ * `plugin_event_supply`. The consumer chooses NOTHING: not the epochs, not
291
+ * the order, not when the scan ends.
292
+ */
293
+ export const ORBPRO_EVENT_STATE_REQUEST: AbiStruct = {
294
+ name: "EventStateRequest",
295
+ cName: "OrbProEventStateRequest",
296
+ size: 16,
297
+ alignment: 4,
298
+ offsets: {
299
+ epoch_count: 0,
300
+ object_count: 4,
301
+ reference_frame: 8,
302
+ flags: 12,
303
+ },
304
+ fields: {
305
+ epoch_count: { offset: 0, size: 4, length: 1, view: "Uint32" },
306
+ object_count: { offset: 4, size: 4, length: 1, view: "Uint32" },
307
+ reference_frame: { offset: 8, size: 1, length: 1, view: "Uint8" },
308
+ flags: { offset: 12, size: 4, length: 1, view: "Uint32" },
309
+ },
310
+ } as const;
311
+
312
+ /** Every ABI struct, keyed by its IDL name. */
313
+ export const ORBPRO_EVENTS_ABI: Readonly<Record<string, AbiStruct>> = {
314
+ RootPolicy: ORBPRO_ROOT_POLICY,
315
+ EventInterval: ORBPRO_EVENT_INTERVAL,
316
+ EventHit: ORBPRO_EVENT_HIT,
317
+ EventScanSummary: ORBPRO_EVENT_SCAN_SUMMARY,
318
+ EventStateRequest: ORBPRO_EVENT_STATE_REQUEST,
319
+ } as const;
@@ -5,6 +5,23 @@ var ReferenceFrame = /* @__PURE__ */ ((ReferenceFrame2) => {
5
5
  ReferenceFrame2[ReferenceFrame2["ECEF"] = 3] = "ECEF";
6
6
  ReferenceFrame2[ReferenceFrame2["MCI"] = 4] = "MCI";
7
7
  ReferenceFrame2[ReferenceFrame2["MCMF"] = 5] = "MCMF";
8
+ ReferenceFrame2[ReferenceFrame2["MJ2000EC"] = 6] = "MJ2000EC";
9
+ ReferenceFrame2[ReferenceFrame2["MOD"] = 7] = "MOD";
10
+ ReferenceFrame2[ReferenceFrame2["TOD"] = 8] = "TOD";
11
+ ReferenceFrame2[ReferenceFrame2["MOE"] = 9] = "MOE";
12
+ ReferenceFrame2[ReferenceFrame2["TOE"] = 10] = "TOE";
13
+ ReferenceFrame2[ReferenceFrame2["BODY_FIXED"] = 11] = "BODY_FIXED";
14
+ ReferenceFrame2[ReferenceFrame2["BODY_INERTIAL"] = 12] = "BODY_INERTIAL";
15
+ ReferenceFrame2[ReferenceFrame2["OBJECT_REFERENCED"] = 13] = "OBJECT_REFERENCED";
16
+ ReferenceFrame2[ReferenceFrame2["LOCAL_ALIGNED_CONSTRAINED"] = 14] = "LOCAL_ALIGNED_CONSTRAINED";
17
+ ReferenceFrame2[ReferenceFrame2["EQUATOR"] = 15] = "EQUATOR";
18
+ ReferenceFrame2[ReferenceFrame2["GSE"] = 16] = "GSE";
19
+ ReferenceFrame2[ReferenceFrame2["GSM"] = 17] = "GSM";
20
+ ReferenceFrame2[ReferenceFrame2["TOPOCENTRIC"] = 18] = "TOPOCENTRIC";
21
+ ReferenceFrame2[ReferenceFrame2["BODY_SPIN_SUN"] = 19] = "BODY_SPIN_SUN";
22
+ ReferenceFrame2[ReferenceFrame2["SPICE_DEFINED"] = 20] = "SPICE_DEFINED";
23
+ ReferenceFrame2[ReferenceFrame2["MOD_FK5"] = 21] = "MOD_FK5";
24
+ ReferenceFrame2[ReferenceFrame2["TOD_FK5"] = 22] = "TOD_FK5";
8
25
  return ReferenceFrame2;
9
26
  })(ReferenceFrame || {});
10
27
  export {
@@ -8,5 +8,95 @@ export enum ReferenceFrame {
8
8
  ICRF = 2,
9
9
  ECEF = 3,
10
10
  MCI = 4,
11
- MCMF = 5
11
+ MCMF = 5,
12
+
13
+ /**
14
+ * Mean ecliptic and equinox of J2000. (The mean EQUATOR and equinox of
15
+ * J2000 is J2000 = 1 and is not repeated here.)
16
+ */
17
+ MJ2000EC = 6,
18
+
19
+ /**
20
+ * Mean equator of date.
21
+ */
22
+ MOD = 7,
23
+
24
+ /**
25
+ * True equator of date.
26
+ */
27
+ TOD = 8,
28
+
29
+ /**
30
+ * Mean ecliptic of date.
31
+ */
32
+ MOE = 9,
33
+
34
+ /**
35
+ * True ecliptic of date.
36
+ */
37
+ TOE = 10,
38
+
39
+ /**
40
+ * Axes rotating with a named body, per its published rotation elements.
41
+ */
42
+ BODY_FIXED = 11,
43
+
44
+ /**
45
+ * Non-rotating axes on a named body's equator and prime meridian.
46
+ */
47
+ BODY_INERTIAL = 12,
48
+
49
+ /**
50
+ * Axes built from the relative geometry of two named objects. The three
51
+ * live RTN triads — RIC, RSW and RTN — are THIS member with an axes spec,
52
+ * not three members; so are LVLH and VVLH.
53
+ */
54
+ OBJECT_REFERENCED = 13,
55
+
56
+ /**
57
+ * Axes built by aligning one vector and constraining a second.
58
+ */
59
+ LOCAL_ALIGNED_CONSTRAINED = 14,
60
+
61
+ /**
62
+ * A named body's equatorial plane at the epoch.
63
+ */
64
+ EQUATOR = 15,
65
+
66
+ /**
67
+ * Solar-ecliptic magnetospheric (GSE).
68
+ */
69
+ GSE = 16,
70
+
71
+ /**
72
+ * Solar magnetospheric (GSM).
73
+ */
74
+ GSM = 17,
75
+
76
+ /**
77
+ * Local horizon axes at a surface site.
78
+ */
79
+ TOPOCENTRIC = 18,
80
+
81
+ /**
82
+ * Axes fixed by a body's spin axis and its direction to the Sun.
83
+ */
84
+ BODY_SPIN_SUN = 19,
85
+
86
+ /**
87
+ * Axes declared by a loaded ephemeris/orientation kernel.
88
+ */
89
+ SPICE_DEFINED = 20,
90
+
91
+ /**
92
+ * LEGACY, retained and NAMED rather than left implicit: mean equator of
93
+ * date on the IAU-76/FK5 theory. Differs from MOD at the milliarcsecond
94
+ * level; the two are not interchangeable.
95
+ */
96
+ MOD_FK5 = 21,
97
+
98
+ /**
99
+ * LEGACY, retained and NAMED: true equator of date on IAU-76/FK5.
100
+ */
101
+ TOD_FK5 = 22
12
102
  }
@@ -18,6 +18,23 @@ export const ReferenceFrame = Object.freeze({
18
18
  ECEF: 3,
19
19
  MCI: 4,
20
20
  MCMF: 5,
21
+ MJ2000EC: 6,
22
+ MOD: 7,
23
+ TOD: 8,
24
+ MOE: 9,
25
+ TOE: 10,
26
+ BODY_FIXED: 11,
27
+ BODY_INERTIAL: 12,
28
+ OBJECT_REFERENCED: 13,
29
+ LOCAL_ALIGNED_CONSTRAINED: 14,
30
+ EQUATOR: 15,
31
+ GSE: 16,
32
+ GSM: 17,
33
+ TOPOCENTRIC: 18,
34
+ BODY_SPIN_SUN: 19,
35
+ SPICE_DEFINED: 20,
36
+ MOD_FK5: 21,
37
+ TOD_FK5: 22,
21
38
  });
22
39
 
23
40
  export const StateFlags = Object.freeze({
@@ -19,6 +19,23 @@ export enum ReferenceFrame {
19
19
  ECEF = 3,
20
20
  MCI = 4,
21
21
  MCMF = 5,
22
+ MJ2000EC = 6,
23
+ MOD = 7,
24
+ TOD = 8,
25
+ MOE = 9,
26
+ TOE = 10,
27
+ BODY_FIXED = 11,
28
+ BODY_INERTIAL = 12,
29
+ OBJECT_REFERENCED = 13,
30
+ LOCAL_ALIGNED_CONSTRAINED = 14,
31
+ EQUATOR = 15,
32
+ GSE = 16,
33
+ GSM = 17,
34
+ TOPOCENTRIC = 18,
35
+ BODY_SPIN_SUN = 19,
36
+ SPICE_DEFINED = 20,
37
+ MOD_FK5 = 21,
38
+ TOD_FK5 = 22,
22
39
  }
23
40
 
24
41
  /**
@@ -0,0 +1,94 @@
1
+ import * as flatbuffers from 'flatbuffers';
2
+ import { CCTCategory, CCTCategoryT } from './CCTCategory.js';
3
+ import { CCTCategoryRollup, CCTCategoryRollupT } from './CCTCategoryRollup.js';
4
+ /**
5
+ * $CCT — Capability Category Taxonomy.
6
+ *
7
+ * The ratified set of capability classes that distributable units (modules,
8
+ * applications, composed flows) are classified under, together with the labels
9
+ * and routes every consuming surface renders. One published $CCT is the single
10
+ * source of truth shared by a storefront, a library, a search index and the
11
+ * unit manifests themselves.
12
+ *
13
+ * Division of labour: `$CCT` = the category vocabulary and its presentation;
14
+ * `$PLG` = one module's listing, which cites categories by code; `$APP` = one
15
+ * application's manifest, which cites categories by code; `$PMM` = which
16
+ * modules a provider serves; `$STO`/`$STF` = commerce.
17
+ */
18
+ export declare class CCT implements flatbuffers.IUnpackableObject<CCTT> {
19
+ bb: flatbuffers.ByteBuffer | null;
20
+ bb_pos: number;
21
+ __init(i: number, bb: flatbuffers.ByteBuffer): CCT;
22
+ static getRootAsCCT(bb: flatbuffers.ByteBuffer, obj?: CCT): CCT;
23
+ static getSizePrefixedRootAsCCT(bb: flatbuffers.ByteBuffer, obj?: CCT): CCT;
24
+ static bufferHasIdentifier(bb: flatbuffers.ByteBuffer): boolean;
25
+ /**
26
+ * Stable identifier of this taxonomy publication.
27
+ */
28
+ TAXONOMY_ID(): string;
29
+ TAXONOMY_ID(optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
30
+ /**
31
+ * SemVer 2.0.0 version of the taxonomy content.
32
+ */
33
+ VERSION(): string;
34
+ VERSION(optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
35
+ /**
36
+ * Unix seconds when this taxonomy revision was issued.
37
+ */
38
+ ISSUED_AT(): bigint;
39
+ /**
40
+ * Human-readable title of the taxonomy.
41
+ */
42
+ TITLE(): string | null;
43
+ TITLE(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
44
+ /**
45
+ * The ratified categories. Every capabilityClass member a consumer may
46
+ * encounter SHOULD appear exactly once; a code appearing twice is invalid.
47
+ */
48
+ CATEGORIES(index: number, obj?: CCTCategory): CCTCategory | null;
49
+ categoriesLength(): number;
50
+ /**
51
+ * Optional per-category item counts as observed over a named catalogue.
52
+ * Absent means counts are computed by the consumer.
53
+ */
54
+ ROLLUPS(index: number, obj?: CCTCategoryRollup): CCTCategoryRollup | null;
55
+ rollupsLength(): number;
56
+ /**
57
+ * Signature from the publishing node key over the canonical taxonomy bytes.
58
+ */
59
+ SIGNATURE(index: number): number | null;
60
+ signatureLength(): number;
61
+ signatureArray(): Uint8Array | null;
62
+ static startCCT(builder: flatbuffers.Builder): void;
63
+ static addTaxonomyId(builder: flatbuffers.Builder, TAXONOMY_IDOffset: flatbuffers.Offset): void;
64
+ static addVersion(builder: flatbuffers.Builder, VERSIONOffset: flatbuffers.Offset): void;
65
+ static addIssuedAt(builder: flatbuffers.Builder, ISSUED_AT: bigint): void;
66
+ static addTitle(builder: flatbuffers.Builder, TITLEOffset: flatbuffers.Offset): void;
67
+ static addCategories(builder: flatbuffers.Builder, CATEGORIESOffset: flatbuffers.Offset): void;
68
+ static createCategoriesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
69
+ static startCategoriesVector(builder: flatbuffers.Builder, numElems: number): void;
70
+ static addRollups(builder: flatbuffers.Builder, ROLLUPSOffset: flatbuffers.Offset): void;
71
+ static createRollupsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
72
+ static startRollupsVector(builder: flatbuffers.Builder, numElems: number): void;
73
+ static addSignature(builder: flatbuffers.Builder, SIGNATUREOffset: flatbuffers.Offset): void;
74
+ static createSignatureVector(builder: flatbuffers.Builder, data: number[] | Uint8Array): flatbuffers.Offset;
75
+ static startSignatureVector(builder: flatbuffers.Builder, numElems: number): void;
76
+ static endCCT(builder: flatbuffers.Builder): flatbuffers.Offset;
77
+ static finishCCTBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
78
+ static finishSizePrefixedCCTBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
79
+ static createCCT(builder: flatbuffers.Builder, TAXONOMY_IDOffset: flatbuffers.Offset, VERSIONOffset: flatbuffers.Offset, ISSUED_AT: bigint, TITLEOffset: flatbuffers.Offset, CATEGORIESOffset: flatbuffers.Offset, ROLLUPSOffset: flatbuffers.Offset, SIGNATUREOffset: flatbuffers.Offset): flatbuffers.Offset;
80
+ unpack(): CCTT;
81
+ unpackTo(_o: CCTT): void;
82
+ }
83
+ export declare class CCTT implements flatbuffers.IGeneratedObject {
84
+ TAXONOMY_ID: string | Uint8Array | null;
85
+ VERSION: string | Uint8Array | null;
86
+ ISSUED_AT: bigint;
87
+ TITLE: string | Uint8Array | null;
88
+ CATEGORIES: (CCTCategoryT)[];
89
+ ROLLUPS: (CCTCategoryRollupT)[];
90
+ SIGNATURE: (number)[];
91
+ constructor(TAXONOMY_ID?: string | Uint8Array | null, VERSION?: string | Uint8Array | null, ISSUED_AT?: bigint, TITLE?: string | Uint8Array | null, CATEGORIES?: (CCTCategoryT)[], ROLLUPS?: (CCTCategoryRollupT)[], SIGNATURE?: (number)[]);
92
+ pack(builder: flatbuffers.Builder): flatbuffers.Offset;
93
+ }
94
+ //# sourceMappingURL=CCT.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CCT.d.ts","sourceRoot":"","sources":["../../../ts/PLG/CCT.ts"],"names":[],"mappings":"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"}