@essrt/physics 20.0.1 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +4 -4
  2. package/package.json +4 -8
  3. package/src/cardinal/one-source-structure.cjs +3 -2
  4. package/src/chain-cycles/index.cjs +12 -30
  5. package/src/climate/l1-orbital.cjs +3 -1
  6. package/src/constants/coefficients.d.ts +17 -93
  7. package/src/constants/coefficients.js +7 -22
  8. package/src/constants/generated.d.ts +18 -156
  9. package/src/constants/generated.js +33 -168
  10. package/src/deltat/deep-time.cjs +36 -92
  11. package/src/deltat/recession-history.cjs +2 -1
  12. package/src/earth/deep-orbital-history.cjs +4 -4
  13. package/src/earth/frame-of-date.cjs +25 -1
  14. package/src/earth/precession-composed.cjs +3 -3
  15. package/src/earth/year-lengths.cjs +16 -1
  16. package/src/eclipse/sun-planetary-completion.cjs +11 -12
  17. package/src/index.js +28 -48
  18. package/src/layer0/derive-params.js +10 -5
  19. package/src/layer0/index.js +27 -73
  20. package/src/layer1/index.js +6 -37
  21. package/src/model.js +200 -225
  22. package/src/moon/arguments.cjs +57 -83
  23. package/src/moon/deep-modes-artifact.cjs +2 -2
  24. package/src/moon/month-chain.cjs +25 -59
  25. package/src/moon/series.cjs +14 -10
  26. package/src/phase/deep-calendar.cjs +35 -80
  27. package/src/planets/chain-artifact.js +2 -2
  28. package/src/planets/display-names.cjs +30 -0
  29. package/src/planets/geometry.cjs +79 -29
  30. package/src/planets/model.cjs +12 -11
  31. package/src/planets/spin-channel.cjs +46 -2
  32. package/types/chain-cycles/index.d.cts +9 -4
  33. package/types/climate/l1-orbital.d.cts +3 -1
  34. package/types/constants/coefficients.d.ts +17 -93
  35. package/types/constants/generated.d.ts +18 -156
  36. package/types/deltat/deep-time.d.cts +3 -16
  37. package/types/earth/frame-of-date.d.cts +9 -0
  38. package/types/earth/year-lengths.d.cts +12 -0
  39. package/types/eclipse/sun-planetary-completion.d.cts +0 -9
  40. package/types/index.d.ts +4 -13
  41. package/types/layer0/derive-params.d.ts +7 -4
  42. package/types/layer0/index.d.ts +6 -13
  43. package/types/layer1/index.d.ts +0 -2
  44. package/types/model.d.ts +8 -6
  45. package/types/moon/arguments.d.cts +23 -22
  46. package/types/moon/deep-modes-artifact.d.cts +3 -3
  47. package/types/moon/month-chain.d.cts +7 -16
  48. package/types/moon/series.d.cts +2 -4
  49. package/types/phase/deep-calendar.d.cts +14 -50
  50. package/types/planets/display-names.d.cts +2 -0
  51. package/types/planets/geometry.d.cts +36 -13
  52. package/types/planets/model.d.cts +7 -6
  53. package/types/planets/spin-channel.d.cts +4 -0
  54. package/src/cardinal/index.cjs +0 -324
  55. package/src/moon/ecc-channel.cjs +0 -141
  56. package/src/phase/index.cjs +0 -186
  57. package/src/planets/ecc-channel.cjs +0 -59
  58. package/src/sun/longitude-correction.cjs +0 -68
  59. package/types/cardinal/index.d.cts +0 -80
  60. package/types/moon/ecc-channel.d.cts +0 -30
  61. package/types/phase/index.d.cts +0 -38
  62. package/types/planets/ecc-channel.d.cts +0 -20
  63. package/types/sun/longitude-correction.d.cts +0 -41
@@ -46,6 +46,16 @@
46
46
  * `computeObliquityJ2000Deg`), and — through the chain's own g-mode beat
47
47
  * (keplerian-chain `computeSecularShape`) — the "wobble period" the K
48
48
  * device beat from its integer axial and obliquity fractions.
49
+ *
50
+ * Since plan 11 step 3 the channel also serves the POLE of date itself —
51
+ * `spinAxisEclipticJ2000AtYear` (the integrated ŝ(t), angular-momentum
52
+ * sense) beside `orbitNormalEclipticJ2000AtYear` (n̂(t)) — so both scene
53
+ * twins place each planet's rotation axis in world through the frame bridge
54
+ * exactly as Earth's axis is placed (R4): the pole's azimuth used to ride the
55
+ * retired scaffold's start angle (one turn of the pole per orbit), only its
56
+ * tilt magnitude was read from here. Mercury's Cassini-locked pole is the
57
+ * J2000 pole carried with its orbit normal (the minimal rotation n̂₀ → n̂(t)),
58
+ * the lock's constant obliquity.
49
59
  */
50
60
 
51
61
  'use strict';
@@ -124,6 +134,19 @@ const dot = (a, b) => a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
124
134
  const unit = (a) => { const r = Math.hypot(a[0], a[1], a[2]); return [a[0] / r, a[1] / r, a[2] / r]; };
125
135
  /** @param {number[]} a @param {number[]} b */
126
136
  const angleDeg = (a, b) => Math.acos(Math.max(-1, Math.min(1, dot(a, b)))) * R2D;
137
+ /**
138
+ * v carried by the minimal rotation that takes unit a onto unit b (Rodrigues
139
+ * about a × b); v itself when a and b coincide.
140
+ * @param {number[]} a @param {number[]} b @param {number[]} v
141
+ */
142
+ const rotateAligned = (a, b, v) => {
143
+ const k = cross(a, b);
144
+ const s = Math.hypot(k[0], k[1], k[2]), c = dot(a, b);
145
+ if (s < 1e-15) return v.slice();
146
+ const kh = [k[0] / s, k[1] / s, k[2] / s];
147
+ const kv = cross(kh, v), kd = dot(kh, v) * (1 - c);
148
+ return [v[0] * c + kv[0] * s + kh[0] * kd, v[1] * c + kv[1] * s + kh[1] * kd, v[2] * c + kv[2] * s + kh[2] * kd];
149
+ };
127
150
 
128
151
  /**
129
152
  * The IAU pole (ICRF equatorial RA/Dec) as an ecliptic-J2000 unit vector.
@@ -272,9 +295,9 @@ function createPlanetSpinChannel(deps) {
272
295
  const stepYr = deps.stepYr ?? (cassiniLocked ? STEP_MAX_YR
273
296
  : Math.min(STEP_MAX_YR, Math.max(STEP_MIN_YR, axialPrecessionPeriodYearsJ2000 / STEPS_PER_PRECESSION_PERIOD)));
274
297
  // append-only trajectories from J2000, one per direction: sample i sits at t = sign · i · step
275
- /** @typedef {{ eps: number[], last: number[] }} Track */
298
+ /** @typedef {{ eps: number[], sv: number[][], last: number[] }} Track — the obliquity and the unit spin vector per sample */
276
299
  /** @returns {Track} */
277
- const mkTrack = () => ({ eps: [obliquityJ2000], last: s0.slice() });
300
+ const mkTrack = () => ({ eps: [obliquityJ2000], sv: [s0.slice()], last: s0.slice() });
278
301
  const fwd = mkTrack(), bwd = mkTrack();
279
302
  /** @param {Track} tr @param {number} sign @param {number} count */
280
303
  const grow = (tr, sign, count) => {
@@ -284,6 +307,7 @@ function createPlanetSpinChannel(deps) {
284
307
  const h = sign * stepYr;
285
308
  const s = rk4(tr.last, t, h);
286
309
  tr.eps.push(angleDeg(s, orbitNormalAt(t + h)));
310
+ tr.sv.push(s);
287
311
  tr.last = s;
288
312
  }
289
313
  };
@@ -333,6 +357,24 @@ function createPlanetSpinChannel(deps) {
333
357
  }
334
358
  return { minDeg: mn, meanDeg: sum / cnt, maxDeg: mx };
335
359
  };
360
+ /** the planet's orbit normal of date n̂(t), a unit vector in the J2000 ecliptic (the ζ table at the chain's anchor) @param {number} year */
361
+ const orbitNormalEclipticJ2000AtYear = (year) => orbitNormalAt(year - 2000);
362
+ /**
363
+ * the spin axis of date ŝ(t), a unit vector in the J2000 ecliptic in the
364
+ * angular-momentum sense (Venus and Uranus point south of their orbits):
365
+ * the integrated pole, interpolated linearly between the track's samples
366
+ * and renormalized (≤ 1.2° of pole motion per sample — the chord error is
367
+ * arcsecond-class, below what any renderer resolves); Mercury (Cassini
368
+ * lock) carries the J2000 pole with its orbit normal; null beyond ±10 Myr
369
+ * @param {number} year
370
+ */
371
+ const spinAxisEclipticJ2000AtYear = (year) => {
372
+ if (cassiniLocked) return rotateAligned(n0, orbitNormalAt(year - 2000), s0);
373
+ const b = bracket(year - 2000);
374
+ if (!b) return null;
375
+ const a = b.tr.sv[b.i], c = b.tr.sv[b.i + 1];
376
+ return unit([a[0] + b.f * (c[0] - a[0]), a[1] + b.f * (c[1] - a[1]), a[2] + b.f * (c[2] - a[2])]);
377
+ };
336
378
 
337
379
  return Object.freeze({
338
380
  key,
@@ -350,6 +392,8 @@ function createPlanetSpinChannel(deps) {
350
392
  obliquityDegAtYear,
351
393
  spinPrecessionRateArcsecPerYrAtYear,
352
394
  obliquityEnvelopeDeg,
395
+ spinAxisEclipticJ2000AtYear,
396
+ orbitNormalEclipticJ2000AtYear,
353
397
  stepYr,
354
398
  maxSpanYr: MAX_SPAN_YR,
355
399
  });
@@ -5,7 +5,6 @@ export type PeriodSecondsAtAge = (tMa: number) => (number | null);
5
5
  /**
6
6
  * @param {{
7
7
  * ageAnchorYear: number,
8
- * tropicalYearSecondsAtAge: (tMa: number) => (number | null),
9
8
  * tropicalYearJ2000Seconds: number,
10
9
  * isDeepTime: () => boolean,
11
10
  * gridMinYear?: number,
@@ -15,12 +14,18 @@ export type PeriodSecondsAtAge = (tMa: number) => (number | null);
15
14
  * maxCacheEntries?: number,
16
15
  * }} deps — ageAnchorYear is the year whose age is 0 in the period
17
16
  * functions' t_Ma coordinate (startmodelYear = 2000.5, the certified
18
- * convention); tropicalYearJ2000Seconds feeds the snapshot branch;
17
+ * convention); tropicalYearJ2000Seconds is the length of ONE tick of the
18
+ * year axis the integrator is fed — the linear SI-year label, each tick
19
+ * exactly one J2000 tropical year of seconds — so it is the integrand's
20
+ * weight in BOTH branches (plan 09 step 7c′: the deep branch had weighted
21
+ * each tick by the tropical year OF DATE, adding that year's deep-time
22
+ * drift to every lunar count — ~5° of Moon at ±100 kyr, ~1.3 orbits at
23
+ * 1 Ma — although the tick itself never changes length; the owner's call:
24
+ * a plain correctness fix, the tick already is an SI tick);
19
25
  * isDeepTime is read PER CALL so the engine's runtime toggle works.
20
26
  */
21
- export function createChainCycleIntegrator({ ageAnchorYear, tropicalYearSecondsAtAge, tropicalYearJ2000Seconds, isDeepTime, gridMinYear, gridMaxYear, gridStepYears, gridAnchorYear, maxCacheEntries, }: {
27
+ export function createChainCycleIntegrator({ ageAnchorYear, tropicalYearJ2000Seconds, isDeepTime, gridMinYear, gridMaxYear, gridStepYears, gridAnchorYear, maxCacheEntries, }: {
22
28
  ageAnchorYear: number;
23
- tropicalYearSecondsAtAge: (tMa: number) => (number | null);
24
29
  tropicalYearJ2000Seconds: number;
25
30
  isDeepTime: () => boolean;
26
31
  gridMinYear?: number;
@@ -73,7 +73,9 @@ export function laggedL1Terms(l1Terms: Array<{
73
73
  * j2RateJ2000PerYr?: number,
74
74
  * j2J2000?: number,
75
75
  * }} cfg - relaxationKyr, alphaGiaRateJ2000PerYr and j2RateJ2000PerYr are
76
- * model-parameters deepTime constants; alphaJ2000 the IERS
76
+ * assembled deepTime block (DEFAULT_CONSTANTS.deepTime: τ the banked record
77
+ * data/deep-time-fitted.json, the rate derived from astro-reference
78
+ * giaCoxChaoPeltier — plan 11 step 1); alphaJ2000 the IERS
77
79
  * moment-of-inertia factor; j2J2000 Earth's J₂ (astro-reference)
78
80
  * @returns {{
79
81
  * alphaAt: (year: number) => number,
@@ -1,74 +1,11 @@
1
1
  // GENERATED — do not edit. Regenerate: node tools/constants/generate.mjs --write
2
2
  // The fitted coefficients' shapes for TypeScript consumers (§2g); values live
3
- // in coefficients.js, emitted VERBATIM from fitted-coefficients.json.
3
+ // in coefficients.js, emitted VERBATIM from the fit artifacts under data/.
4
4
 
5
- export declare const COEFFICIENTS_HASH: "82c86b078b32fff8";
5
+ export declare const COEFFICIENTS_HASH: "91e2d041c7b6e038";
6
6
 
7
7
  export declare const FITTED_COEFFICIENTS: {
8
- readonly ANOMALISTIC_YEAR_HARMONICS: Array<[number, number, number]>;
9
8
  readonly BALANCE_PRESETS: Array<Array<number | string>>;
10
- readonly CARDINAL_POINT_ANCHORS: {
11
- "SS": number;
12
- "WS": number;
13
- "VE": number;
14
- "AE": number;
15
- };
16
- readonly CARDINAL_POINT_ANCHORS_ADJUSTED: {
17
- "SS": number;
18
- "WS": number;
19
- "VE": number;
20
- "AE": number;
21
- };
22
- readonly CARDINAL_POINT_DERIVED: {
23
- "lincoef": number;
24
- "h0": number;
25
- "h1": number;
26
- "eccOrderDivisors": [number, number];
27
- "note": string;
28
- };
29
- readonly CARDINAL_POINT_ECC_TERMS: {
30
- "SS": Array<{
31
- "order": number;
32
- "sin": number;
33
- "cos": number;
34
- }>;
35
- "WS": Array<{
36
- "order": number;
37
- "sin": number;
38
- "cos": number;
39
- }>;
40
- "VE": Array<{
41
- "order": number;
42
- "sin": number;
43
- "cos": number;
44
- }>;
45
- "AE": Array<{
46
- "order": number;
47
- "sin": number;
48
- "cos": number;
49
- }>;
50
- };
51
- readonly CARDINAL_POINT_HARMONICS: {
52
- "SS": Array<[number, number, number]>;
53
- "WS": Array<[number, number, number]>;
54
- "VE": Array<[number, number, number]>;
55
- "AE": Array<[number, number, number]>;
56
- };
57
- readonly CARDINAL_POINT_JOINT_TERMS: {
58
- "quadratureDeg": {
59
- "SS": number;
60
- "AE": number;
61
- "WS": number;
62
- "VE": number;
63
- };
64
- "terms": Array<{
65
- "order": number;
66
- "div": number;
67
- "sin": number;
68
- "cos": number;
69
- }>;
70
- "note": string;
71
- };
72
9
  readonly CLIMATE_FORMULA_COEFFS: {
73
10
  "config": {
74
11
  "L1_lines": Array<{
@@ -303,105 +240,105 @@ export declare const FITTED_COEFFICIENTS: {
303
240
  "delta_l3": number;
304
241
  };
305
242
  "carbon_amplification_ratios": {
306
- "19.0014": {
243
+ "19.0015": {
307
244
  "period_kyr": number;
308
245
  "lr04_post_mpt_amp": number;
309
246
  "epica_amp": number;
310
247
  "ratio": number;
311
248
  "label": string;
312
249
  };
313
- "19.1554": {
250
+ "19.1555": {
314
251
  "period_kyr": number;
315
252
  "lr04_post_mpt_amp": number;
316
253
  "epica_amp": number;
317
254
  "ratio": number;
318
255
  "label": string;
319
256
  };
320
- "22.4452": {
257
+ "22.4453": {
321
258
  "period_kyr": number;
322
259
  "lr04_post_mpt_amp": number;
323
260
  "epica_amp": number;
324
261
  "ratio": number;
325
262
  "label": string;
326
263
  };
327
- "23.1931": {
264
+ "23.1933": {
328
265
  "period_kyr": number;
329
266
  "lr04_post_mpt_amp": number;
330
267
  "epica_amp": number;
331
268
  "ratio": number;
332
269
  "label": string;
333
270
  };
334
- "23.7599": {
271
+ "23.7601": {
335
272
  "period_kyr": number;
336
273
  "lr04_post_mpt_amp": number;
337
274
  "epica_amp": number;
338
275
  "ratio": number;
339
276
  "label": string;
340
277
  };
341
- "27.2689": {
278
+ "27.2691": {
342
279
  "period_kyr": number;
343
280
  "lr04_post_mpt_amp": number;
344
281
  "epica_amp": number;
345
282
  "ratio": number;
346
283
  "label": string;
347
284
  };
348
- "28.8424": {
285
+ "28.8426": {
349
286
  "period_kyr": number;
350
287
  "lr04_post_mpt_amp": number;
351
288
  "epica_amp": number;
352
289
  "ratio": number;
353
290
  "label": string;
354
291
  };
355
- "29.0047": {
292
+ "29.0050": {
356
293
  "period_kyr": number;
357
294
  "lr04_post_mpt_amp": number;
358
295
  "epica_amp": number;
359
296
  "ratio": number;
360
297
  "label": string;
361
298
  };
362
- "29.6172": {
299
+ "29.6174": {
363
300
  "period_kyr": number;
364
301
  "lr04_post_mpt_amp": number;
365
302
  "epica_amp": number;
366
303
  "ratio": number;
367
304
  "label": string;
368
305
  };
369
- "29.8091": {
306
+ "29.8094": {
370
307
  "period_kyr": number;
371
308
  "lr04_post_mpt_amp": number;
372
309
  "epica_amp": number;
373
310
  "ratio": number;
374
311
  "label": string;
375
312
  };
376
- "39.5560": {
313
+ "39.5564": {
377
314
  "period_kyr": number;
378
315
  "lr04_post_mpt_amp": number;
379
316
  "epica_amp": number;
380
317
  "ratio": number;
381
318
  "label": string;
382
319
  };
383
- "40.2292": {
320
+ "40.2297": {
384
321
  "period_kyr": number;
385
322
  "lr04_post_mpt_amp": number;
386
323
  "epica_amp": number;
387
324
  "ratio": number;
388
325
  "label": string;
389
326
  };
390
- "40.9239": {
327
+ "40.9244": {
391
328
  "period_kyr": number;
392
329
  "lr04_post_mpt_amp": number;
393
330
  "epica_amp": number;
394
331
  "ratio": number;
395
332
  "label": string;
396
333
  };
397
- "41.6445": {
334
+ "41.6450": {
398
335
  "period_kyr": number;
399
336
  "lr04_post_mpt_amp": number;
400
337
  "epica_amp": number;
401
338
  "ratio": number;
402
339
  "label": string;
403
340
  };
404
- "53.6174": {
341
+ "53.6182": {
405
342
  "period_kyr": number;
406
343
  "lr04_post_mpt_amp": number;
407
344
  "epica_amp": number;
@@ -634,17 +571,4 @@ export declare const FITTED_COEFFICIENTS: {
634
571
  };
635
572
  readonly MEEUS_LATITUDE_TERMS: Array<number[]>;
636
573
  readonly MEEUS_LONGITUDE_TERMS: Array<number[]>;
637
- readonly PERI_HARMONICS_RAW: Array<[number, number, number]>;
638
- readonly PERI_OFFSET: number;
639
- readonly RA_DAY_OFFSET_MS: {
640
- "mean": number;
641
- "terms": Array<[number, number, number]>;
642
- "note": string;
643
- };
644
- readonly SIDEREAL_YEAR_HARMONICS: Array<[number, number, number]>;
645
- readonly SOLSTICE_OBLIQUITY_HARMONICS: Array<[number, number, number]>;
646
- readonly SOLSTICE_OBLIQUITY_MEAN_FITTED: number;
647
- readonly SUN_LONGITUDE_HARMONICS: Array<[number, number, number]>;
648
- readonly SUN_LONGITUDE_MEAN: number;
649
- readonly TROPICAL_YEAR_HARMONICS: Array<[number, number, number]>;
650
574
  };
@@ -2,56 +2,14 @@
2
2
  // Gives the TypeScript website full type safety at the boundary (§2g) while
3
3
  // packages/physics stays JavaScript.
4
4
 
5
- export declare const CONSTANTS_HASH: "6c2beb70bb3d5000";
5
+ export declare const CONSTANTS_HASH: "f4f43386df2781b8";
6
6
 
7
7
  export declare const MODEL_VERSION: string;
8
8
 
9
9
  export declare const PREPRINT_DOI: string;
10
10
 
11
11
  export declare const DEFAULT_CONSTANTS: {
12
- readonly hash: "6c2beb70bb3d5000";
13
- readonly additionalBodies: {
14
- "pluto": {
15
- "name": string;
16
- "orbitalEccentricityBase": number;
17
- "type": string;
18
- "angleCorrection": number;
19
- "startpos": number;
20
- "ascendingNodeInvPlane": number;
21
- "invPlaneInclinationMean": number;
22
- "invPlaneInclinationAmplitude": number;
23
- };
24
- "halleys": {
25
- "name": string;
26
- "orbitalEccentricityBase": number;
27
- "type": string;
28
- "angleCorrection": number;
29
- "startpos": number;
30
- "ascendingNodeInvPlane": number;
31
- "invPlaneInclinationMean": number;
32
- "invPlaneInclinationAmplitude": number;
33
- };
34
- "eros": {
35
- "name": string;
36
- "orbitalEccentricityBase": number;
37
- "type": string;
38
- "angleCorrection": number;
39
- "startpos": number;
40
- "ascendingNodeInvPlane": number;
41
- "invPlaneInclinationMean": number;
42
- "invPlaneInclinationAmplitude": number;
43
- };
44
- "ceres": {
45
- "name": string;
46
- "orbitalEccentricityBase": number;
47
- "orbitDistanceOverride": number;
48
- "angleCorrection": number;
49
- "startpos": number;
50
- "ascendingNodeInvPlane": number;
51
- "invPlaneInclinationMean": number;
52
- "invPlaneInclinationAmplitude": number;
53
- };
54
- };
12
+ readonly hash: "f4f43386df2781b8";
55
13
  readonly additionalBodiesReference: {
56
14
  "pluto": {
57
15
  "solarYearInput": number;
@@ -64,6 +22,7 @@ export declare const DEFAULT_CONSTANTS: {
64
22
  "meanAnomaly": number;
65
23
  "trueAnomaly": number;
66
24
  "rotationPeriodDays": number;
25
+ "ascendingNodeInvPlaneClosedForm": number;
67
26
  };
68
27
  "halleys": {
69
28
  "solarYearInput": number;
@@ -143,48 +102,28 @@ export declare const DEFAULT_CONSTANTS: {
143
102
  "thermalPumpFactor": number;
144
103
  };
145
104
  };
146
- readonly earth: {
147
- "earthtiltMean": number;
148
- "earthInvPlaneInclinationAmplitude": number;
149
- "eccentricityBase": number;
150
- "eccentricityAmplitude": number;
151
- "kDeviceWheelPhaseAtJ2000Cycles": number;
152
- };
153
105
  readonly earthOrbital: {
154
106
  "j2000EpochYear": number;
155
107
  "perihelionalignmentYear": number;
156
108
  "juneSolstice2000_JD": number;
157
109
  "obliquityJ2000_deg": number;
158
110
  "obliquityRate_arcsecPerCentury": number;
111
+ "generalPrecessionJ2000_arcsecPerYr": number;
159
112
  "earthEccentricityJ2000": number;
160
113
  "earthEccentricityDotJ2000": number;
161
114
  "earthEccentricityDotDotJ2000": number;
162
115
  "earthPerihelionLongitudeJ2000": number;
163
116
  "sunMeanLongitudeJ2000_deg": number;
164
117
  "earthAscendingNodeInvPlane": number;
165
- "earthInclinationCycleAnchor": number;
166
118
  "perihelionPassageJ2000_JD": number;
167
119
  "earthInclinationJ2000_deg": number;
168
120
  "earthInclinationRate_arcsecPerCentury": number;
169
121
  "deltaTStart": number;
170
122
  "sunTilt": number;
171
123
  };
172
- readonly foundational: {
173
- "holisticyearLength": number;
174
- "stepYears": number;
175
- "inputmeanlengthsolaryearindays": number;
176
- "startmodelJD": number;
177
- "startmodelYear": number;
178
- "correctionDays": number;
179
- "correctionSun": number;
180
- "startAngleModel": number;
181
- "useVariableSpeed": boolean;
182
- };
183
- readonly moon: {
184
- "moonStartposApsidal": number;
185
- "moonStartposNodal": number;
186
- "moonStartposMoon": number;
187
- "moonMeeusLpCorrection": number;
124
+ readonly giaCoxChaoPeltier: {
125
+ "dJ2DtPerYr": number;
126
+ "j2ToAlphaFactor": number;
188
127
  };
189
128
  readonly moonMeeus: {
190
129
  "elpW1T2Decomposition_arcsecPerCy2": {
@@ -211,21 +150,13 @@ export declare const DEFAULT_CONSTANTS: {
211
150
  "moonApsidalPrecessionDaysInputICRF": number;
212
151
  "moonNodalPrecessionDaysInputICRF": number;
213
152
  "moonDistance": number;
153
+ "moonRecessionAlpha1PerMa": number;
214
154
  "moonEclipticInclinationJ2000": number;
215
155
  "moonInclinationConstantBrownELP": number;
216
156
  "moonOrbitalEccentricityBase": number;
217
157
  "moonObliquityEclipticJ2000": number;
218
158
  "moonTilt": number;
219
159
  };
220
- readonly perihelionPassageRef: {
221
- "mercury": number;
222
- "venus": number;
223
- "mars": number;
224
- "jupiter": number;
225
- "saturn": number;
226
- "uranus": number;
227
- "neptune": number;
228
- };
229
160
  readonly physicalConstants: {
230
161
  "currentAUDistance": number;
231
162
  "G_CONSTANT": number;
@@ -290,6 +221,7 @@ export declare const DEFAULT_CONSTANTS: {
290
221
  "invPlaneInclinationJ2000": number;
291
222
  "meanAnomaly": number;
292
223
  "trueAnomaly": number;
224
+ "ascendingNodeInvPlaneClosedForm": number;
293
225
  };
294
226
  "venus": {
295
227
  "solarYearInput": number;
@@ -302,6 +234,7 @@ export declare const DEFAULT_CONSTANTS: {
302
234
  "meanAnomaly": number;
303
235
  "trueAnomaly": number;
304
236
  "rotationPeriodDays": number;
237
+ "ascendingNodeInvPlaneClosedForm": number;
305
238
  };
306
239
  "mars": {
307
240
  "solarYearInput": number;
@@ -314,6 +247,7 @@ export declare const DEFAULT_CONSTANTS: {
314
247
  "meanAnomaly": number;
315
248
  "trueAnomaly": number;
316
249
  "rotationPeriodDays": number;
250
+ "ascendingNodeInvPlaneClosedForm": number;
317
251
  };
318
252
  "jupiter": {
319
253
  "solarYearInput": number;
@@ -326,6 +260,7 @@ export declare const DEFAULT_CONSTANTS: {
326
260
  "meanAnomaly": number;
327
261
  "trueAnomaly": number;
328
262
  "rotationPeriodDays": number;
263
+ "ascendingNodeInvPlaneClosedForm": number;
329
264
  };
330
265
  "saturn": {
331
266
  "solarYearInput": number;
@@ -338,6 +273,7 @@ export declare const DEFAULT_CONSTANTS: {
338
273
  "meanAnomaly": number;
339
274
  "trueAnomaly": number;
340
275
  "rotationPeriodDays": number;
276
+ "ascendingNodeInvPlaneClosedForm": number;
341
277
  };
342
278
  "uranus": {
343
279
  "solarYearInput": number;
@@ -350,6 +286,7 @@ export declare const DEFAULT_CONSTANTS: {
350
286
  "meanAnomaly": number;
351
287
  "trueAnomaly": number;
352
288
  "rotationPeriodDays": number;
289
+ "ascendingNodeInvPlaneClosedForm": number;
353
290
  };
354
291
  "neptune": {
355
292
  "solarYearInput": number;
@@ -362,6 +299,7 @@ export declare const DEFAULT_CONSTANTS: {
362
299
  "meanAnomaly": number;
363
300
  "trueAnomaly": number;
364
301
  "rotationPeriodDays": number;
302
+ "ascendingNodeInvPlaneClosedForm": number;
365
303
  };
366
304
  };
367
305
  readonly planetSpinPhysical: {
@@ -471,79 +409,9 @@ export declare const DEFAULT_CONSTANTS: {
471
409
  }>;
472
410
  };
473
411
  };
474
- readonly planets: {
475
- "mercury": {
476
- "name": string;
477
- "eocFraction": number;
478
- "startpos": number;
479
- "angleCorrection": number;
480
- "type": string;
481
- "mirrorPair": string;
482
- "ascendingNodeInvPlane": number;
483
- "ascendingNodeCyclesIn8H": number;
484
- };
485
- "venus": {
486
- "name": string;
487
- "eocFraction": number;
488
- "startpos": number;
489
- "angleCorrection": number;
490
- "type": string;
491
- "mirrorPair": string;
492
- "ascendingNodeInvPlane": number;
493
- "ascendingNodeCyclesIn8H": number;
494
- };
495
- "mars": {
496
- "name": string;
497
- "eocFraction": number;
498
- "startpos": number;
499
- "angleCorrection": number;
500
- "type": string;
501
- "mirrorPair": string;
502
- "ascendingNodeInvPlane": number;
503
- "ascendingNodeCyclesIn8H": number;
504
- };
505
- "jupiter": {
506
- "name": string;
507
- "eocFraction": number;
508
- "startpos": number;
509
- "angleCorrection": number;
510
- "type": string;
511
- "mirrorPair": string;
512
- "ascendingNodeInvPlane": number;
513
- "ascendingNodeCyclesIn8H": number;
514
- };
515
- "saturn": {
516
- "name": string;
517
- "eocFraction": number;
518
- "startpos": number;
519
- "angleCorrection": number;
520
- "type": string;
521
- "mirrorPair": string;
522
- "ascendingNodeInvPlane": number;
523
- "ascendingNodeCyclesIn8H": number;
524
- };
525
- "uranus": {
526
- "name": string;
527
- "eocFraction": number;
528
- "startpos": number;
529
- "angleCorrection": number;
530
- "type": string;
531
- "mirrorPair": string;
532
- "ascendingNodeInvPlane": number;
533
- "ascendingNodeCyclesIn8H": number;
534
- };
535
- "neptune": {
536
- "name": string;
537
- "eocFraction": number;
538
- "startpos": number;
539
- "angleCorrection": number;
540
- "type": string;
541
- "mirrorPair": string;
542
- "ascendingNodeInvPlane": number;
543
- "ascendingNodeCyclesIn8H": number;
544
- };
545
- };
546
412
  readonly timeReference: {
413
+ "sceneEpochJD": number;
414
+ "sceneEpochYear": number;
547
415
  "j2000JD": number;
548
416
  "julianCenturyDays": number;
549
417
  "gregorianStartJD": number;
@@ -556,10 +424,7 @@ export declare const DEFAULT_CONSTANTS: {
556
424
  "tropicalYearSS": number;
557
425
  "tropicalYearAE": number;
558
426
  "tropicalYearWS": number;
559
- "tropicalYearMean": number;
560
- "anomalisticYear": number;
561
427
  "siderealYear": number;
562
- "iauPrecessionJ2000": number;
563
428
  "tropicalYearRateSecPerCentury": number;
564
429
  "solarDay": number;
565
430
  "siderealDay": number;
@@ -603,10 +468,6 @@ export declare const REFERENCE_DATA: {
603
468
  "greatattractorDistance": number;
604
469
  "milkywaySpeed": number;
605
470
  };
606
- readonly giaCoxChaoPeltier: {
607
- "dJ2DtPerYr": number;
608
- "j2ToAlphaFactor": number;
609
- };
610
471
  readonly jplEclipticInclinationTrends: {
611
472
  "mercury": number;
612
473
  "venus": number;
@@ -716,6 +577,7 @@ export declare const REFERENCE_DATA: {
716
577
  "meeusPeriLong2000AD": number;
717
578
  "meeusPeriLong2500AD": number;
718
579
  "meeusPeriLong3000AD": number;
580
+ "simon1994AnomalisticYearDays": number;
719
581
  "mainstreamAxialPrecKyr": number;
720
582
  "mainstreamPeriPrecKyr": number;
721
583
  "mainstreamObliqCycleKyr": number;