@almadar/ui 2.15.8 → 2.15.10
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/components/atoms/ContentSection.d.ts +16 -0
- package/dist/components/atoms/SectionHeader.d.ts +14 -0
- package/dist/components/atoms/StatCard.d.ts +13 -0
- package/dist/components/atoms/index.d.ts +3 -0
- package/dist/components/atoms/svg/SvgBranch.d.ts +12 -0
- package/dist/components/atoms/svg/SvgConnection.d.ts +13 -0
- package/dist/components/atoms/svg/SvgFlow.d.ts +10 -0
- package/dist/components/atoms/svg/SvgGrid.d.ts +14 -0
- package/dist/components/atoms/svg/SvgLobe.d.ts +13 -0
- package/dist/components/atoms/svg/SvgMesh.d.ts +12 -0
- package/dist/components/atoms/svg/SvgMorph.d.ts +11 -0
- package/dist/components/atoms/svg/SvgNode.d.ts +12 -0
- package/dist/components/atoms/svg/SvgPulse.d.ts +12 -0
- package/dist/components/atoms/svg/SvgRing.d.ts +13 -0
- package/dist/components/atoms/svg/SvgShield.d.ts +11 -0
- package/dist/components/atoms/svg/SvgStack.d.ts +13 -0
- package/dist/components/atoms/svg/index.d.ts +12 -0
- package/dist/{chunk-ACUO2BBW.js → components/index.cjs} +24764 -16677
- package/dist/components/index.js +37757 -889
- package/dist/components/molecules/AnimatedCounter.d.ts +18 -0
- package/dist/components/molecules/ArticleSection.d.ts +18 -0
- package/dist/components/molecules/CTABanner.d.ts +31 -0
- package/dist/components/molecules/CaseStudyCard.d.ts +24 -0
- package/dist/components/molecules/CodeExample.d.ts +23 -0
- package/dist/components/molecules/CommunityLinks.d.ts +25 -0
- package/dist/components/molecules/DocBreadcrumb.d.ts +20 -0
- package/dist/components/molecules/DocCodeBlock.d.ts +13 -0
- package/dist/components/molecules/DocPagination.d.ts +14 -0
- package/dist/components/molecules/DocSearch.d.ts +15 -0
- package/dist/components/molecules/DocSidebar.d.ts +24 -0
- package/dist/components/molecules/DocTOC.d.ts +24 -0
- package/dist/components/molecules/FeatureCard.d.ts +26 -0
- package/dist/components/molecules/FeatureGrid.d.ts +19 -0
- package/dist/components/molecules/GradientDivider.d.ts +14 -0
- package/dist/components/molecules/HeroSection.d.ts +36 -0
- package/dist/components/molecules/InstallBox.d.ts +16 -0
- package/dist/components/molecules/MarketingFooter.d.ts +27 -0
- package/dist/components/molecules/PricingCard.d.ts +21 -0
- package/dist/components/molecules/PricingGrid.d.ts +13 -0
- package/dist/components/molecules/PullQuote.d.ts +14 -0
- package/dist/components/molecules/ServiceCatalog.d.ts +19 -0
- package/dist/components/molecules/ShowcaseCard.d.ts +20 -0
- package/dist/components/molecules/SocialProof.d.ts +25 -0
- package/dist/components/molecules/SplitSection.d.ts +21 -0
- package/dist/components/molecules/StatsGrid.d.ts +17 -0
- package/dist/components/molecules/StepFlow.d.ts +20 -0
- package/dist/components/molecules/TagCloud.d.ts +18 -0
- package/dist/components/molecules/TeamCard.d.ts +18 -0
- package/dist/components/molecules/index.d.ts +19 -0
- package/dist/components/molecules/svg/AIGenerates.d.ts +7 -0
- package/dist/components/molecules/svg/ClosedCircuit.d.ts +7 -0
- package/dist/components/molecules/svg/CommunityOwnership.d.ts +7 -0
- package/dist/components/molecules/svg/CompileAnywhere.d.ts +7 -0
- package/dist/components/molecules/svg/ComposableModels.d.ts +7 -0
- package/dist/components/molecules/svg/DescribeProveDeploy.d.ts +7 -0
- package/dist/components/molecules/svg/DomainGrid.d.ts +7 -0
- package/dist/components/molecules/svg/EventBus.d.ts +7 -0
- package/dist/components/molecules/svg/OrbitalUnit.d.ts +7 -0
- package/dist/components/molecules/svg/PlanVerifyRemember.d.ts +7 -0
- package/dist/components/molecules/svg/ProveCorrect.d.ts +7 -0
- package/dist/components/molecules/svg/ServiceLayers.d.ts +7 -0
- package/dist/components/molecules/svg/SharedReality.d.ts +7 -0
- package/dist/components/molecules/svg/StandardLibrary.d.ts +7 -0
- package/dist/components/molecules/svg/StateMachine.d.ts +7 -0
- package/dist/components/molecules/svg/WorldModel.d.ts +7 -0
- package/dist/components/molecules/svg/index.d.ts +16 -0
- package/dist/components/organisms/CaseStudyOrganism.d.ts +19 -0
- package/dist/components/organisms/FeatureGridOrganism.d.ts +20 -0
- package/dist/components/organisms/HeroOrganism.d.ts +18 -0
- package/dist/components/organisms/PricingOrganism.d.ts +19 -0
- package/dist/components/organisms/ShowcaseOrganism.d.ts +20 -0
- package/dist/components/organisms/StatsOrganism.d.ts +17 -0
- package/dist/components/organisms/StepFlowOrganism.d.ts +20 -0
- package/dist/components/organisms/TeamOrganism.d.ts +18 -0
- package/dist/components/organisms/game/three/index.cjs +2525 -0
- package/dist/components/organisms/game/three/index.js +1795 -50
- package/dist/components/organisms/index.d.ts +9 -0
- package/dist/components/organisms/marketing-types.d.ts +87 -0
- package/dist/components/templates/AboutPageTemplate.d.ts +26 -0
- package/dist/components/templates/FeatureDetailPageTemplate.d.ts +27 -0
- package/dist/components/templates/LandingPageTemplate.d.ts +31 -0
- package/dist/components/templates/PricingPageTemplate.d.ts +26 -0
- package/dist/components/templates/index.d.ts +4 -0
- package/dist/context/index.cjs +550 -0
- package/dist/context/index.js +420 -6
- package/dist/docs/index.cjs +4015 -0
- package/dist/docs/index.d.cts +412 -0
- package/dist/docs/index.d.ts +29 -0
- package/dist/docs/index.js +3977 -0
- package/dist/hooks/index.cjs +2606 -0
- package/dist/hooks/index.js +2535 -8
- package/dist/illustrations/index.cjs +3004 -0
- package/dist/illustrations/index.d.cts +261 -0
- package/dist/illustrations/index.d.ts +35 -0
- package/dist/illustrations/index.js +2971 -0
- package/dist/{chunk-XL7WB2O5.js → lib/index.cjs} +454 -274
- package/dist/lib/index.js +1407 -3
- package/dist/locales/index.cjs +340 -0
- package/dist/locales/index.js +105 -2
- package/dist/marketing/index.cjs +4683 -0
- package/dist/marketing/index.d.cts +831 -0
- package/dist/marketing/index.d.ts +62 -0
- package/dist/marketing/index.js +4626 -0
- package/dist/providers/index.cjs +4811 -0
- package/dist/providers/index.js +4765 -11
- package/dist/{chunk-K2D5D3WK.js → renderer/index.cjs} +101 -42
- package/dist/renderer/index.js +1036 -2
- package/dist/runtime/index.cjs +4400 -0
- package/dist/runtime/index.js +3615 -19
- package/dist/{chunk-N7MVUW4R.js → stores/index.cjs} +24 -1
- package/dist/stores/index.js +194 -2
- package/dist/tsup.config.d.ts +2 -1
- package/package.json +27 -12
- package/tailwind-preset.cjs +9 -0
- package/themes/index.css +22 -20
- package/dist/chunk-3HJHHULT.js +0 -93
- package/dist/chunk-3JGAROCW.js +0 -149
- package/dist/chunk-4N3BAPDB.js +0 -1667
- package/dist/chunk-CDIOHSKG.js +0 -661
- package/dist/chunk-DKQN5FVU.js +0 -279
- package/dist/chunk-JJHCOO34.js +0 -375
- package/dist/chunk-PKBMQBKP.js +0 -5
- package/dist/chunk-QIABKRCN.js +0 -107
- package/dist/chunk-SD3KVCY6.js +0 -1465
- package/dist/chunk-YXZM3WCF.js +0 -222
|
@@ -1,11 +1,104 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var clsx = require('clsx');
|
|
4
|
+
var tailwindMerge = require('tailwind-merge');
|
|
3
5
|
|
|
4
|
-
// lib/cn.ts
|
|
5
6
|
function cn(...inputs) {
|
|
6
|
-
return twMerge(clsx(inputs));
|
|
7
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
7
8
|
}
|
|
8
9
|
|
|
10
|
+
// lib/api-client.ts
|
|
11
|
+
var API_BASE_URL = typeof process !== "undefined" && process.env?.VITE_API_URL ? process.env.VITE_API_URL : "/api";
|
|
12
|
+
var ApiError = class extends Error {
|
|
13
|
+
constructor(status, statusText, message) {
|
|
14
|
+
super(message || `API Error: ${status} ${statusText}`);
|
|
15
|
+
this.status = status;
|
|
16
|
+
this.statusText = statusText;
|
|
17
|
+
this.name = "ApiError";
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
async function handleResponse(response) {
|
|
21
|
+
if (!response.ok) {
|
|
22
|
+
let message;
|
|
23
|
+
try {
|
|
24
|
+
const errorData = await response.json();
|
|
25
|
+
message = errorData.message || errorData.error;
|
|
26
|
+
} catch {
|
|
27
|
+
}
|
|
28
|
+
throw new ApiError(response.status, response.statusText, message);
|
|
29
|
+
}
|
|
30
|
+
const text = await response.text();
|
|
31
|
+
if (!text) {
|
|
32
|
+
return void 0;
|
|
33
|
+
}
|
|
34
|
+
return JSON.parse(text);
|
|
35
|
+
}
|
|
36
|
+
function getHeaders() {
|
|
37
|
+
const headers = {
|
|
38
|
+
"Content-Type": "application/json"
|
|
39
|
+
};
|
|
40
|
+
const token = typeof localStorage !== "undefined" ? localStorage.getItem("authToken") : null;
|
|
41
|
+
if (token) {
|
|
42
|
+
headers["Authorization"] = `Bearer ${token}`;
|
|
43
|
+
}
|
|
44
|
+
return headers;
|
|
45
|
+
}
|
|
46
|
+
var apiClient = {
|
|
47
|
+
/**
|
|
48
|
+
* GET request
|
|
49
|
+
*/
|
|
50
|
+
async get(endpoint) {
|
|
51
|
+
const response = await fetch(`${API_BASE_URL}${endpoint}`, {
|
|
52
|
+
method: "GET",
|
|
53
|
+
headers: getHeaders()
|
|
54
|
+
});
|
|
55
|
+
return handleResponse(response);
|
|
56
|
+
},
|
|
57
|
+
/**
|
|
58
|
+
* POST request
|
|
59
|
+
*/
|
|
60
|
+
async post(endpoint, data) {
|
|
61
|
+
const response = await fetch(`${API_BASE_URL}${endpoint}`, {
|
|
62
|
+
method: "POST",
|
|
63
|
+
headers: getHeaders(),
|
|
64
|
+
body: data ? JSON.stringify(data) : void 0
|
|
65
|
+
});
|
|
66
|
+
return handleResponse(response);
|
|
67
|
+
},
|
|
68
|
+
/**
|
|
69
|
+
* PUT request
|
|
70
|
+
*/
|
|
71
|
+
async put(endpoint, data) {
|
|
72
|
+
const response = await fetch(`${API_BASE_URL}${endpoint}`, {
|
|
73
|
+
method: "PUT",
|
|
74
|
+
headers: getHeaders(),
|
|
75
|
+
body: data ? JSON.stringify(data) : void 0
|
|
76
|
+
});
|
|
77
|
+
return handleResponse(response);
|
|
78
|
+
},
|
|
79
|
+
/**
|
|
80
|
+
* PATCH request
|
|
81
|
+
*/
|
|
82
|
+
async patch(endpoint, data) {
|
|
83
|
+
const response = await fetch(`${API_BASE_URL}${endpoint}`, {
|
|
84
|
+
method: "PATCH",
|
|
85
|
+
headers: getHeaders(),
|
|
86
|
+
body: data ? JSON.stringify(data) : void 0
|
|
87
|
+
});
|
|
88
|
+
return handleResponse(response);
|
|
89
|
+
},
|
|
90
|
+
/**
|
|
91
|
+
* DELETE request
|
|
92
|
+
*/
|
|
93
|
+
async delete(endpoint) {
|
|
94
|
+
const response = await fetch(`${API_BASE_URL}${endpoint}`, {
|
|
95
|
+
method: "DELETE",
|
|
96
|
+
headers: getHeaders()
|
|
97
|
+
});
|
|
98
|
+
return handleResponse(response);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
9
102
|
// lib/debug.ts
|
|
10
103
|
var DEBUG_ENABLED = typeof window !== "undefined" && (localStorage.getItem("debug") === "true" || process.env.NODE_ENV === "development");
|
|
11
104
|
function isDebugEnabled() {
|
|
@@ -75,19 +168,278 @@ function debugGameState(stateName, value) {
|
|
|
75
168
|
}
|
|
76
169
|
}
|
|
77
170
|
|
|
171
|
+
// lib/debugUtils.ts
|
|
172
|
+
var DEBUG_STORAGE_KEY = "orbital-debug";
|
|
173
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
174
|
+
function isDebugEnabled2() {
|
|
175
|
+
if (typeof window === "undefined") return false;
|
|
176
|
+
return localStorage.getItem(DEBUG_STORAGE_KEY) === "true";
|
|
177
|
+
}
|
|
178
|
+
function setDebugEnabled(enabled) {
|
|
179
|
+
if (typeof window === "undefined") return;
|
|
180
|
+
localStorage.setItem(DEBUG_STORAGE_KEY, String(enabled));
|
|
181
|
+
listeners.forEach((listener) => listener(enabled));
|
|
182
|
+
}
|
|
183
|
+
function toggleDebug() {
|
|
184
|
+
const newValue = !isDebugEnabled2();
|
|
185
|
+
setDebugEnabled(newValue);
|
|
186
|
+
return newValue;
|
|
187
|
+
}
|
|
188
|
+
function onDebugToggle(listener) {
|
|
189
|
+
listeners.add(listener);
|
|
190
|
+
return () => listeners.delete(listener);
|
|
191
|
+
}
|
|
192
|
+
function initDebugShortcut() {
|
|
193
|
+
if (typeof window === "undefined") return () => {
|
|
194
|
+
};
|
|
195
|
+
const handleKeyDown = (e) => {
|
|
196
|
+
if (e.ctrlKey && e.shiftKey && e.key === "D") {
|
|
197
|
+
e.preventDefault();
|
|
198
|
+
toggleDebug();
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
202
|
+
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// lib/entityDebug.ts
|
|
206
|
+
var entityProvider = null;
|
|
207
|
+
function setEntityProvider(provider) {
|
|
208
|
+
entityProvider = provider;
|
|
209
|
+
}
|
|
210
|
+
function clearEntityProvider() {
|
|
211
|
+
entityProvider = null;
|
|
212
|
+
}
|
|
213
|
+
function getEntitySnapshot() {
|
|
214
|
+
if (!entityProvider) {
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
const entities = entityProvider();
|
|
218
|
+
return {
|
|
219
|
+
entities,
|
|
220
|
+
timestamp: Date.now(),
|
|
221
|
+
totalCount: entities.length,
|
|
222
|
+
singletons: {},
|
|
223
|
+
runtime: entities.map((e) => ({ id: e.id, type: e.type, data: e.fields })),
|
|
224
|
+
persistent: {}
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
function getEntityById(id) {
|
|
228
|
+
if (!entityProvider) {
|
|
229
|
+
return void 0;
|
|
230
|
+
}
|
|
231
|
+
return entityProvider().find((e) => e.id === id);
|
|
232
|
+
}
|
|
233
|
+
function getEntitiesByType(type) {
|
|
234
|
+
if (!entityProvider) {
|
|
235
|
+
return [];
|
|
236
|
+
}
|
|
237
|
+
return entityProvider().filter((e) => e.type === type);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// lib/debugRegistry.ts
|
|
241
|
+
var events = [];
|
|
242
|
+
var listeners2 = /* @__PURE__ */ new Set();
|
|
243
|
+
var MAX_EVENTS = 500;
|
|
244
|
+
function notifyListeners() {
|
|
245
|
+
listeners2.forEach((listener) => listener());
|
|
246
|
+
}
|
|
247
|
+
function logDebugEvent(type, source, message, data) {
|
|
248
|
+
const event = {
|
|
249
|
+
id: `event-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
|
|
250
|
+
type,
|
|
251
|
+
source,
|
|
252
|
+
message,
|
|
253
|
+
data,
|
|
254
|
+
timestamp: Date.now()
|
|
255
|
+
};
|
|
256
|
+
events.unshift(event);
|
|
257
|
+
if (events.length > MAX_EVENTS) {
|
|
258
|
+
events.pop();
|
|
259
|
+
}
|
|
260
|
+
notifyListeners();
|
|
261
|
+
}
|
|
262
|
+
function logStateChange(source, from, to, event) {
|
|
263
|
+
logDebugEvent("state-change", source, `${from} \u2192 ${to}`, { from, to, event });
|
|
264
|
+
}
|
|
265
|
+
function logEventFired(source, eventName, payload) {
|
|
266
|
+
logDebugEvent("event-fired", source, eventName, { eventName, payload });
|
|
267
|
+
}
|
|
268
|
+
function logEffectExecuted(source, effectType, details) {
|
|
269
|
+
logDebugEvent("effect-executed", source, effectType, { effectType, details });
|
|
270
|
+
}
|
|
271
|
+
function logError(source, message, error) {
|
|
272
|
+
logDebugEvent("error", source, message, { error });
|
|
273
|
+
}
|
|
274
|
+
function logWarning(source, message, data) {
|
|
275
|
+
logDebugEvent("warning", source, message, data);
|
|
276
|
+
}
|
|
277
|
+
function logInfo(source, message, data) {
|
|
278
|
+
logDebugEvent("info", source, message, data);
|
|
279
|
+
}
|
|
280
|
+
function getDebugEvents() {
|
|
281
|
+
return [...events];
|
|
282
|
+
}
|
|
283
|
+
function getRecentEvents(count) {
|
|
284
|
+
return events.slice(0, count);
|
|
285
|
+
}
|
|
286
|
+
function getEventsByType(type) {
|
|
287
|
+
return events.filter((e) => e.type === type);
|
|
288
|
+
}
|
|
289
|
+
function getEventsBySource(source) {
|
|
290
|
+
return events.filter((e) => e.source === source);
|
|
291
|
+
}
|
|
292
|
+
function subscribeToDebugEvents(listener) {
|
|
293
|
+
listeners2.add(listener);
|
|
294
|
+
return () => listeners2.delete(listener);
|
|
295
|
+
}
|
|
296
|
+
function clearDebugEvents() {
|
|
297
|
+
events.length = 0;
|
|
298
|
+
notifyListeners();
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// lib/guardRegistry.ts
|
|
302
|
+
var guardHistory = [];
|
|
303
|
+
var listeners3 = /* @__PURE__ */ new Set();
|
|
304
|
+
var MAX_HISTORY = 100;
|
|
305
|
+
function notifyListeners2() {
|
|
306
|
+
listeners3.forEach((listener) => listener());
|
|
307
|
+
}
|
|
308
|
+
function recordGuardEvaluation(evaluation) {
|
|
309
|
+
const entry = {
|
|
310
|
+
...evaluation,
|
|
311
|
+
id: `guard-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
|
|
312
|
+
timestamp: Date.now()
|
|
313
|
+
};
|
|
314
|
+
guardHistory.unshift(entry);
|
|
315
|
+
if (guardHistory.length > MAX_HISTORY) {
|
|
316
|
+
guardHistory.pop();
|
|
317
|
+
}
|
|
318
|
+
notifyListeners2();
|
|
319
|
+
}
|
|
320
|
+
function getGuardHistory() {
|
|
321
|
+
return [...guardHistory];
|
|
322
|
+
}
|
|
323
|
+
function getRecentGuardEvaluations(count) {
|
|
324
|
+
return guardHistory.slice(0, count);
|
|
325
|
+
}
|
|
326
|
+
function getGuardEvaluationsForTrait(traitName) {
|
|
327
|
+
return guardHistory.filter((g) => g.traitName === traitName);
|
|
328
|
+
}
|
|
329
|
+
function subscribeToGuardChanges(listener) {
|
|
330
|
+
listeners3.add(listener);
|
|
331
|
+
return () => listeners3.delete(listener);
|
|
332
|
+
}
|
|
333
|
+
function clearGuardHistory() {
|
|
334
|
+
guardHistory.length = 0;
|
|
335
|
+
notifyListeners2();
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
// lib/tickRegistry.ts
|
|
339
|
+
var ticks = /* @__PURE__ */ new Map();
|
|
340
|
+
var listeners4 = /* @__PURE__ */ new Set();
|
|
341
|
+
function notifyListeners3() {
|
|
342
|
+
listeners4.forEach((listener) => listener());
|
|
343
|
+
}
|
|
344
|
+
function registerTick(tick) {
|
|
345
|
+
ticks.set(tick.id, tick);
|
|
346
|
+
notifyListeners3();
|
|
347
|
+
}
|
|
348
|
+
function updateTickExecution(id, timestamp) {
|
|
349
|
+
const tick = ticks.get(id);
|
|
350
|
+
if (tick) {
|
|
351
|
+
tick.lastExecuted = timestamp;
|
|
352
|
+
tick.nextExecution = timestamp + tick.interval;
|
|
353
|
+
tick.executionCount++;
|
|
354
|
+
notifyListeners3();
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
function setTickActive(id, isActive) {
|
|
358
|
+
const tick = ticks.get(id);
|
|
359
|
+
if (tick) {
|
|
360
|
+
tick.isActive = isActive;
|
|
361
|
+
notifyListeners3();
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
function unregisterTick(id) {
|
|
365
|
+
ticks.delete(id);
|
|
366
|
+
notifyListeners3();
|
|
367
|
+
}
|
|
368
|
+
function getAllTicks() {
|
|
369
|
+
return Array.from(ticks.values());
|
|
370
|
+
}
|
|
371
|
+
function getTick(id) {
|
|
372
|
+
return ticks.get(id);
|
|
373
|
+
}
|
|
374
|
+
function subscribeToTickChanges(listener) {
|
|
375
|
+
listeners4.add(listener);
|
|
376
|
+
return () => listeners4.delete(listener);
|
|
377
|
+
}
|
|
378
|
+
function clearTicks() {
|
|
379
|
+
ticks.clear();
|
|
380
|
+
notifyListeners3();
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// lib/traitRegistry.ts
|
|
384
|
+
var traits = /* @__PURE__ */ new Map();
|
|
385
|
+
var listeners5 = /* @__PURE__ */ new Set();
|
|
386
|
+
function notifyListeners4() {
|
|
387
|
+
listeners5.forEach((listener) => listener());
|
|
388
|
+
}
|
|
389
|
+
function registerTrait(info) {
|
|
390
|
+
traits.set(info.id, info);
|
|
391
|
+
notifyListeners4();
|
|
392
|
+
}
|
|
393
|
+
function updateTraitState(id, newState) {
|
|
394
|
+
const trait = traits.get(id);
|
|
395
|
+
if (trait) {
|
|
396
|
+
trait.currentState = newState;
|
|
397
|
+
trait.transitionCount++;
|
|
398
|
+
notifyListeners4();
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
function updateGuardResult(traitId, guardName, result) {
|
|
402
|
+
const trait = traits.get(traitId);
|
|
403
|
+
if (trait) {
|
|
404
|
+
const guard = trait.guards.find((g) => g.name === guardName);
|
|
405
|
+
if (guard) {
|
|
406
|
+
guard.lastResult = result;
|
|
407
|
+
notifyListeners4();
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
function unregisterTrait(id) {
|
|
412
|
+
traits.delete(id);
|
|
413
|
+
notifyListeners4();
|
|
414
|
+
}
|
|
415
|
+
function getAllTraits() {
|
|
416
|
+
return Array.from(traits.values());
|
|
417
|
+
}
|
|
418
|
+
function getTrait(id) {
|
|
419
|
+
return traits.get(id);
|
|
420
|
+
}
|
|
421
|
+
function subscribeToTraitChanges(listener) {
|
|
422
|
+
listeners5.add(listener);
|
|
423
|
+
return () => listeners5.delete(listener);
|
|
424
|
+
}
|
|
425
|
+
function clearTraits() {
|
|
426
|
+
traits.clear();
|
|
427
|
+
notifyListeners4();
|
|
428
|
+
}
|
|
429
|
+
|
|
78
430
|
// lib/verificationRegistry.ts
|
|
79
431
|
var checks = /* @__PURE__ */ new Map();
|
|
80
432
|
var transitions = [];
|
|
81
433
|
var bridgeHealth = null;
|
|
82
434
|
var MAX_TRANSITIONS = 500;
|
|
83
|
-
var
|
|
84
|
-
function
|
|
85
|
-
|
|
435
|
+
var listeners6 = /* @__PURE__ */ new Set();
|
|
436
|
+
function notifyListeners5() {
|
|
437
|
+
listeners6.forEach((l) => l());
|
|
86
438
|
exposeOnWindow();
|
|
87
439
|
}
|
|
88
440
|
function registerCheck(id, label, status = "pending", details) {
|
|
89
441
|
checks.set(id, { id, label, status, details, updatedAt: Date.now() });
|
|
90
|
-
|
|
442
|
+
notifyListeners5();
|
|
91
443
|
}
|
|
92
444
|
function updateCheck(id, status, details) {
|
|
93
445
|
const check = checks.get(id);
|
|
@@ -98,7 +450,7 @@ function updateCheck(id, status, details) {
|
|
|
98
450
|
} else {
|
|
99
451
|
checks.set(id, { id, label: id, status, details, updatedAt: Date.now() });
|
|
100
452
|
}
|
|
101
|
-
|
|
453
|
+
notifyListeners5();
|
|
102
454
|
}
|
|
103
455
|
function getAllChecks() {
|
|
104
456
|
return Array.from(checks.values());
|
|
@@ -142,7 +494,7 @@ function recordTransition(trace) {
|
|
|
142
494
|
failedEffects.map((e) => `${e.type}: ${e.error}`).join("; ")
|
|
143
495
|
);
|
|
144
496
|
}
|
|
145
|
-
|
|
497
|
+
notifyListeners5();
|
|
146
498
|
}
|
|
147
499
|
function getTransitions() {
|
|
148
500
|
return [...transitions];
|
|
@@ -163,7 +515,7 @@ function updateBridgeHealth(health) {
|
|
|
163
515
|
health.lastError || "Bridge is not connected"
|
|
164
516
|
);
|
|
165
517
|
}
|
|
166
|
-
|
|
518
|
+
notifyListeners5();
|
|
167
519
|
}
|
|
168
520
|
function getBridgeHealth() {
|
|
169
521
|
return bridgeHealth ? { ...bridgeHealth } : null;
|
|
@@ -187,8 +539,8 @@ function getSnapshot() {
|
|
|
187
539
|
};
|
|
188
540
|
}
|
|
189
541
|
function subscribeToVerification(listener) {
|
|
190
|
-
|
|
191
|
-
return () =>
|
|
542
|
+
listeners6.add(listener);
|
|
543
|
+
return () => listeners6.delete(listener);
|
|
192
544
|
}
|
|
193
545
|
function exposeOnWindow() {
|
|
194
546
|
if (typeof window === "undefined") return;
|
|
@@ -278,7 +630,7 @@ function clearVerification() {
|
|
|
278
630
|
checks.clear();
|
|
279
631
|
transitions.length = 0;
|
|
280
632
|
bridgeHealth = null;
|
|
281
|
-
|
|
633
|
+
notifyListeners5();
|
|
282
634
|
}
|
|
283
635
|
exposeOnWindow();
|
|
284
636
|
|
|
@@ -1054,263 +1406,91 @@ function parseContentSegments(content) {
|
|
|
1054
1406
|
return segments;
|
|
1055
1407
|
}
|
|
1056
1408
|
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
ticks.clear();
|
|
1146
|
-
notifyListeners3();
|
|
1147
|
-
}
|
|
1148
|
-
|
|
1149
|
-
// lib/guardRegistry.ts
|
|
1150
|
-
var guardHistory = [];
|
|
1151
|
-
var listeners4 = /* @__PURE__ */ new Set();
|
|
1152
|
-
var MAX_HISTORY = 100;
|
|
1153
|
-
function notifyListeners4() {
|
|
1154
|
-
listeners4.forEach((listener) => listener());
|
|
1155
|
-
}
|
|
1156
|
-
function recordGuardEvaluation(evaluation) {
|
|
1157
|
-
const entry = {
|
|
1158
|
-
...evaluation,
|
|
1159
|
-
id: `guard-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
|
|
1160
|
-
timestamp: Date.now()
|
|
1161
|
-
};
|
|
1162
|
-
guardHistory.unshift(entry);
|
|
1163
|
-
if (guardHistory.length > MAX_HISTORY) {
|
|
1164
|
-
guardHistory.pop();
|
|
1165
|
-
}
|
|
1166
|
-
notifyListeners4();
|
|
1167
|
-
}
|
|
1168
|
-
function getGuardHistory() {
|
|
1169
|
-
return [...guardHistory];
|
|
1170
|
-
}
|
|
1171
|
-
function getRecentGuardEvaluations(count) {
|
|
1172
|
-
return guardHistory.slice(0, count);
|
|
1173
|
-
}
|
|
1174
|
-
function getGuardEvaluationsForTrait(traitName) {
|
|
1175
|
-
return guardHistory.filter((g) => g.traitName === traitName);
|
|
1176
|
-
}
|
|
1177
|
-
function subscribeToGuardChanges(listener) {
|
|
1178
|
-
listeners4.add(listener);
|
|
1179
|
-
return () => listeners4.delete(listener);
|
|
1180
|
-
}
|
|
1181
|
-
function clearGuardHistory() {
|
|
1182
|
-
guardHistory.length = 0;
|
|
1183
|
-
notifyListeners4();
|
|
1184
|
-
}
|
|
1185
|
-
|
|
1186
|
-
// lib/entityDebug.ts
|
|
1187
|
-
var entityProvider = null;
|
|
1188
|
-
function setEntityProvider(provider) {
|
|
1189
|
-
entityProvider = provider;
|
|
1190
|
-
}
|
|
1191
|
-
function clearEntityProvider() {
|
|
1192
|
-
entityProvider = null;
|
|
1193
|
-
}
|
|
1194
|
-
function getEntitySnapshot() {
|
|
1195
|
-
if (!entityProvider) {
|
|
1196
|
-
return null;
|
|
1197
|
-
}
|
|
1198
|
-
const entities = entityProvider();
|
|
1199
|
-
return {
|
|
1200
|
-
entities,
|
|
1201
|
-
timestamp: Date.now(),
|
|
1202
|
-
totalCount: entities.length,
|
|
1203
|
-
singletons: {},
|
|
1204
|
-
runtime: entities.map((e) => ({ id: e.id, type: e.type, data: e.fields })),
|
|
1205
|
-
persistent: {}
|
|
1206
|
-
};
|
|
1207
|
-
}
|
|
1208
|
-
function getEntityById(id) {
|
|
1209
|
-
if (!entityProvider) {
|
|
1210
|
-
return void 0;
|
|
1211
|
-
}
|
|
1212
|
-
return entityProvider().find((e) => e.id === id);
|
|
1213
|
-
}
|
|
1214
|
-
function getEntitiesByType(type) {
|
|
1215
|
-
if (!entityProvider) {
|
|
1216
|
-
return [];
|
|
1217
|
-
}
|
|
1218
|
-
return entityProvider().filter((e) => e.type === type);
|
|
1219
|
-
}
|
|
1220
|
-
|
|
1221
|
-
// lib/debugRegistry.ts
|
|
1222
|
-
var events = [];
|
|
1223
|
-
var listeners5 = /* @__PURE__ */ new Set();
|
|
1224
|
-
var MAX_EVENTS = 500;
|
|
1225
|
-
function notifyListeners5() {
|
|
1226
|
-
listeners5.forEach((listener) => listener());
|
|
1227
|
-
}
|
|
1228
|
-
function logDebugEvent(type, source, message, data) {
|
|
1229
|
-
const event = {
|
|
1230
|
-
id: `event-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
|
|
1231
|
-
type,
|
|
1232
|
-
source,
|
|
1233
|
-
message,
|
|
1234
|
-
data,
|
|
1235
|
-
timestamp: Date.now()
|
|
1236
|
-
};
|
|
1237
|
-
events.unshift(event);
|
|
1238
|
-
if (events.length > MAX_EVENTS) {
|
|
1239
|
-
events.pop();
|
|
1240
|
-
}
|
|
1241
|
-
notifyListeners5();
|
|
1242
|
-
}
|
|
1243
|
-
function logStateChange(source, from, to, event) {
|
|
1244
|
-
logDebugEvent("state-change", source, `${from} \u2192 ${to}`, { from, to, event });
|
|
1245
|
-
}
|
|
1246
|
-
function logEventFired(source, eventName, payload) {
|
|
1247
|
-
logDebugEvent("event-fired", source, eventName, { eventName, payload });
|
|
1248
|
-
}
|
|
1249
|
-
function logEffectExecuted(source, effectType, details) {
|
|
1250
|
-
logDebugEvent("effect-executed", source, effectType, { effectType, details });
|
|
1251
|
-
}
|
|
1252
|
-
function logError(source, message, error) {
|
|
1253
|
-
logDebugEvent("error", source, message, { error });
|
|
1254
|
-
}
|
|
1255
|
-
function logWarning(source, message, data) {
|
|
1256
|
-
logDebugEvent("warning", source, message, data);
|
|
1257
|
-
}
|
|
1258
|
-
function logInfo(source, message, data) {
|
|
1259
|
-
logDebugEvent("info", source, message, data);
|
|
1260
|
-
}
|
|
1261
|
-
function getDebugEvents() {
|
|
1262
|
-
return [...events];
|
|
1263
|
-
}
|
|
1264
|
-
function getRecentEvents(count) {
|
|
1265
|
-
return events.slice(0, count);
|
|
1266
|
-
}
|
|
1267
|
-
function getEventsByType(type) {
|
|
1268
|
-
return events.filter((e) => e.type === type);
|
|
1269
|
-
}
|
|
1270
|
-
function getEventsBySource(source) {
|
|
1271
|
-
return events.filter((e) => e.source === source);
|
|
1272
|
-
}
|
|
1273
|
-
function subscribeToDebugEvents(listener) {
|
|
1274
|
-
listeners5.add(listener);
|
|
1275
|
-
return () => listeners5.delete(listener);
|
|
1276
|
-
}
|
|
1277
|
-
function clearDebugEvents() {
|
|
1278
|
-
events.length = 0;
|
|
1279
|
-
notifyListeners5();
|
|
1280
|
-
}
|
|
1281
|
-
|
|
1282
|
-
// lib/debugUtils.ts
|
|
1283
|
-
var DEBUG_STORAGE_KEY = "orbital-debug";
|
|
1284
|
-
var listeners6 = /* @__PURE__ */ new Set();
|
|
1285
|
-
function isDebugEnabled2() {
|
|
1286
|
-
if (typeof window === "undefined") return false;
|
|
1287
|
-
return localStorage.getItem(DEBUG_STORAGE_KEY) === "true";
|
|
1288
|
-
}
|
|
1289
|
-
function setDebugEnabled(enabled) {
|
|
1290
|
-
if (typeof window === "undefined") return;
|
|
1291
|
-
localStorage.setItem(DEBUG_STORAGE_KEY, String(enabled));
|
|
1292
|
-
listeners6.forEach((listener) => listener(enabled));
|
|
1293
|
-
}
|
|
1294
|
-
function toggleDebug() {
|
|
1295
|
-
const newValue = !isDebugEnabled2();
|
|
1296
|
-
setDebugEnabled(newValue);
|
|
1297
|
-
return newValue;
|
|
1298
|
-
}
|
|
1299
|
-
function onDebugToggle(listener) {
|
|
1300
|
-
listeners6.add(listener);
|
|
1301
|
-
return () => listeners6.delete(listener);
|
|
1302
|
-
}
|
|
1303
|
-
function initDebugShortcut() {
|
|
1304
|
-
if (typeof window === "undefined") return () => {
|
|
1305
|
-
};
|
|
1306
|
-
const handleKeyDown = (e) => {
|
|
1307
|
-
if (e.ctrlKey && e.shiftKey && e.key === "D") {
|
|
1308
|
-
e.preventDefault();
|
|
1309
|
-
toggleDebug();
|
|
1310
|
-
}
|
|
1311
|
-
};
|
|
1312
|
-
window.addEventListener("keydown", handleKeyDown);
|
|
1313
|
-
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
1314
|
-
}
|
|
1315
|
-
|
|
1316
|
-
export { DEFAULT_CONFIG, bindCanvasCapture, bindEventBus, bindTraitStateGetter, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, clearVerification, cn, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, extractOutputsFromTransitions, extractStateMachine, formatGuard, formatNestedFieldLabel, getAllChecks, getAllTicks, getAllTraits, getBridgeHealth, getDebugEvents, getEffectSummary, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getNestedValue, getRecentEvents, getRecentGuardEvaluations, getSnapshot, getSummary, getTick, getTrait, getTransitions, getTransitionsForTrait, initDebugShortcut, isDebugEnabled, isDebugEnabled2, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, onDebugToggle, parseContentSegments, parseMarkdownWithCodeBlocks, recordGuardEvaluation, recordTransition, registerCheck, registerTick, registerTrait, renderStateMachineToDomData, renderStateMachineToSvg, setDebugEnabled, setEntityProvider, setTickActive, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, subscribeToVerification, toggleDebug, unregisterTick, unregisterTrait, updateAssetStatus, updateBridgeHealth, updateCheck, updateGuardResult, updateTickExecution, updateTraitState, waitForTransition };
|
|
1409
|
+
exports.ApiError = ApiError;
|
|
1410
|
+
exports.DEFAULT_CONFIG = DEFAULT_CONFIG;
|
|
1411
|
+
exports.apiClient = apiClient;
|
|
1412
|
+
exports.bindCanvasCapture = bindCanvasCapture;
|
|
1413
|
+
exports.bindEventBus = bindEventBus;
|
|
1414
|
+
exports.bindTraitStateGetter = bindTraitStateGetter;
|
|
1415
|
+
exports.clearDebugEvents = clearDebugEvents;
|
|
1416
|
+
exports.clearEntityProvider = clearEntityProvider;
|
|
1417
|
+
exports.clearGuardHistory = clearGuardHistory;
|
|
1418
|
+
exports.clearTicks = clearTicks;
|
|
1419
|
+
exports.clearTraits = clearTraits;
|
|
1420
|
+
exports.clearVerification = clearVerification;
|
|
1421
|
+
exports.cn = cn;
|
|
1422
|
+
exports.debug = debug;
|
|
1423
|
+
exports.debugCollision = debugCollision;
|
|
1424
|
+
exports.debugError = debugError;
|
|
1425
|
+
exports.debugGameState = debugGameState;
|
|
1426
|
+
exports.debugGroup = debugGroup;
|
|
1427
|
+
exports.debugGroupEnd = debugGroupEnd;
|
|
1428
|
+
exports.debugInput = debugInput;
|
|
1429
|
+
exports.debugPhysics = debugPhysics;
|
|
1430
|
+
exports.debugTable = debugTable;
|
|
1431
|
+
exports.debugTime = debugTime;
|
|
1432
|
+
exports.debugTimeEnd = debugTimeEnd;
|
|
1433
|
+
exports.debugWarn = debugWarn;
|
|
1434
|
+
exports.extractOutputsFromTransitions = extractOutputsFromTransitions;
|
|
1435
|
+
exports.extractStateMachine = extractStateMachine;
|
|
1436
|
+
exports.formatGuard = formatGuard;
|
|
1437
|
+
exports.formatNestedFieldLabel = formatNestedFieldLabel;
|
|
1438
|
+
exports.getAllChecks = getAllChecks;
|
|
1439
|
+
exports.getAllTicks = getAllTicks;
|
|
1440
|
+
exports.getAllTraits = getAllTraits;
|
|
1441
|
+
exports.getBridgeHealth = getBridgeHealth;
|
|
1442
|
+
exports.getDebugEvents = getDebugEvents;
|
|
1443
|
+
exports.getEffectSummary = getEffectSummary;
|
|
1444
|
+
exports.getEntitiesByType = getEntitiesByType;
|
|
1445
|
+
exports.getEntityById = getEntityById;
|
|
1446
|
+
exports.getEntitySnapshot = getEntitySnapshot;
|
|
1447
|
+
exports.getEventsBySource = getEventsBySource;
|
|
1448
|
+
exports.getEventsByType = getEventsByType;
|
|
1449
|
+
exports.getGuardEvaluationsForTrait = getGuardEvaluationsForTrait;
|
|
1450
|
+
exports.getGuardHistory = getGuardHistory;
|
|
1451
|
+
exports.getNestedValue = getNestedValue;
|
|
1452
|
+
exports.getRecentEvents = getRecentEvents;
|
|
1453
|
+
exports.getRecentGuardEvaluations = getRecentGuardEvaluations;
|
|
1454
|
+
exports.getSnapshot = getSnapshot;
|
|
1455
|
+
exports.getSummary = getSummary;
|
|
1456
|
+
exports.getTick = getTick;
|
|
1457
|
+
exports.getTrait = getTrait;
|
|
1458
|
+
exports.getTransitions = getTransitions;
|
|
1459
|
+
exports.getTransitionsForTrait = getTransitionsForTrait;
|
|
1460
|
+
exports.initDebugShortcut = initDebugShortcut;
|
|
1461
|
+
exports.isDebugEnabled = isDebugEnabled;
|
|
1462
|
+
exports.logDebugEvent = logDebugEvent;
|
|
1463
|
+
exports.logEffectExecuted = logEffectExecuted;
|
|
1464
|
+
exports.logError = logError;
|
|
1465
|
+
exports.logEventFired = logEventFired;
|
|
1466
|
+
exports.logInfo = logInfo;
|
|
1467
|
+
exports.logStateChange = logStateChange;
|
|
1468
|
+
exports.logWarning = logWarning;
|
|
1469
|
+
exports.onDebugToggle = onDebugToggle;
|
|
1470
|
+
exports.parseContentSegments = parseContentSegments;
|
|
1471
|
+
exports.parseMarkdownWithCodeBlocks = parseMarkdownWithCodeBlocks;
|
|
1472
|
+
exports.recordGuardEvaluation = recordGuardEvaluation;
|
|
1473
|
+
exports.recordTransition = recordTransition;
|
|
1474
|
+
exports.registerCheck = registerCheck;
|
|
1475
|
+
exports.registerTick = registerTick;
|
|
1476
|
+
exports.registerTrait = registerTrait;
|
|
1477
|
+
exports.renderStateMachineToDomData = renderStateMachineToDomData;
|
|
1478
|
+
exports.renderStateMachineToSvg = renderStateMachineToSvg;
|
|
1479
|
+
exports.setDebugEnabled = setDebugEnabled;
|
|
1480
|
+
exports.setEntityProvider = setEntityProvider;
|
|
1481
|
+
exports.setTickActive = setTickActive;
|
|
1482
|
+
exports.subscribeToDebugEvents = subscribeToDebugEvents;
|
|
1483
|
+
exports.subscribeToGuardChanges = subscribeToGuardChanges;
|
|
1484
|
+
exports.subscribeToTickChanges = subscribeToTickChanges;
|
|
1485
|
+
exports.subscribeToTraitChanges = subscribeToTraitChanges;
|
|
1486
|
+
exports.subscribeToVerification = subscribeToVerification;
|
|
1487
|
+
exports.toggleDebug = toggleDebug;
|
|
1488
|
+
exports.unregisterTick = unregisterTick;
|
|
1489
|
+
exports.unregisterTrait = unregisterTrait;
|
|
1490
|
+
exports.updateAssetStatus = updateAssetStatus;
|
|
1491
|
+
exports.updateBridgeHealth = updateBridgeHealth;
|
|
1492
|
+
exports.updateCheck = updateCheck;
|
|
1493
|
+
exports.updateGuardResult = updateGuardResult;
|
|
1494
|
+
exports.updateTickExecution = updateTickExecution;
|
|
1495
|
+
exports.updateTraitState = updateTraitState;
|
|
1496
|
+
exports.waitForTransition = waitForTransition;
|