@almadar/ui 2.10.0 → 2.11.1

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.
@@ -1,6 +1,179 @@
1
- export { C as ContentSegment, D as DEFAULT_CONFIG, a as DomEntityBox, b as DomLayoutData, c as DomOutputsBox, d as DomStateNode, e as DomTransitionLabel, f as DomTransitionPath, E as EntityDefinition, R as RenderOptions, S as StateDefinition, g as StateMachineDefinition, T as TransitionDefinition, V as VisualizerConfig, h as cn, i as extractOutputsFromTransitions, j as extractStateMachine, k as formatGuard, l as getEffectSummary, p as parseContentSegments, m as parseMarkdownWithCodeBlocks, r as renderStateMachineToDomData, n as renderStateMachineToSvg } from '../cn-BoBXsxuX.js';
1
+ export { A as AssetLoadStatus, B as BridgeHealth, C as CheckStatus, a as ContentSegment, D as DEFAULT_CONFIG, b as DomEntityBox, c as DomLayoutData, d as DomOutputsBox, e as DomStateNode, f as DomTransitionLabel, g as DomTransitionPath, E as EffectTrace, h as EntityDefinition, i as EventLogEntry, R as RenderOptions, S as StateDefinition, j as StateMachineDefinition, T as TransitionDefinition, k as TransitionTrace, V as VerificationCheck, l as VerificationSnapshot, m as VerificationSummary, n as VisualizerConfig, o as bindCanvasCapture, p as bindEventBus, q as bindTraitStateGetter, r as clearVerification, s as cn, t as extractOutputsFromTransitions, u as extractStateMachine, v as formatGuard, w as getAllChecks, x as getBridgeHealth, y as getEffectSummary, z as getSnapshot, F as getSummary, G as getTransitions, H as getTransitionsForTrait, I as parseContentSegments, J as parseMarkdownWithCodeBlocks, K as recordTransition, L as registerCheck, M as renderStateMachineToDomData, N as renderStateMachineToSvg, O as subscribeToVerification, P as updateAssetStatus, Q as updateBridgeHealth, U as updateCheck, W as waitForTransition } from '../cn-C_ATNPvi.js';
2
2
  import 'clsx';
3
3
 
4
+ /**
5
+ * Trait Registry - Tracks active traits and their state machines for debugging
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ interface TraitTransition {
10
+ from: string;
11
+ to: string;
12
+ event: string;
13
+ guard?: string;
14
+ }
15
+ interface TraitGuard {
16
+ name: string;
17
+ lastResult?: boolean;
18
+ }
19
+ interface TraitDebugInfo {
20
+ id: string;
21
+ name: string;
22
+ currentState: string;
23
+ states: string[];
24
+ transitions: TraitTransition[];
25
+ guards: TraitGuard[];
26
+ transitionCount: number;
27
+ }
28
+ type ChangeListener$3 = () => void;
29
+ declare function registerTrait(info: TraitDebugInfo): void;
30
+ declare function updateTraitState(id: string, newState: string): void;
31
+ declare function updateGuardResult(traitId: string, guardName: string, result: boolean): void;
32
+ declare function unregisterTrait(id: string): void;
33
+ declare function getAllTraits(): TraitDebugInfo[];
34
+ declare function getTrait(id: string): TraitDebugInfo | undefined;
35
+ declare function subscribeToTraitChanges(listener: ChangeListener$3): () => void;
36
+ declare function clearTraits(): void;
37
+
38
+ /**
39
+ * Tick Registry - Tracks scheduled tick executions for debugging
40
+ *
41
+ * @packageDocumentation
42
+ */
43
+ interface TickExecution {
44
+ id: string;
45
+ traitName: string;
46
+ /** Tick name (display name) */
47
+ name: string;
48
+ /** Tick identifier */
49
+ tickName: string;
50
+ interval: number;
51
+ /** Last execution timestamp */
52
+ lastRun: number;
53
+ lastExecuted: number | null;
54
+ nextExecution: number | null;
55
+ /** Number of times this tick has run */
56
+ runCount: number;
57
+ executionCount: number;
58
+ /** Average execution time in ms */
59
+ executionTime: number;
60
+ /** Whether the tick is currently active */
61
+ active: boolean;
62
+ isActive: boolean;
63
+ /** Guard name if this tick has a guard */
64
+ guardName?: string;
65
+ /** Whether the guard passed on last evaluation */
66
+ guardPassed?: boolean;
67
+ }
68
+ type ChangeListener$2 = () => void;
69
+ declare function registerTick(tick: TickExecution): void;
70
+ declare function updateTickExecution(id: string, timestamp: number): void;
71
+ declare function setTickActive(id: string, isActive: boolean): void;
72
+ declare function unregisterTick(id: string): void;
73
+ declare function getAllTicks(): TickExecution[];
74
+ declare function getTick(id: string): TickExecution | undefined;
75
+ declare function subscribeToTickChanges(listener: ChangeListener$2): () => void;
76
+ declare function clearTicks(): void;
77
+
78
+ /**
79
+ * Guard Registry - Tracks guard evaluations for debugging
80
+ *
81
+ * @packageDocumentation
82
+ */
83
+ interface GuardContext {
84
+ traitName?: string;
85
+ type?: "transition" | "tick";
86
+ transitionFrom?: string;
87
+ transitionTo?: string;
88
+ tickName?: string;
89
+ [key: string]: unknown;
90
+ }
91
+ interface GuardEvaluation {
92
+ id: string;
93
+ traitName: string;
94
+ guardName: string;
95
+ expression: string;
96
+ result: boolean;
97
+ context: GuardContext;
98
+ timestamp: number;
99
+ /** Input values used in guard evaluation */
100
+ inputs: Record<string, unknown>;
101
+ }
102
+ type ChangeListener$1 = () => void;
103
+ declare function recordGuardEvaluation(evaluation: Omit<GuardEvaluation, "id" | "timestamp">): void;
104
+ declare function getGuardHistory(): GuardEvaluation[];
105
+ declare function getRecentGuardEvaluations(count: number): GuardEvaluation[];
106
+ declare function getGuardEvaluationsForTrait(traitName: string): GuardEvaluation[];
107
+ declare function subscribeToGuardChanges(listener: ChangeListener$1): () => void;
108
+ declare function clearGuardHistory(): void;
109
+
110
+ /**
111
+ * Entity Debug - Provides entity state snapshots for debugging
112
+ *
113
+ * @packageDocumentation
114
+ */
115
+ interface EntityState {
116
+ id: string;
117
+ type: string;
118
+ fields: Record<string, unknown>;
119
+ lastUpdated: number;
120
+ }
121
+ interface RuntimeEntity {
122
+ id: string;
123
+ type: string;
124
+ data: Record<string, unknown>;
125
+ }
126
+ interface PersistentEntityInfo {
127
+ loaded: boolean;
128
+ count: number;
129
+ }
130
+ interface EntitySnapshot {
131
+ entities: EntityState[];
132
+ timestamp: number;
133
+ totalCount: number;
134
+ /** Singleton entities by name */
135
+ singletons: Record<string, unknown>;
136
+ /** Runtime entities (in-memory) */
137
+ runtime: RuntimeEntity[];
138
+ /** Persistent entities info by type */
139
+ persistent: Record<string, PersistentEntityInfo>;
140
+ }
141
+ type EntityProvider = () => EntityState[];
142
+ declare function setEntityProvider(provider: EntityProvider): void;
143
+ declare function clearEntityProvider(): void;
144
+ declare function getEntitySnapshot(): EntitySnapshot | null;
145
+ declare function getEntityById(id: string): EntityState | undefined;
146
+ declare function getEntitiesByType(type: string): EntityState[];
147
+
148
+ /**
149
+ * Debug Registry - Central event log for debugging
150
+ *
151
+ * @packageDocumentation
152
+ */
153
+ type DebugEventType = 'state-change' | 'event-fired' | 'effect-executed' | 'guard-evaluated' | 'error' | 'warning' | 'info';
154
+ interface DebugEvent {
155
+ id: string;
156
+ type: DebugEventType;
157
+ source: string;
158
+ message: string;
159
+ data?: Record<string, unknown>;
160
+ timestamp: number;
161
+ }
162
+ type ChangeListener = () => void;
163
+ declare function logDebugEvent(type: DebugEventType, source: string, message: string, data?: Record<string, unknown>): void;
164
+ declare function logStateChange(source: string, from: string, to: string, event?: string): void;
165
+ declare function logEventFired(source: string, eventName: string, payload?: unknown): void;
166
+ declare function logEffectExecuted(source: string, effectType: string, details?: unknown): void;
167
+ declare function logError(source: string, message: string, error?: unknown): void;
168
+ declare function logWarning(source: string, message: string, data?: Record<string, unknown>): void;
169
+ declare function logInfo(source: string, message: string, data?: Record<string, unknown>): void;
170
+ declare function getDebugEvents(): DebugEvent[];
171
+ declare function getRecentEvents(count: number): DebugEvent[];
172
+ declare function getEventsByType(type: DebugEventType): DebugEvent[];
173
+ declare function getEventsBySource(source: string): DebugEvent[];
174
+ declare function subscribeToDebugEvents(listener: ChangeListener): () => void;
175
+ declare function clearDebugEvents(): void;
176
+
4
177
  /**
5
178
  * API Client - HTTP client for backend API calls
6
179
  *
@@ -110,317 +283,6 @@ declare function onDebugToggle(listener: DebugToggleListener): () => void;
110
283
  */
111
284
  declare function initDebugShortcut(): () => void;
112
285
 
113
- /**
114
- * Entity Debug - Provides entity state snapshots for debugging
115
- *
116
- * @packageDocumentation
117
- */
118
- interface EntityState {
119
- id: string;
120
- type: string;
121
- fields: Record<string, unknown>;
122
- lastUpdated: number;
123
- }
124
- interface RuntimeEntity {
125
- id: string;
126
- type: string;
127
- data: Record<string, unknown>;
128
- }
129
- interface PersistentEntityInfo {
130
- loaded: boolean;
131
- count: number;
132
- }
133
- interface EntitySnapshot {
134
- entities: EntityState[];
135
- timestamp: number;
136
- totalCount: number;
137
- /** Singleton entities by name */
138
- singletons: Record<string, unknown>;
139
- /** Runtime entities (in-memory) */
140
- runtime: RuntimeEntity[];
141
- /** Persistent entities info by type */
142
- persistent: Record<string, PersistentEntityInfo>;
143
- }
144
- type EntityProvider = () => EntityState[];
145
- declare function setEntityProvider(provider: EntityProvider): void;
146
- declare function clearEntityProvider(): void;
147
- declare function getEntitySnapshot(): EntitySnapshot | null;
148
- declare function getEntityById(id: string): EntityState | undefined;
149
- declare function getEntitiesByType(type: string): EntityState[];
150
-
151
- /**
152
- * Debug Registry - Central event log for debugging
153
- *
154
- * @packageDocumentation
155
- */
156
- type DebugEventType = 'state-change' | 'event-fired' | 'effect-executed' | 'guard-evaluated' | 'error' | 'warning' | 'info';
157
- interface DebugEvent {
158
- id: string;
159
- type: DebugEventType;
160
- source: string;
161
- message: string;
162
- data?: Record<string, unknown>;
163
- timestamp: number;
164
- }
165
- type ChangeListener$4 = () => void;
166
- declare function logDebugEvent(type: DebugEventType, source: string, message: string, data?: Record<string, unknown>): void;
167
- declare function logStateChange(source: string, from: string, to: string, event?: string): void;
168
- declare function logEventFired(source: string, eventName: string, payload?: unknown): void;
169
- declare function logEffectExecuted(source: string, effectType: string, details?: unknown): void;
170
- declare function logError(source: string, message: string, error?: unknown): void;
171
- declare function logWarning(source: string, message: string, data?: Record<string, unknown>): void;
172
- declare function logInfo(source: string, message: string, data?: Record<string, unknown>): void;
173
- declare function getDebugEvents(): DebugEvent[];
174
- declare function getRecentEvents(count: number): DebugEvent[];
175
- declare function getEventsByType(type: DebugEventType): DebugEvent[];
176
- declare function getEventsBySource(source: string): DebugEvent[];
177
- declare function subscribeToDebugEvents(listener: ChangeListener$4): () => void;
178
- declare function clearDebugEvents(): void;
179
-
180
- /**
181
- * Guard Registry - Tracks guard evaluations for debugging
182
- *
183
- * @packageDocumentation
184
- */
185
- interface GuardContext {
186
- traitName?: string;
187
- type?: "transition" | "tick";
188
- transitionFrom?: string;
189
- transitionTo?: string;
190
- tickName?: string;
191
- [key: string]: unknown;
192
- }
193
- interface GuardEvaluation {
194
- id: string;
195
- traitName: string;
196
- guardName: string;
197
- expression: string;
198
- result: boolean;
199
- context: GuardContext;
200
- timestamp: number;
201
- /** Input values used in guard evaluation */
202
- inputs: Record<string, unknown>;
203
- }
204
- type ChangeListener$3 = () => void;
205
- declare function recordGuardEvaluation(evaluation: Omit<GuardEvaluation, "id" | "timestamp">): void;
206
- declare function getGuardHistory(): GuardEvaluation[];
207
- declare function getRecentGuardEvaluations(count: number): GuardEvaluation[];
208
- declare function getGuardEvaluationsForTrait(traitName: string): GuardEvaluation[];
209
- declare function subscribeToGuardChanges(listener: ChangeListener$3): () => void;
210
- declare function clearGuardHistory(): void;
211
-
212
- /**
213
- * Tick Registry - Tracks scheduled tick executions for debugging
214
- *
215
- * @packageDocumentation
216
- */
217
- interface TickExecution {
218
- id: string;
219
- traitName: string;
220
- /** Tick name (display name) */
221
- name: string;
222
- /** Tick identifier */
223
- tickName: string;
224
- interval: number;
225
- /** Last execution timestamp */
226
- lastRun: number;
227
- lastExecuted: number | null;
228
- nextExecution: number | null;
229
- /** Number of times this tick has run */
230
- runCount: number;
231
- executionCount: number;
232
- /** Average execution time in ms */
233
- executionTime: number;
234
- /** Whether the tick is currently active */
235
- active: boolean;
236
- isActive: boolean;
237
- /** Guard name if this tick has a guard */
238
- guardName?: string;
239
- /** Whether the guard passed on last evaluation */
240
- guardPassed?: boolean;
241
- }
242
- type ChangeListener$2 = () => void;
243
- declare function registerTick(tick: TickExecution): void;
244
- declare function updateTickExecution(id: string, timestamp: number): void;
245
- declare function setTickActive(id: string, isActive: boolean): void;
246
- declare function unregisterTick(id: string): void;
247
- declare function getAllTicks(): TickExecution[];
248
- declare function getTick(id: string): TickExecution | undefined;
249
- declare function subscribeToTickChanges(listener: ChangeListener$2): () => void;
250
- declare function clearTicks(): void;
251
-
252
- /**
253
- * Trait Registry - Tracks active traits and their state machines for debugging
254
- *
255
- * @packageDocumentation
256
- */
257
- interface TraitTransition {
258
- from: string;
259
- to: string;
260
- event: string;
261
- guard?: string;
262
- }
263
- interface TraitGuard {
264
- name: string;
265
- lastResult?: boolean;
266
- }
267
- interface TraitDebugInfo {
268
- id: string;
269
- name: string;
270
- currentState: string;
271
- states: string[];
272
- transitions: TraitTransition[];
273
- guards: TraitGuard[];
274
- transitionCount: number;
275
- }
276
- type ChangeListener$1 = () => void;
277
- declare function registerTrait(info: TraitDebugInfo): void;
278
- declare function updateTraitState(id: string, newState: string): void;
279
- declare function updateGuardResult(traitId: string, guardName: string, result: boolean): void;
280
- declare function unregisterTrait(id: string): void;
281
- declare function getAllTraits(): TraitDebugInfo[];
282
- declare function getTrait(id: string): TraitDebugInfo | undefined;
283
- declare function subscribeToTraitChanges(listener: ChangeListener$1): () => void;
284
- declare function clearTraits(): void;
285
-
286
- /**
287
- * Verification Registry - Tracks runtime verification checks and transition traces
288
- *
289
- * Provides:
290
- * 1. A checklist of pass/fail checks (INIT has fetch, bridge connected, etc.)
291
- * 2. A full transition timeline with effect execution results
292
- * 3. ServerBridge health snapshot
293
- * 4. window.__orbitalVerification for Playwright/automation
294
- *
295
- * @packageDocumentation
296
- */
297
- type CheckStatus = "pass" | "fail" | "pending" | "warn";
298
- interface VerificationCheck {
299
- id: string;
300
- label: string;
301
- status: CheckStatus;
302
- details?: string;
303
- /** Timestamp when status last changed */
304
- updatedAt: number;
305
- }
306
- interface EffectTrace {
307
- type: string;
308
- args: unknown[];
309
- status: "executed" | "failed" | "skipped";
310
- error?: string;
311
- durationMs?: number;
312
- }
313
- interface TransitionTrace {
314
- id: string;
315
- traitName: string;
316
- from: string;
317
- to: string;
318
- event: string;
319
- guardExpression?: string;
320
- guardResult?: boolean;
321
- effects: EffectTrace[];
322
- timestamp: number;
323
- }
324
- interface BridgeHealth {
325
- connected: boolean;
326
- eventsForwarded: number;
327
- eventsReceived: number;
328
- lastError?: string;
329
- lastHeartbeat: number;
330
- }
331
- interface VerificationSummary {
332
- totalChecks: number;
333
- passed: number;
334
- failed: number;
335
- warnings: number;
336
- pending: number;
337
- }
338
- interface VerificationSnapshot {
339
- checks: VerificationCheck[];
340
- transitions: TransitionTrace[];
341
- bridge: BridgeHealth | null;
342
- summary: VerificationSummary;
343
- }
344
- type ChangeListener = () => void;
345
- declare function registerCheck(id: string, label: string, status?: CheckStatus, details?: string): void;
346
- declare function updateCheck(id: string, status: CheckStatus, details?: string): void;
347
- declare function getAllChecks(): VerificationCheck[];
348
- declare function recordTransition(trace: Omit<TransitionTrace, "id">): void;
349
- declare function getTransitions(): TransitionTrace[];
350
- declare function getTransitionsForTrait(traitName: string): TransitionTrace[];
351
- declare function updateBridgeHealth(health: BridgeHealth): void;
352
- declare function getBridgeHealth(): BridgeHealth | null;
353
- declare function getSummary(): VerificationSummary;
354
- declare function getSnapshot(): VerificationSnapshot;
355
- declare function subscribeToVerification(listener: ChangeListener): () => void;
356
- /** Asset load status for canvas verification */
357
- type AssetLoadStatus = "loaded" | "failed" | "pending";
358
- /** Event bus log entry for verification */
359
- interface EventLogEntry {
360
- type: string;
361
- payload?: Record<string, unknown>;
362
- timestamp: number;
363
- }
364
- /** Exposed on window for Playwright to query */
365
- interface OrbitalVerificationAPI {
366
- getSnapshot: () => VerificationSnapshot;
367
- getChecks: () => VerificationCheck[];
368
- getTransitions: () => TransitionTrace[];
369
- getBridge: () => BridgeHealth | null;
370
- getSummary: () => VerificationSummary;
371
- /** Wait for a specific event to be processed */
372
- waitForTransition: (event: string, timeoutMs?: number) => Promise<TransitionTrace | null>;
373
- /** Send an event into the runtime (requires eventBus binding) */
374
- sendEvent?: (event: string, payload?: Record<string, unknown>) => void;
375
- /** Get current trait state */
376
- getTraitState?: (traitName: string) => string | undefined;
377
- /** Capture a canvas frame as PNG data URL. Registered by game organisms. */
378
- captureFrame?: () => string | null;
379
- /** Asset load status map. Registered by game organisms. */
380
- assetStatus?: Record<string, AssetLoadStatus>;
381
- /** Event bus log. Records all emit() calls for verification. */
382
- eventLog?: EventLogEntry[];
383
- /** Clear the event log. */
384
- clearEventLog?: () => void;
385
- }
386
- declare global {
387
- interface Window {
388
- __orbitalVerification?: OrbitalVerificationAPI;
389
- }
390
- }
391
- /**
392
- * Wait for a transition matching the given event to appear.
393
- * Returns the trace or null on timeout.
394
- */
395
- declare function waitForTransition(event: string, timeoutMs?: number): Promise<TransitionTrace | null>;
396
- /**
397
- * Bind the EventBus so automation can send events and log emissions.
398
- * Call this during app initialization.
399
- */
400
- declare function bindEventBus(eventBus: {
401
- emit: (type: string, payload?: Record<string, unknown>) => void;
402
- onAny?: (listener: (event: {
403
- type: string;
404
- payload?: Record<string, unknown>;
405
- }) => void) => () => void;
406
- }): void;
407
- /**
408
- * Bind a trait state getter so automation can query current states.
409
- */
410
- declare function bindTraitStateGetter(getter: (traitName: string) => string | undefined): void;
411
- /**
412
- * Register a canvas frame capture function.
413
- * Called by game organisms (IsometricCanvas, PlatformerCanvas, SimulationCanvas)
414
- * so the verifier can snapshot canvas content at checkpoints.
415
- */
416
- declare function bindCanvasCapture(captureFn: () => string | null): void;
417
- /**
418
- * Update asset load status for canvas verification.
419
- * Game organisms call this when images load or fail.
420
- */
421
- declare function updateAssetStatus(url: string, status: AssetLoadStatus): void;
422
- declare function clearVerification(): void;
423
-
424
286
  /**
425
287
  * Get Nested Value Utility
426
288
  *
@@ -455,4 +317,4 @@ declare function getNestedValue(obj: Record<string, unknown> | null | undefined,
455
317
  */
456
318
  declare function formatNestedFieldLabel(path: string): string;
457
319
 
458
- export { ApiError, type AssetLoadStatus, type BridgeHealth, type CheckStatus, type DebugEvent, type DebugEventType, type EffectTrace, type EntitySnapshot, type EntityState, type EventLogEntry, type GuardContext, type GuardEvaluation, type PersistentEntityInfo, type RuntimeEntity, type TickExecution, type TraitDebugInfo, type TraitGuard, type TraitTransition, type TransitionTrace, type VerificationCheck, type VerificationSnapshot, type VerificationSummary, apiClient, bindCanvasCapture, bindEventBus, bindTraitStateGetter, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, clearVerification, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, formatNestedFieldLabel, getAllChecks, getAllTicks, getAllTraits, getBridgeHealth, getDebugEvents, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getNestedValue, getRecentEvents, getRecentGuardEvaluations, getSnapshot, getSummary, getTick, getTrait, getTransitions, getTransitionsForTrait, initDebugShortcut, isDebugEnabled, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, onDebugToggle, recordGuardEvaluation, recordTransition, registerCheck, registerTick, registerTrait, setDebugEnabled, setEntityProvider, setTickActive, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, subscribeToVerification, toggleDebug, unregisterTick, unregisterTrait, updateAssetStatus, updateBridgeHealth, updateCheck, updateGuardResult, updateTickExecution, updateTraitState, waitForTransition };
320
+ export { ApiError, type DebugEvent, type DebugEventType, type EntitySnapshot, type EntityState, type GuardContext, type GuardEvaluation, type PersistentEntityInfo, type RuntimeEntity, type TickExecution, type TraitDebugInfo, type TraitGuard, type TraitTransition, apiClient, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, formatNestedFieldLabel, getAllTicks, getAllTraits, getDebugEvents, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getNestedValue, getRecentEvents, getRecentGuardEvaluations, getTick, getTrait, initDebugShortcut, isDebugEnabled, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, onDebugToggle, recordGuardEvaluation, registerTick, registerTrait, setDebugEnabled, setEntityProvider, setTickActive, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, toggleDebug, unregisterTick, unregisterTrait, updateGuardResult, updateTickExecution, updateTraitState };