@rubin-epo/epo-widget-lib 1.3.0 → 2.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.
- package/dist/ColorTool.js +3 -3
- package/dist/IsochronePlot.js +3 -3
- package/dist/atomic/Blinker/Blinker.cjs +1 -1
- package/dist/atomic/Blinker/Blinker.js +35 -36
- package/dist/atomic/Blinker/Controls/styles.d.ts +0 -1
- package/dist/atomic/Blinker/styles.d.ts +0 -1
- package/dist/atomic/ElapsedTime/ElapsedTime.cjs +1 -1
- package/dist/atomic/ElapsedTime/ElapsedTime.js +18 -19
- package/dist/atomic/ElapsedTime/styles.d.ts +0 -1
- package/dist/atomic/ImageStack/index.cjs +1 -1
- package/dist/atomic/ImageStack/index.js +25 -26
- package/dist/atomic/ImageStack/styles.d.ts +0 -1
- package/dist/atomic/LiveRegion/styles.d.ts +0 -1
- package/dist/atomic/Loader/styles.d.ts +0 -1
- package/dist/atomic/PlaybackControl/PlaybackControl.cjs +1 -1
- package/dist/atomic/PlaybackControl/PlaybackControl.js +13 -14
- package/dist/atomic/PlaybackControl/styles.d.ts +0 -1
- package/dist/atomic/PlotWrapper/styles.d.ts +0 -1
- package/dist/charts/Base/styles.d.ts +0 -1
- package/dist/charts/Points/ErrorBar.cjs +1 -1
- package/dist/charts/Points/ErrorBar.js +33 -33
- package/dist/charts/Readout/styles.d.ts +0 -1
- package/dist/charts/ScatterPlot/styles.d.ts +1 -2
- package/dist/charts/Tooltip/styles.d.ts +7 -8
- package/dist/charts/Unit/Span.d.ts +1 -2
- package/dist/charts/Unit/StandardUnit.d.ts +2 -3
- package/dist/charts/Unit/StellarUnit.d.ts +2 -3
- package/dist/charts/Unit/Sub.d.ts +1 -2
- package/dist/charts/Unit/SvgSub.d.ts +1 -2
- package/dist/charts/Unit/TSpan.d.ts +1 -2
- package/dist/charts/Unit/index.d.ts +2 -3
- package/dist/charts/styles.d.ts +0 -1
- package/dist/hooks/useInterval.cjs +1 -1
- package/dist/hooks/useInterval.js +3 -3
- package/dist/hooks/usePrevious.cjs +1 -1
- package/dist/hooks/usePrevious.d.ts +1 -1
- package/dist/hooks/usePrevious.js +3 -3
- package/dist/layout/AspectRatio/styles.d.ts +0 -1
- package/dist/layout/Controls/styles.d.ts +2 -3
- package/dist/node_modules/classnames/index.cjs +2 -2
- package/dist/node_modules/classnames/index.js +30 -30
- package/dist/node_modules/three/examples/jsm/controls/OrbitControls.js +3 -3
- package/dist/style.css +1 -1
- package/dist/styles/svg.d.ts +0 -1
- package/dist/widgets/CameraFilter/CameraFilter.cjs +1 -1
- package/dist/widgets/CameraFilter/CameraFilter.js +30 -31
- package/dist/widgets/CameraFilter/styles.d.ts +1 -2
- package/dist/widgets/ColorTool/FilterControls/styles.d.ts +1 -4
- package/dist/widgets/ColorTool/ImageComposite/ImageComposite.d.ts +1 -1
- package/dist/widgets/ColorTool/ImageComposite/styles.d.ts +0 -1
- package/dist/widgets/ColorTool/lib/canvas.d.ts +1 -1
- package/dist/widgets/ColorTool/lib/utils.d.ts +2 -2
- package/dist/widgets/ColorTool/styles.d.ts +0 -1
- package/dist/widgets/FilterTool/styles.d.ts +1 -2
- package/dist/widgets/LightCurvePlot/Plot/index.js +3 -3
- package/dist/widgets/LightCurvePlot/Plot/styles.d.ts +0 -1
- package/dist/widgets/LightCurvePlot/PlotWithCurve/A11Y/LightCurveLabel/styles.d.ts +0 -1
- package/dist/widgets/LightCurvePlot/PlotWithCurve/index.cjs +1 -1
- package/dist/widgets/LightCurvePlot/PlotWithCurve/index.js +45 -46
- package/dist/widgets/LightCurvePlot/PlotWithCurve/styles.d.ts +0 -1
- package/dist/widgets/LightCurvePlot/PlotWithoutCurve/index.cjs +1 -1
- package/dist/widgets/LightCurvePlot/PlotWithoutCurve/index.js +5 -5
- package/dist/widgets/LightCurvePlot/helpers.cjs +1 -1
- package/dist/widgets/LightCurvePlot/helpers.js +4 -4
- package/dist/widgets/OrbitalSim/Camera/Camera.cjs +1 -0
- package/dist/widgets/OrbitalSim/{Camera.d.ts → Camera/Camera.d.ts} +1 -2
- package/dist/widgets/OrbitalSim/{Camera.js → Camera/Camera.js} +1 -1
- package/dist/widgets/OrbitalSim/Camera/CameraController.cjs +1 -0
- package/dist/widgets/OrbitalSim/{CameraController.d.ts → Camera/CameraController.d.ts} +2 -3
- package/dist/widgets/OrbitalSim/{CameraController.js → Camera/CameraController.js} +2 -2
- package/dist/widgets/OrbitalSim/Context/index.cjs +1 -1
- package/dist/widgets/OrbitalSim/Context/index.js +4 -5
- package/dist/widgets/OrbitalSim/Controls/PlaybackControls.cjs +1 -1
- package/dist/widgets/OrbitalSim/Controls/PlaybackControls.js +20 -20
- package/dist/widgets/OrbitalSim/Controls/PlaybackSpeed.cjs +1 -0
- package/dist/widgets/OrbitalSim/{PlaybackSpeed.d.ts → Controls/PlaybackSpeed.d.ts} +4 -5
- package/dist/widgets/OrbitalSim/Controls/PlaybackSpeed.js +95 -0
- package/dist/widgets/OrbitalSim/Controls/styles.cjs +97 -0
- package/dist/widgets/OrbitalSim/Controls/styles.d.ts +13 -0
- package/dist/widgets/OrbitalSim/Controls/styles.js +114 -0
- package/dist/widgets/OrbitalSim/Observations/Observation.cjs +1 -0
- package/dist/widgets/OrbitalSim/{Observation.d.ts → Observations/Observation.d.ts} +2 -3
- package/dist/widgets/OrbitalSim/{Observation.js → Observations/Observation.js} +4 -4
- package/dist/widgets/OrbitalSim/Observations/Observations.cjs +1 -0
- package/dist/widgets/OrbitalSim/{Observations.d.ts → Observations/Observations.d.ts} +2 -3
- package/dist/widgets/OrbitalSim/{Observations.js → Observations/Observations.js} +3 -3
- package/dist/widgets/OrbitalSim/OrbitalSim.cjs +1 -1
- package/dist/widgets/OrbitalSim/OrbitalSim.js +89 -94
- package/dist/widgets/OrbitalSim/OrbitalSim.module.css.cjs +1 -1
- package/dist/widgets/OrbitalSim/OrbitalSim.module.css.js +5 -47
- package/dist/widgets/OrbitalSim/Orbitals/Orbital.cjs +1 -0
- package/dist/widgets/OrbitalSim/Orbitals/Orbital.d.ts +46 -0
- package/dist/widgets/OrbitalSim/Orbitals/Orbital.js +254 -0
- package/dist/widgets/OrbitalSim/Orbitals/OrbitalDetails.cjs +1 -0
- package/dist/widgets/OrbitalSim/Orbitals/OrbitalDetails.js +42 -0
- package/dist/widgets/OrbitalSim/Orbitals/Orbitals.cjs +1 -0
- package/dist/widgets/OrbitalSim/Orbitals/Orbitals.d.ts +30 -0
- package/dist/widgets/OrbitalSim/{Orbitals.js → Orbitals/Orbitals.js} +31 -34
- package/dist/widgets/OrbitalSim/Orbitals/PotentialOrbits.cjs +1 -0
- package/dist/widgets/OrbitalSim/{PotentialOrbits.d.ts → Orbitals/PotentialOrbits.d.ts} +1 -2
- package/dist/widgets/OrbitalSim/{PotentialOrbits.js → Orbitals/PotentialOrbits.js} +5 -5
- package/dist/widgets/OrbitalSim/Orbitals/styles.cjs +53 -0
- package/dist/widgets/OrbitalSim/Orbitals/styles.d.ts +9 -0
- package/dist/widgets/OrbitalSim/Orbitals/styles.js +66 -0
- package/dist/widgets/OrbitalSim/Sun.cjs +1 -1
- package/dist/widgets/OrbitalSim/Sun.d.ts +6 -9
- package/dist/widgets/OrbitalSim/Sun.js +11 -14
- package/dist/widgets/OrbitalSim/orbitalUtilities.cjs +1 -1
- package/dist/widgets/OrbitalSim/orbitalUtilities.js +29 -37
- package/dist/widgets/OrbitalSim/styles.cjs +48 -0
- package/dist/widgets/OrbitalSim/styles.d.ts +5 -0
- package/dist/widgets/OrbitalSim/styles.js +56 -0
- package/dist/widgets/SourceSelector/Message/Message.cjs +1 -1
- package/dist/widgets/SourceSelector/Message/Message.js +10 -11
- package/dist/widgets/SourceSelector/Message/styles.d.ts +1 -2
- package/dist/widgets/SourceSelector/SelectionList/index.cjs +1 -1
- package/dist/widgets/SourceSelector/SelectionList/index.js +12 -13
- package/dist/widgets/SourceSelector/SelectionList/styles.d.ts +0 -1
- package/dist/widgets/SourceSelector/SourceMap/styles.d.ts +0 -1
- package/dist/widgets/SourceSelector/styles.d.ts +1 -2
- package/dist/widgets/SupernovaThreeVector/Histogram/styles.d.ts +0 -1
- package/dist/widgets/SupernovaThreeVector/Skymap/styles.d.ts +0 -1
- package/dist/widgets/SupernovaThreeVector/styles.d.ts +0 -1
- package/dist/widgets/ViewIndicator/styles.d.ts +0 -1
- package/package.json +15 -13
- package/dist/widgets/OrbitalSim/Camera.cjs +0 -1
- package/dist/widgets/OrbitalSim/CameraController.cjs +0 -1
- package/dist/widgets/OrbitalSim/Controls/PlaybackControls.module.css.cjs +0 -1
- package/dist/widgets/OrbitalSim/Controls/PlaybackControls.module.css.js +0 -7
- package/dist/widgets/OrbitalSim/Observation.cjs +0 -1
- package/dist/widgets/OrbitalSim/Observations.cjs +0 -1
- package/dist/widgets/OrbitalSim/Orbital.cjs +0 -1
- package/dist/widgets/OrbitalSim/Orbital.d.ts +0 -49
- package/dist/widgets/OrbitalSim/Orbital.js +0 -255
- package/dist/widgets/OrbitalSim/OrbitalDetails.cjs +0 -1
- package/dist/widgets/OrbitalSim/OrbitalDetails.js +0 -53
- package/dist/widgets/OrbitalSim/Orbitals.cjs +0 -1
- package/dist/widgets/OrbitalSim/Orbitals.d.ts +0 -33
- package/dist/widgets/OrbitalSim/PlaybackSpeed.cjs +0 -1
- package/dist/widgets/OrbitalSim/PlaybackSpeed.js +0 -96
- package/dist/widgets/OrbitalSim/PotentialOrbits.cjs +0 -1
- /package/dist/widgets/OrbitalSim/{OrbitalDetails.d.ts → Orbitals/OrbitalDetails.d.ts} +0 -0
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as e, jsxs as r, Fragment as Pe } from "react/jsx-runtime";
|
|
3
|
-
import { useRef as Me, useState as i, useEffect as P } from "react";
|
|
4
|
-
import t from "../../node_modules/prop-types/index.js";
|
|
5
|
-
import * as L from "three";
|
|
6
|
-
import { useFrame as Te } from "@react-three/fiber";
|
|
7
|
-
import { Html as h } from "@react-three/drei";
|
|
8
|
-
import { degsToRads as N, auToUnit as Ce, getMinorAxis as ze, getFocus as je, getCurve as Be, getLineGeometry as Le, getPosFromArcLength as M, getVelocity as T, auToMeters as Ne, unitToAu as Ve, ORBITAL_COLORS as C, getLabelSize as Ge, getAngleFromPos as D, DAY_PER_VIZ_SEC as Re } from "./orbitalUtilities.js";
|
|
9
|
-
import d from "./OrbitalSim.module.css.js";
|
|
10
|
-
import Se from "./chartColors.module.css.js";
|
|
11
|
-
import { useOrbitalSimContext as _e } from "./Context/index.js";
|
|
12
|
-
import { useTranslation as Ae } from "react-i18next";
|
|
13
|
-
const H = ({
|
|
14
|
-
data: z,
|
|
15
|
-
selectionCallback: V,
|
|
16
|
-
active: y,
|
|
17
|
-
playing: Z,
|
|
18
|
-
dayPerVizSec: K,
|
|
19
|
-
stepDirection: U,
|
|
20
|
-
frameOverride: G,
|
|
21
|
-
orbitColor: Y,
|
|
22
|
-
objectColor: R,
|
|
23
|
-
objectRadius: q,
|
|
24
|
-
initialized: J,
|
|
25
|
-
initCallback: S,
|
|
26
|
-
devMode: Q,
|
|
27
|
-
zoomMod: W,
|
|
28
|
-
defaultZoom: X,
|
|
29
|
-
type: $,
|
|
30
|
-
noLabels: ee,
|
|
31
|
-
reset: _
|
|
32
|
-
}) => {
|
|
33
|
-
const { t: te } = Ae(), { orbits: oe } = _e(), { activeVelocityCallback: ie } = oe, re = Me(), {
|
|
34
|
-
a: A,
|
|
35
|
-
e: se,
|
|
36
|
-
i: ae,
|
|
37
|
-
M: ne,
|
|
38
|
-
Node: k,
|
|
39
|
-
Peri: w,
|
|
40
|
-
Principal_desig: le,
|
|
41
|
-
Translated_desig_key: E,
|
|
42
|
-
name: ce
|
|
43
|
-
} = z || {}, [me] = i(() => [
|
|
44
|
-
0,
|
|
45
|
-
N(ae),
|
|
46
|
-
k ? N(k) : 0
|
|
47
|
-
]), [s] = i(() => Ce(A)), [u] = i(() => ze(A, se)), [he] = i(() => je(s, u)), [o] = i(new L.Vector3(he, 0, 0)), [l] = i(new L.Vector3(0, 0, 0)), [de, pe] = i(!1), [c] = i(
|
|
48
|
-
() => Be(s, u, o.x, o.y)
|
|
49
|
-
), [ge] = i(() => Le(c.getPoints(360))), f = M(0, c), [p, j] = i({
|
|
50
|
-
position: f,
|
|
51
|
-
rotation: [0, 0, 0],
|
|
52
|
-
progress: 0,
|
|
53
|
-
velocity: T(f.distanceTo(l), s),
|
|
54
|
-
period: 0
|
|
55
|
-
});
|
|
56
|
-
P(() => {
|
|
57
|
-
_ > 0 && j({
|
|
58
|
-
position: f,
|
|
59
|
-
rotation: [0, 0, 0],
|
|
60
|
-
progress: 0,
|
|
61
|
-
velocity: T(f.distanceTo(l), s),
|
|
62
|
-
period: 0
|
|
63
|
-
});
|
|
64
|
-
}, [_]);
|
|
65
|
-
function ye(m) {
|
|
66
|
-
let a = 0, n = M(a, c);
|
|
67
|
-
if (m) {
|
|
68
|
-
const x = m > 180, B = x ? m - 180 : m;
|
|
69
|
-
let g = D(n, l);
|
|
70
|
-
for (; g < B; )
|
|
71
|
-
a += 0.01, n = M(a, c), g = D(n, l);
|
|
72
|
-
x && (a += 0.5, n = M(a, c));
|
|
73
|
-
}
|
|
74
|
-
return S ? S() : pe(!0), {
|
|
75
|
-
position: n,
|
|
76
|
-
rotation: [0, 0, 0],
|
|
77
|
-
progress: a,
|
|
78
|
-
velocity: T(n.distanceTo(l), s),
|
|
79
|
-
period: 0
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
function F(m, b) {
|
|
83
|
-
const {
|
|
84
|
-
progress: a,
|
|
85
|
-
position: n,
|
|
86
|
-
velocity: x,
|
|
87
|
-
period: B
|
|
88
|
-
} = p, g = m ? 0 : b * (K || Re), ue = x * g * U, v = a + ue / c.getLength(), I = v > 1 ? 1 - v : v, { x: fe, y: be } = c.getPoint(I), xe = new L.Vector3(fe, be, 0), ve = T(n.distanceTo(l), s);
|
|
89
|
-
let O = g + B;
|
|
90
|
-
v > 1 && (O = 0), j({
|
|
91
|
-
...p,
|
|
92
|
-
position: xe,
|
|
93
|
-
progress: I,
|
|
94
|
-
velocity: ve,
|
|
95
|
-
period: O
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
return P(() => {
|
|
99
|
-
j(ye(ne || Math.floor(Math.random() * Math.floor(180))));
|
|
100
|
-
}, []), P(() => {
|
|
101
|
-
G && F(!1, 1 / 60);
|
|
102
|
-
}, [G]), P(() => {
|
|
103
|
-
y && ie(Ne(Ve(p.velocity / 1e5)));
|
|
104
|
-
}, [p]), Te((m, b) => {
|
|
105
|
-
(J || de) && F(!Z, b);
|
|
106
|
-
}), /* @__PURE__ */ e("group", { rotation: me, children: /* @__PURE__ */ r("group", { rotation: [0, 0, w ? N(w + 90) : 0], children: [
|
|
107
|
-
/* @__PURE__ */ e("line", { ref: re, geometry: ge, children: /* @__PURE__ */ e(
|
|
108
|
-
"lineBasicMaterial",
|
|
109
|
-
{
|
|
110
|
-
attach: "material",
|
|
111
|
-
color: y ? C.asteroid.orbitHighlight : Y || C.asteroid.orbitColor
|
|
112
|
-
}
|
|
113
|
-
) }),
|
|
114
|
-
/* @__PURE__ */ r(
|
|
115
|
-
"mesh",
|
|
116
|
-
{
|
|
117
|
-
position: p.position,
|
|
118
|
-
onClick: () => V(z, "neo"),
|
|
119
|
-
children: [
|
|
120
|
-
($ === "planet" || !ee || y) && /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
|
|
121
|
-
"button",
|
|
122
|
-
{
|
|
123
|
-
type: "button",
|
|
124
|
-
className: d.label,
|
|
125
|
-
style: {
|
|
126
|
-
fontSize: Ge(W, X)
|
|
127
|
-
},
|
|
128
|
-
onClick: () => V(z, "neo"),
|
|
129
|
-
children: E ? te(E) : ce || le
|
|
130
|
-
}
|
|
131
|
-
) }),
|
|
132
|
-
/* @__PURE__ */ e(
|
|
133
|
-
"sphereGeometry",
|
|
134
|
-
{
|
|
135
|
-
attach: "geometry",
|
|
136
|
-
args: [q || 4, 10, 10]
|
|
137
|
-
}
|
|
138
|
-
),
|
|
139
|
-
/* @__PURE__ */ e(
|
|
140
|
-
"meshBasicMaterial",
|
|
141
|
-
{
|
|
142
|
-
attach: "material",
|
|
143
|
-
color: y ? C.asteroid.objectHighlight : R || C.asteroid.objectColor
|
|
144
|
-
}
|
|
145
|
-
)
|
|
146
|
-
]
|
|
147
|
-
}
|
|
148
|
-
),
|
|
149
|
-
Q && /* @__PURE__ */ r(Pe, { children: [
|
|
150
|
-
/* @__PURE__ */ r("mesh", { position: o, children: [
|
|
151
|
-
/* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
|
|
152
|
-
/* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: Se.chart1 }),
|
|
153
|
-
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "center" }) })
|
|
154
|
-
] }),
|
|
155
|
-
/* @__PURE__ */ r("mesh", { position: l, children: [
|
|
156
|
-
/* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
|
|
157
|
-
/* @__PURE__ */ e(
|
|
158
|
-
"meshBasicMaterial",
|
|
159
|
-
{
|
|
160
|
-
attach: "material",
|
|
161
|
-
color: R || "blue"
|
|
162
|
-
}
|
|
163
|
-
),
|
|
164
|
-
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "sun" }) })
|
|
165
|
-
] }),
|
|
166
|
-
/* @__PURE__ */ r(
|
|
167
|
-
"mesh",
|
|
168
|
-
{
|
|
169
|
-
position: [
|
|
170
|
-
o.x,
|
|
171
|
-
-u + o.y,
|
|
172
|
-
o.z
|
|
173
|
-
],
|
|
174
|
-
children: [
|
|
175
|
-
/* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
|
|
176
|
-
/* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
|
|
177
|
-
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "minor axis vertex" }) })
|
|
178
|
-
]
|
|
179
|
-
}
|
|
180
|
-
),
|
|
181
|
-
/* @__PURE__ */ r(
|
|
182
|
-
"mesh",
|
|
183
|
-
{
|
|
184
|
-
position: [
|
|
185
|
-
o.x,
|
|
186
|
-
u + o.y,
|
|
187
|
-
o.z
|
|
188
|
-
],
|
|
189
|
-
children: [
|
|
190
|
-
/* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
|
|
191
|
-
/* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
|
|
192
|
-
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "minor axis vertex" }) })
|
|
193
|
-
]
|
|
194
|
-
}
|
|
195
|
-
),
|
|
196
|
-
/* @__PURE__ */ r(
|
|
197
|
-
"mesh",
|
|
198
|
-
{
|
|
199
|
-
position: [
|
|
200
|
-
s + o.x,
|
|
201
|
-
o.y,
|
|
202
|
-
o.z
|
|
203
|
-
],
|
|
204
|
-
children: [
|
|
205
|
-
/* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
|
|
206
|
-
/* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
|
|
207
|
-
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "major axis vertex" }) })
|
|
208
|
-
]
|
|
209
|
-
}
|
|
210
|
-
),
|
|
211
|
-
/* @__PURE__ */ r(
|
|
212
|
-
"mesh",
|
|
213
|
-
{
|
|
214
|
-
position: [
|
|
215
|
-
-s + o.x,
|
|
216
|
-
o.y,
|
|
217
|
-
o.z
|
|
218
|
-
],
|
|
219
|
-
children: [
|
|
220
|
-
/* @__PURE__ */ e("sphereGeometry", { attach: "geometry", args: [2, 10, 10] }),
|
|
221
|
-
/* @__PURE__ */ e("meshBasicMaterial", { attach: "material", color: "green" }),
|
|
222
|
-
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: d.label, children: "major axis vertex" }) })
|
|
223
|
-
]
|
|
224
|
-
}
|
|
225
|
-
)
|
|
226
|
-
] })
|
|
227
|
-
] }) });
|
|
228
|
-
};
|
|
229
|
-
H.defaultProps = {
|
|
230
|
-
type: "object"
|
|
231
|
-
};
|
|
232
|
-
H.propTypes = {
|
|
233
|
-
data: t.object,
|
|
234
|
-
selectionCallback: t.func,
|
|
235
|
-
active: t.bool,
|
|
236
|
-
playing: t.bool,
|
|
237
|
-
dayPerVizSec: t.number,
|
|
238
|
-
stepDirection: t.number,
|
|
239
|
-
frameOverride: t.number,
|
|
240
|
-
orbitColor: t.string,
|
|
241
|
-
objectColor: t.string,
|
|
242
|
-
objectRadius: t.number,
|
|
243
|
-
initCallback: t.func,
|
|
244
|
-
initialized: t.bool,
|
|
245
|
-
devMode: t.bool,
|
|
246
|
-
activeVelocityCallback: t.func,
|
|
247
|
-
zoomMod: t.number,
|
|
248
|
-
defaultZoom: t.number,
|
|
249
|
-
type: t.string,
|
|
250
|
-
noLabels: t.bool,
|
|
251
|
-
reset: t.number
|
|
252
|
-
};
|
|
253
|
-
export {
|
|
254
|
-
H as default
|
|
255
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),d=require("react"),l=require("./OrbitalSim.module.css.cjs"),r=require("@rubin-epo/epo-react-lib/Slideout"),c=require("@rubin-epo/epo-react-lib/Button"),f=require("./Context/index.cjs"),u=t=>t&&t.__esModule?t:{default:t},h=u(r),n=u(c);function m(){const{orbits:t}=f.useOrbitalSimContext(),{detailsRows:s}=t,[i,a]=d.useState(!1);return d.useEffect(()=>{s&&a(!0)},[s]),e.jsxs(e.Fragment,{children:[e.jsx(n.default,{styleAs:"secondary",className:l.default["details-toggle"],isInactive:s,onClick:()=>a(!i),children:"Show Details"}),e.jsx(h.default,{className:l.default.slideout,slideFrom:"left",isOpen:!i,children:e.jsxs("div",{className:l.default.slideoutPanel,style:{width:"50ch"},children:[e.jsx("h3",{children:"Orbital Details"}),s&&s.map(o=>e.jsxs("div",{className:l.default.slideoutRow,children:[e.jsx("div",{className:l.default.slideoutCol,"data-align":"left",children:e.jsx("p",{children:o.rowTitle})}),e.jsx("div",{className:l.default.slideoutCol,"data-align":"right",dangerouslySetInnerHTML:{__html:o.rowContent}})]})),e.jsx(n.default,{isBlock:!0,onClick:()=>a(!i),children:"Close"})]})})]})}exports.default=m;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs as o, Fragment as c, jsx as e } from "react/jsx-runtime";
|
|
3
|
-
import { useState as d, useEffect as m } from "react";
|
|
4
|
-
import t from "./OrbitalSim.module.css.js";
|
|
5
|
-
import u from "@rubin-epo/epo-react-lib/Slideout";
|
|
6
|
-
import a from "@rubin-epo/epo-react-lib/Button";
|
|
7
|
-
import { useOrbitalSimContext as h } from "./Context/index.js";
|
|
8
|
-
function N() {
|
|
9
|
-
const { orbits: n } = h(), {
|
|
10
|
-
detailsRows: i
|
|
11
|
-
} = n, [l, s] = d(!1);
|
|
12
|
-
return m(() => {
|
|
13
|
-
i && s(!0);
|
|
14
|
-
}, [i]), /* @__PURE__ */ o(c, { children: [
|
|
15
|
-
/* @__PURE__ */ e(
|
|
16
|
-
a,
|
|
17
|
-
{
|
|
18
|
-
styleAs: "secondary",
|
|
19
|
-
className: t["details-toggle"],
|
|
20
|
-
isInactive: i,
|
|
21
|
-
onClick: () => s(!l),
|
|
22
|
-
children: "Show Details"
|
|
23
|
-
}
|
|
24
|
-
),
|
|
25
|
-
/* @__PURE__ */ e(u, { className: t.slideout, slideFrom: "left", isOpen: !l, children: /* @__PURE__ */ o(
|
|
26
|
-
"div",
|
|
27
|
-
{
|
|
28
|
-
className: t.slideoutPanel,
|
|
29
|
-
style: {
|
|
30
|
-
width: "50ch"
|
|
31
|
-
},
|
|
32
|
-
children: [
|
|
33
|
-
/* @__PURE__ */ e("h3", { children: "Orbital Details" }),
|
|
34
|
-
i && i.map((r) => /* @__PURE__ */ o("div", { className: t.slideoutRow, children: [
|
|
35
|
-
/* @__PURE__ */ e("div", { className: t.slideoutCol, "data-align": "left", children: /* @__PURE__ */ e("p", { children: r.rowTitle }) }),
|
|
36
|
-
/* @__PURE__ */ e("div", { className: t.slideoutCol, "data-align": "right", dangerouslySetInnerHTML: { __html: r.rowContent } })
|
|
37
|
-
] })),
|
|
38
|
-
/* @__PURE__ */ e(
|
|
39
|
-
a,
|
|
40
|
-
{
|
|
41
|
-
isBlock: !0,
|
|
42
|
-
onClick: () => s(!l),
|
|
43
|
-
children: "Close"
|
|
44
|
-
}
|
|
45
|
-
)
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
|
-
) })
|
|
49
|
-
] });
|
|
50
|
-
}
|
|
51
|
-
export {
|
|
52
|
-
N as default
|
|
53
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),x=require("react"),e=require("../../node_modules/prop-types/index.cjs"),O=require("@react-three/fiber"),R=require("./Orbital.cjs"),y=require("./PotentialOrbits.cjs"),E=require("./orbitalUtilities.cjs"),N=require("./Context/index.cjs");function C({playing:s,dayPerVizSec:n,stepDirection:u,frameOverride:o,defaultZoom:d,potentialOrbits:$,elapsedTime:m,setElapsedTime:p,noLabels:h,reset:j,zoomLevel:l,setZoomLevel:M}){const{orbits:I}=N.useOrbitalSimContext(),{neos:i,refObjs:P,activeNeo:_}=I;function k(r){const{remainingInits:t}=r;return{remainingInits:t-1}}const{camera:g}=O.useThree(),[T,q]=x.useReducer(k,{remainingInits:i&&Array.isArray(i)?i.length:0});function z(){return(P||["earth","jupiter","mars","neptune"]).map(E.getRefObjProps).map(t=>{const{orbitColor:c,objectColor:f,objectRadius:b,Ref:A,Principal_desig:F,name:v}=t;return a.jsx(R.default,{type:"planet",data:t,position:[0,0,0],zoomMod:l,defaultZoom:d,playing:s,stepDirection:u,dayPerVizSec:n,frameOverride:o,orbitColor:c,objectColor:f,objectRadius:b,reset:j},`${A}-${F||v}`)})}return O.useFrame((r,t)=>{g.zoom!==l&&M(g.zoom),s&&p(m+u*t*n)}),x.useEffect(()=>{o&&p(m+u*(1/60)*n)},[o]),a.jsxs(a.Fragment,{children:[z(),$?a.jsx(y.default,{data:i,position:[0,0,0],initialized:!0,zoomMod:l,defaultZoom:d,playing:s,stepDirection:u,dayPerVizSec:n,frameOverride:o,initCallback:q}):i?i.map((r,t)=>{const{Ref:c,Principal_desig:f,name:b}=r;return a.jsx(R.default,{data:r,position:[0,0,0],active:r===_,initialized:T.remainingInits<=0,zoomMod:l,defaultZoom:d,playing:s,stepDirection:u,dayPerVizSec:n,frameOverride:o,noLabels:h,reset:j,initCallback:q},c&&(f||b)?`${c}-${f||b}`:`orbit-${t}`)}):null]})}C.propTypes={playing:e.default.bool,dayPerVizSec:e.default.number,stepDirection:e.default.number,frameOverride:e.default.number,activeVelocityCallback:e.default.func,defaultZoom:e.default.number,zoomLevel:e.default.number,setZoomLevel:e.default.func,potentialOrbits:e.default.bool,elapsedTime:e.default.number,setElapsedTime:e.default.func,noLabels:e.default.bool,reset:e.default.number};exports.default=C;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { default as PropTypes } from 'prop-types';
|
|
2
|
-
export default Orbitals;
|
|
3
|
-
declare function Orbitals({ playing, dayPerVizSec, stepDirection, frameOverride, defaultZoom, potentialOrbits, elapsedTime, setElapsedTime, noLabels, reset, zoomLevel, setZoomLevel }: {
|
|
4
|
-
playing: any;
|
|
5
|
-
dayPerVizSec: any;
|
|
6
|
-
stepDirection: any;
|
|
7
|
-
frameOverride: any;
|
|
8
|
-
defaultZoom: any;
|
|
9
|
-
potentialOrbits: any;
|
|
10
|
-
elapsedTime: any;
|
|
11
|
-
setElapsedTime: any;
|
|
12
|
-
noLabels: any;
|
|
13
|
-
reset: any;
|
|
14
|
-
zoomLevel: any;
|
|
15
|
-
setZoomLevel: any;
|
|
16
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
-
declare namespace Orbitals {
|
|
18
|
-
namespace propTypes {
|
|
19
|
-
let playing: PropTypes.Requireable<boolean>;
|
|
20
|
-
let dayPerVizSec: PropTypes.Requireable<number>;
|
|
21
|
-
let stepDirection: PropTypes.Requireable<number>;
|
|
22
|
-
let frameOverride: PropTypes.Requireable<number>;
|
|
23
|
-
let activeVelocityCallback: PropTypes.Requireable<(...args: any[]) => any>;
|
|
24
|
-
let defaultZoom: PropTypes.Requireable<number>;
|
|
25
|
-
let zoomLevel: PropTypes.Requireable<number>;
|
|
26
|
-
let setZoomLevel: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
|
-
let potentialOrbits: PropTypes.Requireable<boolean>;
|
|
28
|
-
let elapsedTime: PropTypes.Requireable<number>;
|
|
29
|
-
let setElapsedTime: PropTypes.Requireable<(...args: any[]) => any>;
|
|
30
|
-
let noLabels: PropTypes.Requireable<boolean>;
|
|
31
|
-
let reset: PropTypes.Requireable<number>;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),x=require("react"),o=require("../../node_modules/prop-types/index.cjs"),k=require("react-i18next"),m=require("./orbitalUtilities.cjs"),N=require("@rubin-epo/epo-react-lib/HorizontalSlider"),a=require("./OrbitalSim.module.css.cjs"),g=l=>l&&l.__esModule?l:{default:l},q=g(N);function y({dayPerVizSec:l,elapsedTime:f,sliderOnChangeCallback:h,speeds:b}){const{t}=k.useTranslation();function _(u){const d=u/365,r=Math.floor(d),n=365*(d-r);let s={},i={};return s={number:m.formatValue(r),string:t("elapsed_time.interval.year",{count:r})},i={number:m.formatValue(n),string:t("elapsed_time.interval.day",{count:n})},r>=1?`${s.number} ${s.string}`:n<1?t("orbit_viewer.playback.interval.secWithCount",{count:1}):`${i.number} ${i.string}`}function c(u,d){const r=f<0,n=Math.abs(f)/365.256,s=Math.floor(n),i=Math.floor(365.256*(n-s));let p={},v={};return p={number:m.formatValue(r?-s:s),string:t("elapsed_time.interval.year",{count:s})},v={number:m.formatValue(r?-i:i),string:t("elapsed_time.interval.day",{count:i})},u==="days"?v[d]:u==="years"?p[d]:null}const j=x.useMemo(()=>_(l),[l]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:a.default["playback-speed-slider-header"],children:[e.jsx("h4",{className:a.default["playback-speed-title"],children:t("orbital_sim.playback.time_step")}),e.jsx("div",{className:a.default["playback-speed-slider-label"],children:t("orbital_sim.playback.time_equivalence",{firstTime:t("orbit_viewer.playback.interval.secWithCount",{count:1}),secondTime:j})})]}),e.jsx("div",{className:a.default["playback-speed-slider-label-top"],children:t("orbital_sim.playback.time_equivalence",{firstTime:t("orbit_viewer.playback.interval.secWithCount",{count:1}),secondTime:t("orbit_viewer.playback.interval.yearWithCount",{count:1}),context:"verbose"})}),e.jsx("div",{className:a.default["playback-speed-slider-label-bottom"],children:t("orbital_sim.playback.normal_time")}),e.jsx(q.default,{className:a.default["playback-speed-slider"],isVertical:!0,min:b.min,invert:!0,max:b.max,step:b.step,value:l,onChangeCallback:h}),e.jsxs("div",{className:a.default["elapsed-time-container"],children:[e.jsx("div",{className:a.default["elapsed-time-title"],children:t("elapsed_time.title")}),e.jsxs("div",{className:a.default["elapsed-time-inner"],children:[e.jsxs("div",{className:a.default["elapsed-time-block"],children:[e.jsx("div",{className:a.default["elapsed-val"],children:c("years","number")}),e.jsx("div",{className:a.default["elapsed-time-label"],children:c("years","string")})]}),e.jsx("div",{className:a.default["elapsed-time-divider"]}),e.jsxs("div",{className:a.default["elapsed-time-block"],children:[e.jsx("div",{className:a.default["elapsed-val"],children:c("days","number")}),e.jsx("div",{className:a.default["elapsed-label"],children:c("days","string")})]})]})]})]})}y.propTypes={dayPerVizSec:o.default.number,elapsedTime:o.default.number,speeds:o.default.object,sliderOnChangeCallback:o.default.func};exports.default=y;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs as n, Fragment as _, jsx as t } from "react/jsx-runtime";
|
|
3
|
-
import { useMemo as g } from "react";
|
|
4
|
-
import d from "../../node_modules/prop-types/index.js";
|
|
5
|
-
import { useTranslation as C } from "react-i18next";
|
|
6
|
-
import { formatValue as p } from "./orbitalUtilities.js";
|
|
7
|
-
import j from "@rubin-epo/epo-react-lib/HorizontalSlider";
|
|
8
|
-
import e from "./OrbitalSim.module.css.js";
|
|
9
|
-
function T({
|
|
10
|
-
dayPerVizSec: u,
|
|
11
|
-
elapsedTime: v,
|
|
12
|
-
sliderOnChangeCallback: h,
|
|
13
|
-
speeds: b
|
|
14
|
-
}) {
|
|
15
|
-
const { t: a } = C();
|
|
16
|
-
function k(o) {
|
|
17
|
-
const c = o / 365, i = Math.floor(c), l = 365 * (c - i);
|
|
18
|
-
let r = {}, s = {};
|
|
19
|
-
return r = {
|
|
20
|
-
number: p(i),
|
|
21
|
-
string: a("elapsed_time.interval.year", { count: i })
|
|
22
|
-
}, s = {
|
|
23
|
-
number: p(l),
|
|
24
|
-
string: a("elapsed_time.interval.day", { count: l })
|
|
25
|
-
}, i >= 1 ? `${r.number} ${r.string}` : l < 1 ? a("orbit_viewer.playback.interval.secWithCount", { count: 1 }) : `${s.number} ${s.string}`;
|
|
26
|
-
}
|
|
27
|
-
function m(o, c) {
|
|
28
|
-
const i = v < 0, l = Math.abs(v) / 365.256, r = Math.floor(l), s = Math.floor(365.256 * (l - r));
|
|
29
|
-
let y = {}, f = {};
|
|
30
|
-
return y = {
|
|
31
|
-
number: p(i ? -r : r),
|
|
32
|
-
string: a("elapsed_time.interval.year", { count: r })
|
|
33
|
-
}, f = {
|
|
34
|
-
number: p(i ? -s : s),
|
|
35
|
-
string: a("elapsed_time.interval.day", { count: s })
|
|
36
|
-
}, o === "days" ? f[c] : o === "years" ? y[c] : null;
|
|
37
|
-
}
|
|
38
|
-
const N = g(() => k(u), [u]);
|
|
39
|
-
return /* @__PURE__ */ n(_, { children: [
|
|
40
|
-
/* @__PURE__ */ n("div", { className: e["playback-speed-slider-header"], children: [
|
|
41
|
-
/* @__PURE__ */ t("h4", { className: e["playback-speed-title"], children: a("orbital_sim.playback.time_step") }),
|
|
42
|
-
/* @__PURE__ */ t("div", { className: e["playback-speed-slider-label"], children: a("orbital_sim.playback.time_equivalence", {
|
|
43
|
-
firstTime: a("orbit_viewer.playback.interval.secWithCount", {
|
|
44
|
-
count: 1
|
|
45
|
-
}),
|
|
46
|
-
secondTime: N
|
|
47
|
-
}) })
|
|
48
|
-
] }),
|
|
49
|
-
/* @__PURE__ */ t("div", { className: e["playback-speed-slider-label-top"], children: a("orbital_sim.playback.time_equivalence", {
|
|
50
|
-
firstTime: a("orbit_viewer.playback.interval.secWithCount", {
|
|
51
|
-
count: 1
|
|
52
|
-
}),
|
|
53
|
-
secondTime: a("orbit_viewer.playback.interval.yearWithCount", {
|
|
54
|
-
count: 1
|
|
55
|
-
}),
|
|
56
|
-
context: "verbose"
|
|
57
|
-
}) }),
|
|
58
|
-
/* @__PURE__ */ t("div", { className: e["playback-speed-slider-label-bottom"], children: a("orbital_sim.playback.normal_time") }),
|
|
59
|
-
/* @__PURE__ */ t(
|
|
60
|
-
j,
|
|
61
|
-
{
|
|
62
|
-
className: e["playback-speed-slider"],
|
|
63
|
-
isVertical: !0,
|
|
64
|
-
min: b.min,
|
|
65
|
-
invert: !0,
|
|
66
|
-
max: b.max,
|
|
67
|
-
step: b.step,
|
|
68
|
-
value: u,
|
|
69
|
-
onChangeCallback: h
|
|
70
|
-
}
|
|
71
|
-
),
|
|
72
|
-
/* @__PURE__ */ n("div", { className: e["elapsed-time-container"], children: [
|
|
73
|
-
/* @__PURE__ */ t("div", { className: e["elapsed-time-title"], children: a("elapsed_time.title") }),
|
|
74
|
-
/* @__PURE__ */ n("div", { className: e["elapsed-time-inner"], children: [
|
|
75
|
-
/* @__PURE__ */ n("div", { className: e["elapsed-time-block"], children: [
|
|
76
|
-
/* @__PURE__ */ t("div", { className: e["elapsed-val"], children: m("years", "number") }),
|
|
77
|
-
/* @__PURE__ */ t("div", { className: e["elapsed-time-label"], children: m("years", "string") })
|
|
78
|
-
] }),
|
|
79
|
-
/* @__PURE__ */ t("div", { className: e["elapsed-time-divider"] }),
|
|
80
|
-
/* @__PURE__ */ n("div", { className: e["elapsed-time-block"], children: [
|
|
81
|
-
/* @__PURE__ */ t("div", { className: e["elapsed-val"], children: m("days", "number") }),
|
|
82
|
-
/* @__PURE__ */ t("div", { className: e["elapsed-label"], children: m("days", "string") })
|
|
83
|
-
] })
|
|
84
|
-
] })
|
|
85
|
-
] })
|
|
86
|
-
] });
|
|
87
|
-
}
|
|
88
|
-
T.propTypes = {
|
|
89
|
-
dayPerVizSec: d.number,
|
|
90
|
-
elapsedTime: d.number,
|
|
91
|
-
speeds: d.object,
|
|
92
|
-
sliderOnChangeCallback: d.func
|
|
93
|
-
};
|
|
94
|
-
export {
|
|
95
|
-
T as default
|
|
96
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),j=require("react"),O=require("../../node_modules/prop-types/index.cjs"),v=require("three"),q=require("./Observations.cjs"),f=require("./orbitalUtilities.cjs"),S=require("./Context/index.cjs");function T(e){if(e&&e.__esModule)return e;const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const d=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(u,r,d.get?d:{enumerable:!0,get:()=>e[r]})}}return u.default=e,Object.freeze(u)}const g=T(v),m=()=>{const{orbits:e,observations:u}=S.useOrbitalSimContext(),{neos:r}=e;function d(o,t,n){const i=f.getFocus(o,t),c=new g.Vector3(i,0,0);return f.getCurve(o,t,c.x,c.y).getPoints(100).map(s=>f.convert2dTo3d(s,n)).flat()}function x(o){return o.map(t=>{const{a:n,e:i}=t,c=f.auToUnit(n),s=f.getMinorAxis(n,i);return d(c,s,t)})}const[h]=j.useState(()=>{let o=0;const t=[],n=[];x(r).forEach(s=>{const y=s.length-1;for(let a=0;a<s.length;a++){const p=s[a],b=a+o;n.push(p.x),n.push(p.y),n.push(p.z),t.push(b),t.push(a===y?o:b+1)}o+=s.length});const i=new g.BufferGeometry,c=new g.Float32BufferAttribute(n,3);return i.setAttribute("position",c),i.setIndex(t),i});return l.jsxs(l.Fragment,{children:[l.jsx("lineSegments",{position:[0,0,0],geometry:h,children:l.jsx("lineBasicMaterial",{attach:"material",color:"#CEB3DB"})}),u&&r&&l.jsx(q.default,{data:r[0],observations:u})]})};m.propTypes={data:O.default.array};exports.default=m;
|
|
File without changes
|