@holoscript/engine 6.0.3 → 6.0.4

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 (192) hide show
  1. package/dist/AutoMesher-CK47F6AV.js +17 -0
  2. package/dist/GPUBuffers-2LHBCD7X.js +9 -0
  3. package/dist/WebGPUContext-TNEUYU2Y.js +11 -0
  4. package/dist/animation/index.cjs +38 -38
  5. package/dist/animation/index.d.cts +1 -1
  6. package/dist/animation/index.d.ts +1 -1
  7. package/dist/animation/index.js +1 -1
  8. package/dist/audio/index.cjs +16 -6
  9. package/dist/audio/index.d.cts +1 -1
  10. package/dist/audio/index.d.ts +1 -1
  11. package/dist/audio/index.js +1 -1
  12. package/dist/camera/index.cjs +23 -23
  13. package/dist/camera/index.d.cts +1 -1
  14. package/dist/camera/index.d.ts +1 -1
  15. package/dist/camera/index.js +1 -1
  16. package/dist/character/index.cjs +6 -4
  17. package/dist/character/index.js +1 -1
  18. package/dist/choreography/index.cjs +1194 -0
  19. package/dist/choreography/index.d.cts +687 -0
  20. package/dist/choreography/index.d.ts +687 -0
  21. package/dist/choreography/index.js +1156 -0
  22. package/dist/chunk-2CSNRI2N.js +217 -0
  23. package/dist/chunk-33T2WINR.js +266 -0
  24. package/dist/chunk-35R73OFM.js +1257 -0
  25. package/dist/chunk-4MMDSUNP.js +1256 -0
  26. package/dist/chunk-5V6HOU72.js +319 -0
  27. package/dist/chunk-6QOP6PYF.js +1038 -0
  28. package/dist/chunk-7KMJVHIL.js +8944 -0
  29. package/dist/chunk-7VPUC62U.js +1106 -0
  30. package/dist/chunk-A2Y6RCAT.js +1878 -0
  31. package/dist/chunk-AHM42MK6.js +8944 -0
  32. package/dist/chunk-BL7IDTHE.js +218 -0
  33. package/dist/chunk-CITOMSWL.js +10462 -0
  34. package/dist/chunk-CXDPKW2K.js +8944 -0
  35. package/dist/chunk-CXZPLD4S.js +223 -0
  36. package/dist/chunk-CZYJE7IH.js +5169 -0
  37. package/dist/chunk-D2OP7YC7.js +6325 -0
  38. package/dist/chunk-EDRVQHUU.js +1544 -0
  39. package/dist/chunk-EJSLOOW2.js +3589 -0
  40. package/dist/chunk-F53SFGW5.js +1878 -0
  41. package/dist/chunk-HCFPELPY.js +919 -0
  42. package/dist/chunk-HNEE36PY.js +93 -0
  43. package/dist/chunk-HYXNV36F.js +1256 -0
  44. package/dist/chunk-IB7KHVFY.js +821 -0
  45. package/dist/chunk-IBBO7YYG.js +690 -0
  46. package/dist/chunk-ILIBGINU.js +5470 -0
  47. package/dist/chunk-IS4MHLKN.js +5479 -0
  48. package/dist/chunk-JT2PFKWD.js +5479 -0
  49. package/dist/chunk-K4CUB4NY.js +1038 -0
  50. package/dist/chunk-KATDQXRJ.js +10462 -0
  51. package/dist/chunk-KBQE6ZFJ.js +8944 -0
  52. package/dist/chunk-KBVD5K7E.js +560 -0
  53. package/dist/chunk-KCDPVQRY.js +4088 -0
  54. package/dist/chunk-KN4QJPKN.js +8944 -0
  55. package/dist/chunk-KWJ3ROSI.js +8944 -0
  56. package/dist/chunk-L45VF6DD.js +919 -0
  57. package/dist/chunk-LY4T37YK.js +307 -0
  58. package/dist/chunk-MDN5WZXA.js +1544 -0
  59. package/dist/chunk-MGCDP6VU.js +928 -0
  60. package/dist/chunk-NCX7X6G2.js +8681 -0
  61. package/dist/chunk-OF54BPVD.js +913 -0
  62. package/dist/chunk-OWSN2Q3Q.js +690 -0
  63. package/dist/chunk-PRRB5TTA.js +406 -0
  64. package/dist/chunk-PXWVQF76.js +4086 -0
  65. package/dist/chunk-PYCOIDT2.js +812 -0
  66. package/dist/chunk-PZCSADOV.js +928 -0
  67. package/dist/chunk-Q2XBVS2K.js +1038 -0
  68. package/dist/chunk-QDZRXWN5.js +1776 -0
  69. package/dist/chunk-RNWOZ6WQ.js +913 -0
  70. package/dist/chunk-ROLFT4CJ.js +1693 -0
  71. package/dist/chunk-SLTJRZ2N.js +266 -0
  72. package/dist/chunk-SRUS5XSU.js +4088 -0
  73. package/dist/chunk-TKCA3WZ5.js +5409 -0
  74. package/dist/chunk-TNRMXYI2.js +1650 -0
  75. package/dist/chunk-TQB3GJGM.js +9763 -0
  76. package/dist/chunk-TUFGXG6K.js +510 -0
  77. package/dist/chunk-U6KMTGQJ.js +632 -0
  78. package/dist/chunk-VMGJQST6.js +8681 -0
  79. package/dist/chunk-X4F4TCG4.js +5470 -0
  80. package/dist/chunk-ZIFROE75.js +1544 -0
  81. package/dist/chunk-ZIJQYHSQ.js +1204 -0
  82. package/dist/combat/index.cjs +4 -4
  83. package/dist/combat/index.d.cts +1 -1
  84. package/dist/combat/index.d.ts +1 -1
  85. package/dist/combat/index.js +1 -1
  86. package/dist/ecs/index.cjs +1 -1
  87. package/dist/ecs/index.js +1 -1
  88. package/dist/environment/index.cjs +14 -14
  89. package/dist/environment/index.d.cts +1 -1
  90. package/dist/environment/index.d.ts +1 -1
  91. package/dist/environment/index.js +1 -1
  92. package/dist/gpu/index.cjs +4810 -0
  93. package/dist/gpu/index.js +3714 -0
  94. package/dist/hologram/index.cjs +27 -1
  95. package/dist/hologram/index.js +1 -1
  96. package/dist/index-B2PIsAmR.d.cts +2180 -0
  97. package/dist/index-B2PIsAmR.d.ts +2180 -0
  98. package/dist/index-BHySEPX7.d.cts +2921 -0
  99. package/dist/index-BJV21zuy.d.cts +341 -0
  100. package/dist/index-BJV21zuy.d.ts +341 -0
  101. package/dist/index-BQutTphC.d.cts +790 -0
  102. package/dist/index-ByIq2XrS.d.cts +3910 -0
  103. package/dist/index-BysHjDSO.d.cts +224 -0
  104. package/dist/index-BysHjDSO.d.ts +224 -0
  105. package/dist/index-CKwAJGck.d.ts +455 -0
  106. package/dist/index-CUl3QstQ.d.cts +3006 -0
  107. package/dist/index-CUl3QstQ.d.ts +3006 -0
  108. package/dist/index-CmYtNiI-.d.cts +953 -0
  109. package/dist/index-CmYtNiI-.d.ts +953 -0
  110. package/dist/index-CnRzWxi_.d.cts +522 -0
  111. package/dist/index-CnRzWxi_.d.ts +522 -0
  112. package/dist/index-CwRWbSC7.d.ts +2921 -0
  113. package/dist/index-CxKIBstO.d.ts +790 -0
  114. package/dist/index-DJ6-R8vh.d.cts +455 -0
  115. package/dist/index-DQKisbcI.d.cts +4968 -0
  116. package/dist/index-DQKisbcI.d.ts +4968 -0
  117. package/dist/index-DRT2zJez.d.ts +3910 -0
  118. package/dist/index-DfNLiAka.d.cts +192 -0
  119. package/dist/index-DfNLiAka.d.ts +192 -0
  120. package/dist/index-nMvkoRm8.d.cts +405 -0
  121. package/dist/index-nMvkoRm8.d.ts +405 -0
  122. package/dist/index-s9yOFU37.d.cts +604 -0
  123. package/dist/index-s9yOFU37.d.ts +604 -0
  124. package/dist/index.cjs +22966 -6960
  125. package/dist/index.d.cts +864 -20
  126. package/dist/index.d.ts +864 -20
  127. package/dist/index.js +3062 -48
  128. package/dist/input/index.cjs +1 -1
  129. package/dist/input/index.js +1 -1
  130. package/dist/orbital/index.cjs +3 -3
  131. package/dist/orbital/index.d.cts +1 -1
  132. package/dist/orbital/index.d.ts +1 -1
  133. package/dist/orbital/index.js +1 -1
  134. package/dist/particles/index.cjs +16 -16
  135. package/dist/particles/index.d.cts +1 -1
  136. package/dist/particles/index.d.ts +1 -1
  137. package/dist/particles/index.js +1 -1
  138. package/dist/physics/index.cjs +2377 -21
  139. package/dist/physics/index.d.cts +1 -1
  140. package/dist/physics/index.d.ts +1 -1
  141. package/dist/physics/index.js +35 -1
  142. package/dist/postfx/index.cjs +3491 -0
  143. package/dist/postfx/index.js +93 -0
  144. package/dist/procedural/index.cjs +1 -1
  145. package/dist/procedural/index.js +1 -1
  146. package/dist/puppeteer-5VF6KDVO.js +52197 -0
  147. package/dist/puppeteer-IZVZ3SG4.js +52197 -0
  148. package/dist/rendering/index.cjs +33 -32
  149. package/dist/rendering/index.d.cts +1 -1
  150. package/dist/rendering/index.d.ts +1 -1
  151. package/dist/rendering/index.js +8 -6
  152. package/dist/runtime/index.cjs +23 -13
  153. package/dist/runtime/index.d.cts +1 -1
  154. package/dist/runtime/index.d.ts +1 -1
  155. package/dist/runtime/index.js +8 -6
  156. package/dist/runtime/protocols/index.cjs +349 -0
  157. package/dist/runtime/protocols/index.js +15 -0
  158. package/dist/scene/index.cjs +8 -8
  159. package/dist/scene/index.d.cts +1 -1
  160. package/dist/scene/index.d.ts +1 -1
  161. package/dist/scene/index.js +1 -1
  162. package/dist/shader/index.cjs +3087 -0
  163. package/dist/shader/index.js +3044 -0
  164. package/dist/simulation/index.cjs +10680 -0
  165. package/dist/simulation/index.d.cts +3 -0
  166. package/dist/simulation/index.d.ts +3 -0
  167. package/dist/simulation/index.js +307 -0
  168. package/dist/spatial/index.cjs +2443 -0
  169. package/dist/spatial/index.d.cts +1545 -0
  170. package/dist/spatial/index.d.ts +1545 -0
  171. package/dist/spatial/index.js +2400 -0
  172. package/dist/terrain/index.cjs +1 -1
  173. package/dist/terrain/index.d.cts +1 -1
  174. package/dist/terrain/index.d.ts +1 -1
  175. package/dist/terrain/index.js +1 -1
  176. package/dist/transformers.node-4NKAPD5U.js +45620 -0
  177. package/dist/vm/index.cjs +7 -8
  178. package/dist/vm/index.d.cts +1 -1
  179. package/dist/vm/index.d.ts +1 -1
  180. package/dist/vm/index.js +1 -1
  181. package/dist/vm-bridge/index.cjs +2 -2
  182. package/dist/vm-bridge/index.d.cts +2 -2
  183. package/dist/vm-bridge/index.d.ts +2 -2
  184. package/dist/vm-bridge/index.js +1 -1
  185. package/dist/vr/index.cjs +6 -6
  186. package/dist/vr/index.js +1 -1
  187. package/dist/world/index.cjs +3 -3
  188. package/dist/world/index.d.cts +1 -1
  189. package/dist/world/index.d.ts +1 -1
  190. package/dist/world/index.js +1 -1
  191. package/package.json +53 -21
  192. package/LICENSE +0 -21
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Keplerian Orbital Mechanics Calculator
3
+ *
4
+ * Calculates celestial body positions using classical Keplerian orbital elements.
5
+ * Based on the standard orbital mechanics equations used in astronomy.
6
+ */
7
+ interface OrbitalElements {
8
+ /** Semi-major axis in AU (Astronomical Units) */
9
+ semiMajorAxis: number;
10
+ /** Orbital eccentricity (0 = circle, <1 = ellipse) */
11
+ eccentricity: number;
12
+ /** Inclination in degrees */
13
+ inclination: number;
14
+ /** Longitude of ascending node in degrees */
15
+ longitudeAscending: number;
16
+ /** Argument of periapsis in degrees */
17
+ argumentPeriapsis: number;
18
+ /** Mean anomaly at epoch (J2000) in degrees */
19
+ meanAnomalyEpoch: number;
20
+ /** Orbital period in days */
21
+ orbitalPeriod: number;
22
+ /** Parent body name for moons/satellites (optional) */
23
+ parent?: string;
24
+ }
25
+ interface Position3D {
26
+ x: number;
27
+ y: number;
28
+ z: number;
29
+ }
30
+ /**
31
+ * Convert radians to degrees
32
+ */
33
+ declare function toDegrees(radians: number): number;
34
+ /**
35
+ * Calculate position in 3D space from orbital elements at a given time
36
+ *
37
+ * @param elements - Keplerian orbital elements
38
+ * @param julianDate - Julian date (days since J2000 epoch)
39
+ * @returns 3D position in AU (heliocentric or relative to parent)
40
+ */
41
+ declare function calculatePosition(elements: OrbitalElements, julianDate: number): Position3D;
42
+ /**
43
+ * Convert Date to Julian Date (days since J2000.0 epoch)
44
+ * J2000.0 = January 1, 2000, 12:00 TT (Terrestrial Time)
45
+ *
46
+ * @param date - JavaScript Date object
47
+ * @returns Julian date (days since J2000)
48
+ */
49
+ declare function dateToJulian(date: Date): number;
50
+ /**
51
+ * Convert Julian date to JavaScript Date
52
+ *
53
+ * @param julianDate - Days since J2000
54
+ * @returns JavaScript Date object
55
+ */
56
+ declare function julianToDate(julianDate: number): Date;
57
+ /**
58
+ * Generate orbital path points for visualization
59
+ *
60
+ * @param elements - Orbital elements
61
+ * @param numPoints - Number of points to generate (default: 100)
62
+ * @returns Array of 3D positions around the orbit
63
+ */
64
+ declare function generateOrbitalPath(elements: OrbitalElements, numPoints?: number): Position3D[];
65
+
66
+ /**
67
+ * Time Manager for Orbital Simulations
68
+ *
69
+ * Manages simulation time, time scaling, and animation loop for orbital mechanics.
70
+ */
71
+ type TimeUpdateCallback = (julianDate: number, realDate: Date) => void;
72
+ declare class TimeManager {
73
+ private julianDate;
74
+ private timeScale;
75
+ private isPaused;
76
+ private lastUpdateTime;
77
+ private callbacks;
78
+ private intervalId;
79
+ constructor(startDate?: Date);
80
+ /**
81
+ * Start the time simulation loop
82
+ */
83
+ start(): void;
84
+ /**
85
+ * Stop the time simulation loop
86
+ */
87
+ stop(): void;
88
+ /**
89
+ * Update tick
90
+ */
91
+ private update;
92
+ /**
93
+ * Advance simulation time
94
+ *
95
+ * @param deltaMs - Milliseconds elapsed in real time
96
+ */
97
+ advance(deltaMs: number): void;
98
+ /**
99
+ * Pause time progression
100
+ */
101
+ pause(): void;
102
+ /**
103
+ * Resume time progression
104
+ */
105
+ play(): void;
106
+ /**
107
+ * Toggle pause/play
108
+ */
109
+ togglePause(): void;
110
+ /**
111
+ * Set time scale (speed multiplier)
112
+ *
113
+ * @param scale - Time scale (1 = real-time, 10 = 10x speed, etc.)
114
+ */
115
+ setTimeScale(scale: number): void;
116
+ /**
117
+ * Get current time scale
118
+ */
119
+ getTimeScale(): number;
120
+ /**
121
+ * Set simulation date
122
+ *
123
+ * @param date - JavaScript Date object
124
+ */
125
+ setDate(date: Date): void;
126
+ /**
127
+ * Get current simulation date as Julian date
128
+ */
129
+ getJulianDate(): number;
130
+ /**
131
+ * Get current simulation date as JavaScript Date
132
+ */
133
+ getDate(): Date;
134
+ /**
135
+ * Check if time is paused
136
+ */
137
+ getIsPaused(): boolean;
138
+ /**
139
+ * Register a callback for time updates
140
+ *
141
+ * @param callback - Function to call when time updates
142
+ */
143
+ onUpdate(callback: TimeUpdateCallback): void;
144
+ /**
145
+ * Unregister a time update callback
146
+ *
147
+ * @param callback - Callback function to remove
148
+ */
149
+ offUpdate(callback: TimeUpdateCallback): void;
150
+ /**
151
+ * Notify all registered callbacks of time update
152
+ */
153
+ private notifyCallbacks;
154
+ /**
155
+ * Get time state for serialization
156
+ */
157
+ getState(): {
158
+ julianDate: number;
159
+ timeScale: number;
160
+ isPaused: boolean;
161
+ date: string;
162
+ };
163
+ }
164
+
165
+ /**
166
+ * AttentionEngine
167
+ *
168
+ * Implements a heuristic-driven spatial culling and attention
169
+ * scoring system to avoid O(N^2) perception processing.
170
+ */
171
+ interface AttendedEntity {
172
+ id: string;
173
+ position: [number, number, number];
174
+ velocity?: {
175
+ x: number;
176
+ y: number;
177
+ z: number;
178
+ };
179
+ saliencyBase?: number;
180
+ }
181
+ interface AttentionScore {
182
+ entityId: string;
183
+ weight: number;
184
+ }
185
+ declare class AttentionEngine {
186
+ /**
187
+ * Calculates the attention weight of a target entity relative to an observer.
188
+ * Incorporates 4 factors: Proximity, Movement, Base Saliency, and Recency (mocked).
189
+ */
190
+ static calculateWeight(observerPos: {
191
+ x: number;
192
+ y: number;
193
+ z: number;
194
+ }, target: AttendedEntity): number;
195
+ /**
196
+ * Filters a massive array of entities down to strictly the top K most attended
197
+ * objects around the observer to save inference/rendering payload.
198
+ */
199
+ static getTopKEntities(observerPos: {
200
+ x: number;
201
+ y: number;
202
+ z: number;
203
+ }, entities: AttendedEntity[], k: number): string[];
204
+ }
205
+
206
+ type index_AttendedEntity = AttendedEntity;
207
+ type index_AttentionEngine = AttentionEngine;
208
+ declare const index_AttentionEngine: typeof AttentionEngine;
209
+ type index_AttentionScore = AttentionScore;
210
+ type index_OrbitalElements = OrbitalElements;
211
+ type index_Position3D = Position3D;
212
+ type index_TimeManager = TimeManager;
213
+ declare const index_TimeManager: typeof TimeManager;
214
+ type index_TimeUpdateCallback = TimeUpdateCallback;
215
+ declare const index_calculatePosition: typeof calculatePosition;
216
+ declare const index_dateToJulian: typeof dateToJulian;
217
+ declare const index_generateOrbitalPath: typeof generateOrbitalPath;
218
+ declare const index_julianToDate: typeof julianToDate;
219
+ declare const index_toDegrees: typeof toDegrees;
220
+ declare namespace index {
221
+ export { type index_AttendedEntity as AttendedEntity, index_AttentionEngine as AttentionEngine, type index_AttentionScore as AttentionScore, type index_OrbitalElements as OrbitalElements, type index_Position3D as Position3D, index_TimeManager as TimeManager, type index_TimeUpdateCallback as TimeUpdateCallback, index_calculatePosition as calculatePosition, index_dateToJulian as dateToJulian, index_generateOrbitalPath as generateOrbitalPath, index_julianToDate as julianToDate, index_toDegrees as toDegrees };
222
+ }
223
+
224
+ export { type AttendedEntity as A, type OrbitalElements as O, type Position3D as P, TimeManager as T, AttentionEngine as a, type AttentionScore as b, type TimeUpdateCallback as c, calculatePosition as d, dateToJulian as e, generateOrbitalPath as g, index as i, julianToDate as j, toDegrees as t };
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Keplerian Orbital Mechanics Calculator
3
+ *
4
+ * Calculates celestial body positions using classical Keplerian orbital elements.
5
+ * Based on the standard orbital mechanics equations used in astronomy.
6
+ */
7
+ interface OrbitalElements {
8
+ /** Semi-major axis in AU (Astronomical Units) */
9
+ semiMajorAxis: number;
10
+ /** Orbital eccentricity (0 = circle, <1 = ellipse) */
11
+ eccentricity: number;
12
+ /** Inclination in degrees */
13
+ inclination: number;
14
+ /** Longitude of ascending node in degrees */
15
+ longitudeAscending: number;
16
+ /** Argument of periapsis in degrees */
17
+ argumentPeriapsis: number;
18
+ /** Mean anomaly at epoch (J2000) in degrees */
19
+ meanAnomalyEpoch: number;
20
+ /** Orbital period in days */
21
+ orbitalPeriod: number;
22
+ /** Parent body name for moons/satellites (optional) */
23
+ parent?: string;
24
+ }
25
+ interface Position3D {
26
+ x: number;
27
+ y: number;
28
+ z: number;
29
+ }
30
+ /**
31
+ * Convert radians to degrees
32
+ */
33
+ declare function toDegrees(radians: number): number;
34
+ /**
35
+ * Calculate position in 3D space from orbital elements at a given time
36
+ *
37
+ * @param elements - Keplerian orbital elements
38
+ * @param julianDate - Julian date (days since J2000 epoch)
39
+ * @returns 3D position in AU (heliocentric or relative to parent)
40
+ */
41
+ declare function calculatePosition(elements: OrbitalElements, julianDate: number): Position3D;
42
+ /**
43
+ * Convert Date to Julian Date (days since J2000.0 epoch)
44
+ * J2000.0 = January 1, 2000, 12:00 TT (Terrestrial Time)
45
+ *
46
+ * @param date - JavaScript Date object
47
+ * @returns Julian date (days since J2000)
48
+ */
49
+ declare function dateToJulian(date: Date): number;
50
+ /**
51
+ * Convert Julian date to JavaScript Date
52
+ *
53
+ * @param julianDate - Days since J2000
54
+ * @returns JavaScript Date object
55
+ */
56
+ declare function julianToDate(julianDate: number): Date;
57
+ /**
58
+ * Generate orbital path points for visualization
59
+ *
60
+ * @param elements - Orbital elements
61
+ * @param numPoints - Number of points to generate (default: 100)
62
+ * @returns Array of 3D positions around the orbit
63
+ */
64
+ declare function generateOrbitalPath(elements: OrbitalElements, numPoints?: number): Position3D[];
65
+
66
+ /**
67
+ * Time Manager for Orbital Simulations
68
+ *
69
+ * Manages simulation time, time scaling, and animation loop for orbital mechanics.
70
+ */
71
+ type TimeUpdateCallback = (julianDate: number, realDate: Date) => void;
72
+ declare class TimeManager {
73
+ private julianDate;
74
+ private timeScale;
75
+ private isPaused;
76
+ private lastUpdateTime;
77
+ private callbacks;
78
+ private intervalId;
79
+ constructor(startDate?: Date);
80
+ /**
81
+ * Start the time simulation loop
82
+ */
83
+ start(): void;
84
+ /**
85
+ * Stop the time simulation loop
86
+ */
87
+ stop(): void;
88
+ /**
89
+ * Update tick
90
+ */
91
+ private update;
92
+ /**
93
+ * Advance simulation time
94
+ *
95
+ * @param deltaMs - Milliseconds elapsed in real time
96
+ */
97
+ advance(deltaMs: number): void;
98
+ /**
99
+ * Pause time progression
100
+ */
101
+ pause(): void;
102
+ /**
103
+ * Resume time progression
104
+ */
105
+ play(): void;
106
+ /**
107
+ * Toggle pause/play
108
+ */
109
+ togglePause(): void;
110
+ /**
111
+ * Set time scale (speed multiplier)
112
+ *
113
+ * @param scale - Time scale (1 = real-time, 10 = 10x speed, etc.)
114
+ */
115
+ setTimeScale(scale: number): void;
116
+ /**
117
+ * Get current time scale
118
+ */
119
+ getTimeScale(): number;
120
+ /**
121
+ * Set simulation date
122
+ *
123
+ * @param date - JavaScript Date object
124
+ */
125
+ setDate(date: Date): void;
126
+ /**
127
+ * Get current simulation date as Julian date
128
+ */
129
+ getJulianDate(): number;
130
+ /**
131
+ * Get current simulation date as JavaScript Date
132
+ */
133
+ getDate(): Date;
134
+ /**
135
+ * Check if time is paused
136
+ */
137
+ getIsPaused(): boolean;
138
+ /**
139
+ * Register a callback for time updates
140
+ *
141
+ * @param callback - Function to call when time updates
142
+ */
143
+ onUpdate(callback: TimeUpdateCallback): void;
144
+ /**
145
+ * Unregister a time update callback
146
+ *
147
+ * @param callback - Callback function to remove
148
+ */
149
+ offUpdate(callback: TimeUpdateCallback): void;
150
+ /**
151
+ * Notify all registered callbacks of time update
152
+ */
153
+ private notifyCallbacks;
154
+ /**
155
+ * Get time state for serialization
156
+ */
157
+ getState(): {
158
+ julianDate: number;
159
+ timeScale: number;
160
+ isPaused: boolean;
161
+ date: string;
162
+ };
163
+ }
164
+
165
+ /**
166
+ * AttentionEngine
167
+ *
168
+ * Implements a heuristic-driven spatial culling and attention
169
+ * scoring system to avoid O(N^2) perception processing.
170
+ */
171
+ interface AttendedEntity {
172
+ id: string;
173
+ position: [number, number, number];
174
+ velocity?: {
175
+ x: number;
176
+ y: number;
177
+ z: number;
178
+ };
179
+ saliencyBase?: number;
180
+ }
181
+ interface AttentionScore {
182
+ entityId: string;
183
+ weight: number;
184
+ }
185
+ declare class AttentionEngine {
186
+ /**
187
+ * Calculates the attention weight of a target entity relative to an observer.
188
+ * Incorporates 4 factors: Proximity, Movement, Base Saliency, and Recency (mocked).
189
+ */
190
+ static calculateWeight(observerPos: {
191
+ x: number;
192
+ y: number;
193
+ z: number;
194
+ }, target: AttendedEntity): number;
195
+ /**
196
+ * Filters a massive array of entities down to strictly the top K most attended
197
+ * objects around the observer to save inference/rendering payload.
198
+ */
199
+ static getTopKEntities(observerPos: {
200
+ x: number;
201
+ y: number;
202
+ z: number;
203
+ }, entities: AttendedEntity[], k: number): string[];
204
+ }
205
+
206
+ type index_AttendedEntity = AttendedEntity;
207
+ type index_AttentionEngine = AttentionEngine;
208
+ declare const index_AttentionEngine: typeof AttentionEngine;
209
+ type index_AttentionScore = AttentionScore;
210
+ type index_OrbitalElements = OrbitalElements;
211
+ type index_Position3D = Position3D;
212
+ type index_TimeManager = TimeManager;
213
+ declare const index_TimeManager: typeof TimeManager;
214
+ type index_TimeUpdateCallback = TimeUpdateCallback;
215
+ declare const index_calculatePosition: typeof calculatePosition;
216
+ declare const index_dateToJulian: typeof dateToJulian;
217
+ declare const index_generateOrbitalPath: typeof generateOrbitalPath;
218
+ declare const index_julianToDate: typeof julianToDate;
219
+ declare const index_toDegrees: typeof toDegrees;
220
+ declare namespace index {
221
+ export { type index_AttendedEntity as AttendedEntity, index_AttentionEngine as AttentionEngine, type index_AttentionScore as AttentionScore, type index_OrbitalElements as OrbitalElements, type index_Position3D as Position3D, index_TimeManager as TimeManager, type index_TimeUpdateCallback as TimeUpdateCallback, index_calculatePosition as calculatePosition, index_dateToJulian as dateToJulian, index_generateOrbitalPath as generateOrbitalPath, index_julianToDate as julianToDate, index_toDegrees as toDegrees };
222
+ }
223
+
224
+ export { type AttendedEntity as A, type OrbitalElements as O, type Position3D as P, TimeManager as T, AttentionEngine as a, type AttentionScore as b, type TimeUpdateCallback as c, calculatePosition as d, dateToJulian as e, generateOrbitalPath as g, index as i, julianToDate as j, toDegrees as t };