@awesome-flow/ecs 0.12.0 → 0.14.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.
Files changed (85) hide show
  1. package/dist/canvas/index.cjs +5 -0
  2. package/dist/canvas/index.d.cts +2 -0
  3. package/dist/canvas/index.d.mts +2 -0
  4. package/dist/canvas/index.mjs +3 -0
  5. package/dist/canvas-WWAJ6C2l.cjs +688 -0
  6. package/dist/canvas-WWAJ6C2l.cjs.map +1 -0
  7. package/dist/canvas-cO2NAQyX.mjs +677 -0
  8. package/dist/canvas-cO2NAQyX.mjs.map +1 -0
  9. package/dist/context/index.cjs +501 -0
  10. package/dist/context/index.cjs.map +1 -0
  11. package/dist/context/index.d.cts +2 -0
  12. package/dist/context/index.d.mts +2 -0
  13. package/dist/context/index.mjs +496 -0
  14. package/dist/context/index.mjs.map +1 -0
  15. package/dist/entity-component-inspector-CNaN8Scf.mjs +79 -0
  16. package/dist/entity-component-inspector-CNaN8Scf.mjs.map +1 -0
  17. package/dist/entity-component-inspector-VlwcaUqy.cjs +90 -0
  18. package/dist/entity-component-inspector-VlwcaUqy.cjs.map +1 -0
  19. package/dist/hooks/index.cjs +19 -0
  20. package/dist/hooks/index.d.cts +2 -0
  21. package/dist/hooks/index.d.mts +2 -0
  22. package/dist/hooks/index.mjs +3 -0
  23. package/dist/id-generator-C2_8g29M.cjs +45 -0
  24. package/dist/id-generator-C2_8g29M.cjs.map +1 -0
  25. package/dist/id-generator-DDsv3NdX.mjs +34 -0
  26. package/dist/id-generator-DDsv3NdX.mjs.map +1 -0
  27. package/dist/index-2l9Vdh2S.d.mts +54 -0
  28. package/dist/index-2l9Vdh2S.d.mts.map +1 -0
  29. package/dist/index-BFqa6aqs.d.mts +99 -0
  30. package/dist/index-BFqa6aqs.d.mts.map +1 -0
  31. package/dist/index-BTs_8SY-.d.cts +20 -0
  32. package/dist/index-BTs_8SY-.d.cts.map +1 -0
  33. package/dist/index-C3QIukqX.d.cts +157 -0
  34. package/dist/index-C3QIukqX.d.cts.map +1 -0
  35. package/dist/index-CPTq4oOA.d.cts +67 -0
  36. package/dist/index-CPTq4oOA.d.cts.map +1 -0
  37. package/dist/index-CyeezgDI.d.mts +20 -0
  38. package/dist/index-CyeezgDI.d.mts.map +1 -0
  39. package/dist/index-D9zIjQH9.d.mts +1 -0
  40. package/dist/index-DLoAMD9J.d.cts +1 -0
  41. package/dist/index-Ht3fVcsn.d.cts +54 -0
  42. package/dist/index-Ht3fVcsn.d.cts.map +1 -0
  43. package/dist/index-edb-X9uc.d.mts +157 -0
  44. package/dist/index-edb-X9uc.d.mts.map +1 -0
  45. package/dist/index-pInK6VDK.d.cts +99 -0
  46. package/dist/index-pInK6VDK.d.cts.map +1 -0
  47. package/dist/index-vf1CSWta.d.mts +67 -0
  48. package/dist/index-vf1CSWta.d.mts.map +1 -0
  49. package/dist/index.cjs +55 -531
  50. package/dist/index.d.cts +9 -106
  51. package/dist/index.d.mts +9 -106
  52. package/dist/index.mjs +10 -520
  53. package/dist/inspectors/index.cjs +6 -0
  54. package/dist/inspectors/index.d.cts +2 -0
  55. package/dist/inspectors/index.d.mts +2 -0
  56. package/dist/inspectors/index.mjs +3 -0
  57. package/dist/node-props-Bryks8-5.d.cts +45 -0
  58. package/dist/node-props-Bryks8-5.d.cts.map +1 -0
  59. package/dist/node-props-Cusf_qtn.d.mts +45 -0
  60. package/dist/node-props-Cusf_qtn.d.mts.map +1 -0
  61. package/dist/node-systems-module-B8aKhvBo.d.mts +22 -0
  62. package/dist/node-systems-module-B8aKhvBo.d.mts.map +1 -0
  63. package/dist/node-systems-module-Dx-hISbg.d.cts +22 -0
  64. package/dist/node-systems-module-Dx-hISbg.d.cts.map +1 -0
  65. package/dist/node-types-CNO_-52M.cjs +1866 -0
  66. package/dist/node-types-CNO_-52M.cjs.map +1 -0
  67. package/dist/node-types-l0GwV0mz.mjs +1651 -0
  68. package/dist/node-types-l0GwV0mz.mjs.map +1 -0
  69. package/dist/nodes/index.cjs +10 -0
  70. package/dist/nodes/index.d.cts +3 -0
  71. package/dist/nodes/index.d.mts +3 -0
  72. package/dist/nodes/index.mjs +3 -0
  73. package/dist/template-tool-nodes-CiwTFU-N.d.cts +35 -0
  74. package/dist/template-tool-nodes-CiwTFU-N.d.cts.map +1 -0
  75. package/dist/template-tool-nodes-DWhekyQg.d.mts +35 -0
  76. package/dist/template-tool-nodes-DWhekyQg.d.mts.map +1 -0
  77. package/dist/templates/index.cjs +11 -0
  78. package/dist/templates/index.d.cts +2 -0
  79. package/dist/templates/index.d.mts +2 -0
  80. package/dist/templates/index.mjs +3 -0
  81. package/package.json +85 -25
  82. package/dist/index.cjs.map +0 -1
  83. package/dist/index.d.cts.map +0 -1
  84. package/dist/index.d.mts.map +0 -1
  85. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,1866 @@
1
+ const require_id_generator = require('./id-generator-C2_8g29M.cjs');
2
+ const require_entity_component_inspector = require('./entity-component-inspector-VlwcaUqy.cjs');
3
+ let react_compiler_runtime = require("react/compiler-runtime");
4
+ let _mantine_core = require("@mantine/core");
5
+ let react = require("react");
6
+ let _awesome_flow_core_layout = require("@awesome-flow/core/layout");
7
+ let _xyflow_react = require("@xyflow/react");
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ let _awesome_flow_core_hooks = require("@awesome-flow/core/hooks");
10
+ let _awesome_ecs_abstract_systems = require("@awesome-ecs/abstract/systems");
11
+
12
+ //#region src/hooks/use-ecs-bridge.ts
13
+ function useEcsBridge() {
14
+ const bridge = (0, react.useContext)(require_id_generator.EcsFlowContext);
15
+ if (!bridge) throw new Error("useEcsBridge must be used inside an EcsCanvasProvider.");
16
+ return bridge;
17
+ }
18
+ function useBridgeStoreVersion(storeName) {
19
+ const store = useEcsBridge().stores[storeName];
20
+ return (0, react.useSyncExternalStore)(store.subscribe, store.getSnapshot, store.getSnapshot);
21
+ }
22
+
23
+ //#endregion
24
+ //#region src/hooks/use-entities-in-scope.ts
25
+ function useEntitiesInScope(scopeId) {
26
+ const $ = (0, react_compiler_runtime.c)(4);
27
+ const bridge = useEcsBridge();
28
+ useBridgeStoreVersion("entities");
29
+ useBridgeStoreVersion("proxies");
30
+ let t0;
31
+ bb0: {
32
+ if (!scopeId) {
33
+ let t1;
34
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
35
+ t1 = [];
36
+ $[0] = t1;
37
+ } else t1 = $[0];
38
+ t0 = t1;
39
+ break bb0;
40
+ }
41
+ let t1;
42
+ if ($[1] !== bridge || $[2] !== scopeId) {
43
+ t1 = bridge.getEntitiesInScope(scopeId);
44
+ $[1] = bridge;
45
+ $[2] = scopeId;
46
+ $[3] = t1;
47
+ } else t1 = $[3];
48
+ t0 = t1;
49
+ }
50
+ return t0;
51
+ }
52
+
53
+ //#endregion
54
+ //#region src/hooks/use-entity.ts
55
+ function useEntity(proxy) {
56
+ const $ = (0, react_compiler_runtime.c)(3);
57
+ const bridge = useEcsBridge();
58
+ useBridgeStoreVersion("entities");
59
+ proxy && require_id_generator.EcsIdGenerator.entityProxy(proxy);
60
+ let t0;
61
+ bb0: {
62
+ if (!proxy || !bridge.entityRepository.has(proxy)) {
63
+ t0 = void 0;
64
+ break bb0;
65
+ }
66
+ let t1;
67
+ if ($[0] !== bridge.entityRepository || $[1] !== proxy) {
68
+ t1 = bridge.entityRepository.getEntity(proxy);
69
+ $[0] = bridge.entityRepository;
70
+ $[1] = proxy;
71
+ $[2] = t1;
72
+ } else t1 = $[2];
73
+ t0 = t1;
74
+ }
75
+ return t0;
76
+ }
77
+
78
+ //#endregion
79
+ //#region src/hooks/use-entity-list.ts
80
+ function useEntityList(type) {
81
+ const $ = (0, react_compiler_runtime.c)(5);
82
+ const bridge = useEcsBridge();
83
+ useBridgeStoreVersion("entities");
84
+ let t0;
85
+ bb0: {
86
+ if (type !== void 0) {
87
+ let t1;
88
+ if ($[0] !== bridge.entityRepository || $[1] !== type) {
89
+ t1 = bridge.entityRepository.getEntities(type);
90
+ $[0] = bridge.entityRepository;
91
+ $[1] = type;
92
+ $[2] = t1;
93
+ } else t1 = $[2];
94
+ t0 = t1;
95
+ break bb0;
96
+ }
97
+ let t1;
98
+ if ($[3] !== bridge.entityRepository) {
99
+ t1 = Array.from(bridge.entityRepository.listAll());
100
+ $[3] = bridge.entityRepository;
101
+ $[4] = t1;
102
+ } else t1 = $[4];
103
+ t0 = t1;
104
+ }
105
+ return t0;
106
+ }
107
+
108
+ //#endregion
109
+ //#region src/hooks/use-entity-type-descriptors.ts
110
+ function useEntityTypeDescriptors() {
111
+ const $ = (0, react_compiler_runtime.c)(2);
112
+ const bridge = useEcsBridge();
113
+ useBridgeStoreVersion("entityTypes");
114
+ let t0;
115
+ if ($[0] !== bridge) {
116
+ t0 = bridge.getEntityTypeDescriptors();
117
+ $[0] = bridge;
118
+ $[1] = t0;
119
+ } else t0 = $[1];
120
+ return t0;
121
+ }
122
+
123
+ //#endregion
124
+ //#region src/abstract/handle-types.ts
125
+ let EcsHandleDataType = /* @__PURE__ */ function(EcsHandleDataType) {
126
+ EcsHandleDataType["proxy"] = "proxy";
127
+ EcsHandleDataType["module"] = "module";
128
+ return EcsHandleDataType;
129
+ }({});
130
+
131
+ //#endregion
132
+ //#region src/abstract/templates.ts
133
+ let EcsTemplateGroup = /* @__PURE__ */ function(EcsTemplateGroup) {
134
+ EcsTemplateGroup["ecs"] = "ECS";
135
+ EcsTemplateGroup["entities"] = "ECS Entities";
136
+ EcsTemplateGroup["tools"] = "ECS Tools";
137
+ return EcsTemplateGroup;
138
+ }({});
139
+
140
+ //#endregion
141
+ //#region src/templates/template-entity-node.ts
142
+ const entityNodeHandles = [{
143
+ dataType: "proxy",
144
+ position: _xyflow_react.Position.Left,
145
+ connection: "target",
146
+ disabled: true
147
+ }, {
148
+ dataType: "proxy",
149
+ position: _xyflow_react.Position.Right,
150
+ connection: "source",
151
+ disabled: true
152
+ }];
153
+ function createEntityTypeTemplate(descriptor) {
154
+ const id = descriptor.id ?? require_id_generator.EcsIdGenerator.entityType(descriptor.entityType);
155
+ return {
156
+ id: require_id_generator.EcsIdGenerator.entityTypeTemplate(descriptor.entityType, id),
157
+ type: "entity-node",
158
+ group: descriptor.group ?? "ECS Entities",
159
+ data: {
160
+ title: descriptor.title ?? descriptor.entityType.toString(),
161
+ entityType: descriptor.entityType,
162
+ spawn: {
163
+ descriptorId: id,
164
+ entityType: descriptor.entityType,
165
+ scopeId: descriptor.scopeId
166
+ }
167
+ },
168
+ handles: entityNodeHandles
169
+ };
170
+ }
171
+ var EntityNodeTemplate = class {
172
+ template = {
173
+ type: "entity-node",
174
+ group: "ECS",
175
+ data: { title: "Entity" },
176
+ handles: entityNodeHandles
177
+ };
178
+ };
179
+
180
+ //#endregion
181
+ //#region src/hooks/use-entity-type-templates.ts
182
+ function useEntityTypeTemplates(t0) {
183
+ const $ = (0, react_compiler_runtime.c)(3);
184
+ const enabled = t0 === void 0 ? true : t0;
185
+ const descriptors = useEntityTypeDescriptors();
186
+ let t1;
187
+ bb0: {
188
+ if (!enabled) {
189
+ let t2;
190
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
191
+ t2 = [];
192
+ $[0] = t2;
193
+ } else t2 = $[0];
194
+ t1 = t2;
195
+ break bb0;
196
+ }
197
+ let t2;
198
+ if ($[1] !== descriptors) {
199
+ t2 = descriptors.map(createEntityTypeTemplate);
200
+ $[1] = descriptors;
201
+ $[2] = t2;
202
+ } else t2 = $[2];
203
+ t1 = t2;
204
+ }
205
+ return t1;
206
+ }
207
+
208
+ //#endregion
209
+ //#region src/hooks/use-entity-updates.ts
210
+ function useEntityUpdates(target) {
211
+ const $ = (0, react_compiler_runtime.c)(3);
212
+ const bridge = useEcsBridge();
213
+ useBridgeStoreVersion("updates");
214
+ let t0;
215
+ if ($[0] !== bridge || $[1] !== target) {
216
+ t0 = bridge.getEntityUpdateCounts(target);
217
+ $[0] = bridge;
218
+ $[1] = target;
219
+ $[2] = t0;
220
+ } else t0 = $[2];
221
+ return t0;
222
+ }
223
+
224
+ //#endregion
225
+ //#region src/hooks/use-event-stream.ts
226
+ function useEventStream(filter) {
227
+ const $ = (0, react_compiler_runtime.c)(3);
228
+ const bridge = useEcsBridge();
229
+ useBridgeStoreVersion("events");
230
+ let t0;
231
+ if ($[0] !== bridge || $[1] !== filter) {
232
+ t0 = bridge.getEventStream(filter);
233
+ $[0] = bridge;
234
+ $[1] = filter;
235
+ $[2] = t0;
236
+ } else t0 = $[2];
237
+ return t0;
238
+ }
239
+
240
+ //#endregion
241
+ //#region src/hooks/use-pipeline-metrics.ts
242
+ function usePipelineMetrics(entityType, phase) {
243
+ const $ = (0, react_compiler_runtime.c)(4);
244
+ const bridge = useEcsBridge();
245
+ useBridgeStoreVersion("metrics");
246
+ let t0;
247
+ if ($[0] !== bridge || $[1] !== entityType || $[2] !== phase) {
248
+ t0 = bridge.getPipelineMetrics(entityType, phase);
249
+ $[0] = bridge;
250
+ $[1] = entityType;
251
+ $[2] = phase;
252
+ $[3] = t0;
253
+ } else t0 = $[3];
254
+ return t0;
255
+ }
256
+ function useMiddlewareMetrics(filter) {
257
+ const $ = (0, react_compiler_runtime.c)(3);
258
+ const bridge = useEcsBridge();
259
+ useBridgeStoreVersion("metrics");
260
+ let t0;
261
+ if ($[0] !== bridge || $[1] !== filter) {
262
+ t0 = bridge.getMiddlewareMetrics(filter);
263
+ $[0] = bridge;
264
+ $[1] = filter;
265
+ $[2] = t0;
266
+ } else t0 = $[2];
267
+ return t0;
268
+ }
269
+
270
+ //#endregion
271
+ //#region src/hooks/use-scheduler.ts
272
+ function useScheduler() {
273
+ const $ = (0, react_compiler_runtime.c)(2);
274
+ const bridge = useEcsBridge();
275
+ useBridgeStoreVersion("scheduler");
276
+ let t0;
277
+ if ($[0] !== bridge) {
278
+ t0 = bridge.getSchedulerSnapshot();
279
+ $[0] = bridge;
280
+ $[1] = t0;
281
+ } else t0 = $[1];
282
+ return t0;
283
+ }
284
+
285
+ //#endregion
286
+ //#region src/hooks/use-scope-list.ts
287
+ function useScopeList() {
288
+ const $ = (0, react_compiler_runtime.c)(2);
289
+ const bridge = useEcsBridge();
290
+ useBridgeStoreVersion("entities");
291
+ useBridgeStoreVersion("scopes");
292
+ let t0;
293
+ if ($[0] !== bridge) {
294
+ t0 = bridge.getScopes();
295
+ $[0] = bridge;
296
+ $[1] = t0;
297
+ } else t0 = $[1];
298
+ return t0;
299
+ }
300
+
301
+ //#endregion
302
+ //#region src/hooks/use-systems-module.ts
303
+ function useSystemsModule(type) {
304
+ const $ = (0, react_compiler_runtime.c)(3);
305
+ const bridge = useEcsBridge();
306
+ useBridgeStoreVersion("modules");
307
+ let t0;
308
+ bb0: {
309
+ if (type === void 0) {
310
+ t0 = void 0;
311
+ break bb0;
312
+ }
313
+ let t1;
314
+ if ($[0] !== bridge.systemsModuleRepository || $[1] !== type) {
315
+ t1 = bridge.systemsModuleRepository.get(type);
316
+ $[0] = bridge.systemsModuleRepository;
317
+ $[1] = type;
318
+ $[2] = t1;
319
+ } else t1 = $[2];
320
+ t0 = t1;
321
+ }
322
+ return t0;
323
+ }
324
+ function useSystemsModuleList() {
325
+ const $ = (0, react_compiler_runtime.c)(2);
326
+ const bridge = useEcsBridge();
327
+ useBridgeStoreVersion("modules");
328
+ let t0;
329
+ if ($[0] !== bridge) {
330
+ t0 = bridge.listSystemsModules();
331
+ $[0] = bridge;
332
+ $[1] = t0;
333
+ } else t0 = $[1];
334
+ return t0;
335
+ }
336
+
337
+ //#endregion
338
+ //#region src/hooks/use-update-queue.ts
339
+ function useUpdateQueue(limit) {
340
+ const $ = (0, react_compiler_runtime.c)(3);
341
+ const bridge = useEcsBridge();
342
+ useBridgeStoreVersion("queue");
343
+ let t0;
344
+ if ($[0] !== bridge || $[1] !== limit) {
345
+ t0 = bridge.getUpdateQueueSnapshot(limit);
346
+ $[0] = bridge;
347
+ $[1] = limit;
348
+ $[2] = t0;
349
+ } else t0 = $[2];
350
+ return t0;
351
+ }
352
+
353
+ //#endregion
354
+ //#region src/nodes/node-event-timeline.tsx
355
+ function EventTimelineNode(t0) {
356
+ const $ = (0, react_compiler_runtime.c)(18);
357
+ const { id, data, selected, type } = t0;
358
+ const t1 = data.limit ?? 10;
359
+ let t2;
360
+ if ($[0] !== t1) {
361
+ t2 = { limit: t1 };
362
+ $[0] = t1;
363
+ $[1] = t2;
364
+ } else t2 = $[1];
365
+ const events = useEventStream(t2);
366
+ let t3;
367
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
368
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
369
+ fullWidth: true,
370
+ color: "grape",
371
+ variant: "transparent",
372
+ children: "Event Timeline"
373
+ });
374
+ $[2] = t3;
375
+ } else t3 = $[2];
376
+ let t4;
377
+ let t5;
378
+ if ($[3] !== events.length) {
379
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Badge, {
380
+ variant: "light",
381
+ children: ["events ", events.length]
382
+ });
383
+ t5 = events.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
384
+ size: "xs",
385
+ c: "dimmed",
386
+ children: "No events recorded."
387
+ });
388
+ $[3] = events.length;
389
+ $[4] = t4;
390
+ $[5] = t5;
391
+ } else {
392
+ t4 = $[4];
393
+ t5 = $[5];
394
+ }
395
+ let t6;
396
+ if ($[6] !== events) {
397
+ t6 = events.map(_temp$5);
398
+ $[6] = events;
399
+ $[7] = t6;
400
+ } else t6 = $[7];
401
+ let t7;
402
+ if ($[8] !== t4 || $[9] !== t5 || $[10] !== t6) {
403
+ t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Stack, {
404
+ gap: "xs",
405
+ children: [
406
+ t4,
407
+ t5,
408
+ t6
409
+ ]
410
+ });
411
+ $[8] = t4;
412
+ $[9] = t5;
413
+ $[10] = t6;
414
+ $[11] = t7;
415
+ } else t7 = $[11];
416
+ let t8;
417
+ if ($[12] !== data || $[13] !== id || $[14] !== selected || $[15] !== t7 || $[16] !== type) {
418
+ t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_awesome_flow_core_layout.NodeContainer, {
419
+ id,
420
+ selected,
421
+ data,
422
+ title: t3,
423
+ type,
424
+ children: t7
425
+ });
426
+ $[12] = data;
427
+ $[13] = id;
428
+ $[14] = selected;
429
+ $[15] = t7;
430
+ $[16] = type;
431
+ $[17] = t8;
432
+ } else t8 = $[17];
433
+ return t8;
434
+ }
435
+ function _temp$5(entry) {
436
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Stack, {
437
+ gap: 2,
438
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
439
+ gap: "xs",
440
+ wrap: "nowrap",
441
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
442
+ size: "xs",
443
+ variant: "outline",
444
+ children: entry.event.data.uid
445
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
446
+ size: "xs",
447
+ c: "dimmed",
448
+ children: new Date(entry.recordedAt).toLocaleTimeString()
449
+ })]
450
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Text, {
451
+ size: "xs",
452
+ truncate: true,
453
+ children: [
454
+ require_id_generator.EcsIdGenerator.entityProxy(entry.event.origin),
455
+ " -> ",
456
+ entry.event.target ? require_id_generator.EcsIdGenerator.entityProxy(entry.event.target) : `${entry.targets.length} target(s)`
457
+ ]
458
+ })]
459
+ }, `${entry.recordedAt}:${entry.event.data.uid}`);
460
+ }
461
+ var node_event_timeline_default = (0, react.memo)(EventTimelineNode);
462
+
463
+ //#endregion
464
+ //#region src/components/formatter-camel-case.tsx
465
+ function CamelCaseFormatter(props) {
466
+ const $ = (0, react_compiler_runtime.c)(2);
467
+ let t0;
468
+ if ($[0] !== props.value) {
469
+ t0 = props.value?.toString().replace(/([a-z])([A-Z])/g, "$1 $2");
470
+ $[0] = props.value;
471
+ $[1] = t0;
472
+ } else t0 = $[1];
473
+ return t0;
474
+ }
475
+ var formatter_camel_case_default = (0, react.memo)(CamelCaseFormatter);
476
+
477
+ //#endregion
478
+ //#region src/components/entity-component-list.tsx
479
+ function EntityComponentList(props) {
480
+ const $ = (0, react_compiler_runtime.c)(20);
481
+ let T0;
482
+ let T1;
483
+ let T2;
484
+ let t0;
485
+ let t1;
486
+ let t2;
487
+ let t3;
488
+ if ($[0] !== props.entity) {
489
+ const components = listComponents(props.entity);
490
+ T2 = _mantine_core.Accordion.Item;
491
+ t1 = "components";
492
+ t2 = "components";
493
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Accordion.Control, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
494
+ fullWidth: true,
495
+ variant: "light",
496
+ rightSection: components.length,
497
+ children: "Components"
498
+ }) });
499
+ T1 = _mantine_core.Accordion.Panel;
500
+ T0 = _mantine_core.Stack;
501
+ t0 = components.map(_temp$4);
502
+ $[0] = props.entity;
503
+ $[1] = T0;
504
+ $[2] = T1;
505
+ $[3] = T2;
506
+ $[4] = t0;
507
+ $[5] = t1;
508
+ $[6] = t2;
509
+ $[7] = t3;
510
+ } else {
511
+ T0 = $[1];
512
+ T1 = $[2];
513
+ T2 = $[3];
514
+ t0 = $[4];
515
+ t1 = $[5];
516
+ t2 = $[6];
517
+ t3 = $[7];
518
+ }
519
+ let t4;
520
+ if ($[8] !== T0 || $[9] !== t0) {
521
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T0, { children: t0 });
522
+ $[8] = T0;
523
+ $[9] = t0;
524
+ $[10] = t4;
525
+ } else t4 = $[10];
526
+ let t5;
527
+ if ($[11] !== T1 || $[12] !== t4) {
528
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T1, { children: t4 });
529
+ $[11] = T1;
530
+ $[12] = t4;
531
+ $[13] = t5;
532
+ } else t5 = $[13];
533
+ let t6;
534
+ if ($[14] !== T2 || $[15] !== t1 || $[16] !== t2 || $[17] !== t3 || $[18] !== t5) {
535
+ t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(T2, {
536
+ value: t2,
537
+ children: [t3, t5]
538
+ }, t1);
539
+ $[14] = T2;
540
+ $[15] = t1;
541
+ $[16] = t2;
542
+ $[17] = t3;
543
+ $[18] = t5;
544
+ $[19] = t6;
545
+ } else t6 = $[19];
546
+ return t6;
547
+ }
548
+ function _temp$4(c, i) {
549
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_entity_component_inspector.entity_component_inspector_default, { component: c }, i);
550
+ }
551
+ function listComponents(entity) {
552
+ const components = [];
553
+ for (const [field, value] of Object.entries(entity)) {
554
+ if (field === "identity") continue;
555
+ if (isComponent(value)) components.push(value);
556
+ }
557
+ return components;
558
+ }
559
+ function isComponent(value) {
560
+ return typeof value === "object" && value !== null && "componentType" in value && "isSerializable" in value;
561
+ }
562
+ var entity_component_list_default = (0, react.memo)(EntityComponentList);
563
+
564
+ //#endregion
565
+ //#region src/components/badge-list.tsx
566
+ function BadgeList(props) {
567
+ return props.items.map((value, i) => {
568
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
569
+ ...props.badge || [],
570
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(formatter_camel_case_default, { value })
571
+ }, i);
572
+ });
573
+ }
574
+ var badge_list_default = (0, react.memo)(BadgeList);
575
+
576
+ //#endregion
577
+ //#region src/components/entity-proxy-list.tsx
578
+ function EntityProxyList(props) {
579
+ const $ = (0, react_compiler_runtime.c)(11);
580
+ const bridge = useEcsBridge();
581
+ useBridgeStoreVersion("proxies");
582
+ let t0;
583
+ if ($[0] !== bridge.entityProxyRepository || $[1] !== props.entity.identity.proxy) {
584
+ t0 = Array.from(bridge.entityProxyRepository.getAllProxies(props.entity.identity.proxy).values()).flat().map(_temp$3);
585
+ $[0] = bridge.entityProxyRepository;
586
+ $[1] = props.entity.identity.proxy;
587
+ $[2] = t0;
588
+ } else t0 = $[2];
589
+ const items = t0;
590
+ let t1;
591
+ if ($[3] !== items.length) {
592
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Accordion.Control, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
593
+ fullWidth: true,
594
+ variant: "light",
595
+ rightSection: items.length,
596
+ children: "Proxies"
597
+ }) });
598
+ $[3] = items.length;
599
+ $[4] = t1;
600
+ } else t1 = $[4];
601
+ let t2;
602
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
603
+ t2 = { variant: "outline" };
604
+ $[5] = t2;
605
+ } else t2 = $[5];
606
+ let t3;
607
+ if ($[6] !== items) {
608
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Accordion.Panel, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Stack, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(badge_list_default, {
609
+ items,
610
+ badge: t2
611
+ }) }) });
612
+ $[6] = items;
613
+ $[7] = t3;
614
+ } else t3 = $[7];
615
+ let t4;
616
+ if ($[8] !== t1 || $[9] !== t3) {
617
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Accordion.Item, {
618
+ value: "proxies",
619
+ children: [t1, t3]
620
+ }, "proxies");
621
+ $[8] = t1;
622
+ $[9] = t3;
623
+ $[10] = t4;
624
+ } else t4 = $[10];
625
+ return t4;
626
+ }
627
+ function _temp$3(p) {
628
+ return require_id_generator.EcsIdGenerator.entityProxy(p);
629
+ }
630
+ var entity_proxy_list_default = (0, react.memo)(EntityProxyList);
631
+
632
+ //#endregion
633
+ //#region src/components/entity-subscription-list.tsx
634
+ function EntitySubscriptionList(props) {
635
+ const $ = (0, react_compiler_runtime.c)(11);
636
+ const bridge = useEcsBridge();
637
+ useBridgeStoreVersion("subscriptions");
638
+ let t0;
639
+ if ($[0] !== bridge.entityEventsManager || $[1] !== props.entity.identity.proxy) {
640
+ t0 = bridge.entityEventsManager.getSubscriptionsForEntity(props.entity.identity.proxy);
641
+ $[0] = bridge.entityEventsManager;
642
+ $[1] = props.entity.identity.proxy;
643
+ $[2] = t0;
644
+ } else t0 = $[2];
645
+ const subscriptions = t0;
646
+ let t1;
647
+ if ($[3] !== subscriptions.length) {
648
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Accordion.Control, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
649
+ fullWidth: true,
650
+ variant: "light",
651
+ rightSection: subscriptions.length,
652
+ children: "Events"
653
+ }) });
654
+ $[3] = subscriptions.length;
655
+ $[4] = t1;
656
+ } else t1 = $[4];
657
+ let t2;
658
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
659
+ t2 = { variant: "outline" };
660
+ $[5] = t2;
661
+ } else t2 = $[5];
662
+ let t3;
663
+ if ($[6] !== subscriptions) {
664
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Accordion.Panel, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Stack, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(badge_list_default, {
665
+ items: subscriptions,
666
+ badge: t2
667
+ }) }) });
668
+ $[6] = subscriptions;
669
+ $[7] = t3;
670
+ } else t3 = $[7];
671
+ let t4;
672
+ if ($[8] !== t1 || $[9] !== t3) {
673
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Accordion.Item, {
674
+ value: "subscriptions",
675
+ children: [t1, t3]
676
+ }, "subscriptions");
677
+ $[8] = t1;
678
+ $[9] = t3;
679
+ $[10] = t4;
680
+ } else t4 = $[10];
681
+ return t4;
682
+ }
683
+ var entity_subscription_list_default = (0, react.memo)(EntitySubscriptionList);
684
+
685
+ //#endregion
686
+ //#region src/components/entity-update-counter.tsx
687
+ function EntityUpdateCounter(props) {
688
+ const $ = (0, react_compiler_runtime.c)(7);
689
+ const { updates, removes } = useEntityUpdates(props.entityUid);
690
+ let t0;
691
+ if ($[0] !== updates) {
692
+ t0 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
693
+ variant: "light",
694
+ children: updates
695
+ });
696
+ $[0] = updates;
697
+ $[1] = t0;
698
+ } else t0 = $[1];
699
+ let t1;
700
+ if ($[2] !== removes) {
701
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
702
+ variant: "light",
703
+ color: "orange",
704
+ children: removes
705
+ });
706
+ $[2] = removes;
707
+ $[3] = t1;
708
+ } else t1 = $[3];
709
+ let t2;
710
+ if ($[4] !== t0 || $[5] !== t1) {
711
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [t0, t1] });
712
+ $[4] = t0;
713
+ $[5] = t1;
714
+ $[6] = t2;
715
+ } else t2 = $[6];
716
+ return t2;
717
+ }
718
+ var entity_update_counter_default = (0, react.memo)(EntityUpdateCounter);
719
+
720
+ //#endregion
721
+ //#region src/layout/entity-layout.tsx
722
+ function EntityLayout(t0) {
723
+ const $ = (0, react_compiler_runtime.c)(8);
724
+ const { entity } = t0;
725
+ let t1;
726
+ if ($[0] !== entity.identity.proxy.entityUid) {
727
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
728
+ variant: "outline",
729
+ color: "orange",
730
+ children: entity.identity.proxy.entityUid
731
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(entity_update_counter_default, { entityUid: entity.identity.proxy.entityUid })] });
732
+ $[0] = entity.identity.proxy.entityUid;
733
+ $[1] = t1;
734
+ } else t1 = $[1];
735
+ let t2;
736
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
737
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Divider, { my: 5 });
738
+ $[2] = t2;
739
+ } else t2 = $[2];
740
+ let t3;
741
+ if ($[3] !== entity) {
742
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Accordion, { children: [
743
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(entity_component_list_default, { entity }),
744
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(entity_proxy_list_default, { entity }),
745
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(entity_subscription_list_default, { entity })
746
+ ] });
747
+ $[3] = entity;
748
+ $[4] = t3;
749
+ } else t3 = $[4];
750
+ let t4;
751
+ if ($[5] !== t1 || $[6] !== t3) {
752
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
753
+ t1,
754
+ t2,
755
+ t3
756
+ ] });
757
+ $[5] = t1;
758
+ $[6] = t3;
759
+ $[7] = t4;
760
+ } else t4 = $[7];
761
+ return t4;
762
+ }
763
+
764
+ //#endregion
765
+ //#region src/nodes/node-entity.tsx
766
+ function EntityNode(t0) {
767
+ const $ = (0, react_compiler_runtime.c)(17);
768
+ const { id, data, selected, type } = t0;
769
+ const entity = useEntity(data.entity);
770
+ const entityType = entity?.identity.proxy.entityType ?? data.entity?.entityType ?? data.entityType;
771
+ const pending = data.spawnStatus === "queued" && !entity;
772
+ const missingScheduler = data.spawnStatus === "missing-scheduler";
773
+ const t1 = entityType ?? data.title;
774
+ let t2;
775
+ if ($[0] !== t1) {
776
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
777
+ fullWidth: true,
778
+ variant: "transparent",
779
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(formatter_camel_case_default, { value: t1 })
780
+ });
781
+ $[0] = t1;
782
+ $[1] = t2;
783
+ } else t2 = $[1];
784
+ let t3;
785
+ if ($[2] !== entity) {
786
+ t3 = entity && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EntityLayout, { entity });
787
+ $[2] = entity;
788
+ $[3] = t3;
789
+ } else t3 = $[3];
790
+ let t4;
791
+ if ($[4] !== data.entity || $[5] !== entity || $[6] !== missingScheduler || $[7] !== pending) {
792
+ t4 = !entity && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Stack, {
793
+ gap: "xs",
794
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
795
+ variant: "light",
796
+ color: pending ? "yellow" : "gray",
797
+ children: pending ? "upsert queued" : missingScheduler ? "scheduler missing" : "no entity bound"
798
+ }), data.entity && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Text, {
799
+ size: "xs",
800
+ c: "dimmed",
801
+ truncate: true,
802
+ children: [
803
+ data.entity.entityType,
804
+ ":",
805
+ data.entity.entityUid
806
+ ]
807
+ })]
808
+ });
809
+ $[4] = data.entity;
810
+ $[5] = entity;
811
+ $[6] = missingScheduler;
812
+ $[7] = pending;
813
+ $[8] = t4;
814
+ } else t4 = $[8];
815
+ let t5;
816
+ if ($[9] !== data || $[10] !== id || $[11] !== selected || $[12] !== t2 || $[13] !== t3 || $[14] !== t4 || $[15] !== type) {
817
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_awesome_flow_core_layout.NodeContainer, {
818
+ id,
819
+ selected,
820
+ data,
821
+ title: t2,
822
+ type,
823
+ children: [t3, t4]
824
+ });
825
+ $[9] = data;
826
+ $[10] = id;
827
+ $[11] = selected;
828
+ $[12] = t2;
829
+ $[13] = t3;
830
+ $[14] = t4;
831
+ $[15] = type;
832
+ $[16] = t5;
833
+ } else t5 = $[16];
834
+ return t5;
835
+ }
836
+
837
+ //#endregion
838
+ //#region src/nodes/node-scheduler.tsx
839
+ function SchedulerNode(t0) {
840
+ const $ = (0, react_compiler_runtime.c)(29);
841
+ const { id, data, selected, type } = t0;
842
+ const scheduler = useScheduler();
843
+ let t1;
844
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
845
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
846
+ fullWidth: true,
847
+ color: "cyan",
848
+ variant: "transparent",
849
+ children: "Scheduler"
850
+ });
851
+ $[0] = t1;
852
+ } else t1 = $[0];
853
+ const t2 = scheduler?.pendingCount ?? 0;
854
+ let t3;
855
+ if ($[1] !== t2) {
856
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Badge, {
857
+ variant: "light",
858
+ children: ["pending ", t2]
859
+ });
860
+ $[1] = t2;
861
+ $[2] = t3;
862
+ } else t3 = $[2];
863
+ const t4 = scheduler?.schedules.length ?? 0;
864
+ let t5;
865
+ if ($[3] !== t4) {
866
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Badge, {
867
+ variant: "light",
868
+ children: ["scheduled ", t4]
869
+ });
870
+ $[3] = t4;
871
+ $[4] = t5;
872
+ } else t5 = $[4];
873
+ let t6;
874
+ if ($[5] !== t3 || $[6] !== t5) {
875
+ t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
876
+ gap: "xs",
877
+ children: [t3, t5]
878
+ });
879
+ $[5] = t3;
880
+ $[6] = t5;
881
+ $[7] = t6;
882
+ } else t6 = $[7];
883
+ const t7 = scheduler?.isPaused ? "filled" : "outline";
884
+ const t8 = scheduler?.isPaused ? "orange" : "gray";
885
+ const t9 = scheduler?.isPaused ? "paused" : "running";
886
+ let t10;
887
+ if ($[8] !== t7 || $[9] !== t8 || $[10] !== t9) {
888
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
889
+ variant: t7,
890
+ color: t8,
891
+ children: t9
892
+ });
893
+ $[8] = t7;
894
+ $[9] = t8;
895
+ $[10] = t9;
896
+ $[11] = t10;
897
+ } else t10 = $[11];
898
+ const t11 = scheduler?.frameSubscriptions.length ?? 0;
899
+ let t12;
900
+ if ($[12] !== t11) {
901
+ t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Badge, {
902
+ variant: "outline",
903
+ children: ["per-frame ", t11]
904
+ });
905
+ $[12] = t11;
906
+ $[13] = t12;
907
+ } else t12 = $[13];
908
+ let t13;
909
+ if ($[14] !== t10 || $[15] !== t12) {
910
+ t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
911
+ gap: "xs",
912
+ children: [t10, t12]
913
+ });
914
+ $[14] = t10;
915
+ $[15] = t12;
916
+ $[16] = t13;
917
+ } else t13 = $[16];
918
+ let t14;
919
+ if ($[17] !== scheduler) {
920
+ t14 = !scheduler && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
921
+ size: "xs",
922
+ c: "dimmed",
923
+ children: "No scheduler connected."
924
+ });
925
+ $[17] = scheduler;
926
+ $[18] = t14;
927
+ } else t14 = $[18];
928
+ let t15;
929
+ if ($[19] !== t13 || $[20] !== t14 || $[21] !== t6) {
930
+ t15 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Stack, {
931
+ gap: "xs",
932
+ children: [
933
+ t6,
934
+ t13,
935
+ t14
936
+ ]
937
+ });
938
+ $[19] = t13;
939
+ $[20] = t14;
940
+ $[21] = t6;
941
+ $[22] = t15;
942
+ } else t15 = $[22];
943
+ let t16;
944
+ if ($[23] !== data || $[24] !== id || $[25] !== selected || $[26] !== t15 || $[27] !== type) {
945
+ t16 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_awesome_flow_core_layout.NodeContainer, {
946
+ id,
947
+ selected,
948
+ data,
949
+ title: t1,
950
+ type,
951
+ children: t15
952
+ });
953
+ $[23] = data;
954
+ $[24] = id;
955
+ $[25] = selected;
956
+ $[26] = t15;
957
+ $[27] = type;
958
+ $[28] = t16;
959
+ } else t16 = $[28];
960
+ return t16;
961
+ }
962
+ var node_scheduler_default = (0, react.memo)(SchedulerNode);
963
+
964
+ //#endregion
965
+ //#region src/nodes/node-scope-group.tsx
966
+ function ScopeGroupNode(t0) {
967
+ const $ = (0, react_compiler_runtime.c)(36);
968
+ const { id, selected, data, type, width, height } = t0;
969
+ let t1;
970
+ if ($[0] !== data || $[1] !== height || $[2] !== id || $[3] !== width) {
971
+ t1 = {
972
+ id,
973
+ data,
974
+ width,
975
+ height
976
+ };
977
+ $[0] = data;
978
+ $[1] = height;
979
+ $[2] = id;
980
+ $[3] = width;
981
+ $[4] = t1;
982
+ } else t1 = $[4];
983
+ const { groupNodes, groupData, onCollapsed } = (0, _awesome_flow_core_hooks.useGroupNode)(t1);
984
+ const t2 = data.initialSize?.width || 320;
985
+ const t3 = data.initialSize?.height || 220;
986
+ let t4;
987
+ if ($[5] !== t2 || $[6] !== t3) {
988
+ t4 = {
989
+ width: t2,
990
+ height: t3
991
+ };
992
+ $[5] = t2;
993
+ $[6] = t3;
994
+ $[7] = t4;
995
+ } else t4 = $[7];
996
+ const size = t4;
997
+ const t5 = groupNodes?.length || 0;
998
+ let t6;
999
+ if ($[8] !== t5) {
1000
+ t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
1001
+ size: "xs",
1002
+ variant: "outline",
1003
+ radius: "xs",
1004
+ color: "teal",
1005
+ children: t5
1006
+ });
1007
+ $[8] = t5;
1008
+ $[9] = t6;
1009
+ } else t6 = $[9];
1010
+ let t7;
1011
+ if ($[10] !== data.isCollapsed || $[11] !== id || $[12] !== onCollapsed) {
1012
+ t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_awesome_flow_core_layout.NodeCollapse, {
1013
+ nodeId: id,
1014
+ isCollapsed: data.isCollapsed,
1015
+ onCollapsed
1016
+ });
1017
+ $[10] = data.isCollapsed;
1018
+ $[11] = id;
1019
+ $[12] = onCollapsed;
1020
+ $[13] = t7;
1021
+ } else t7 = $[13];
1022
+ let t8;
1023
+ if ($[14] !== t6 || $[15] !== t7) {
1024
+ t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
1025
+ gap: "xs",
1026
+ wrap: "nowrap",
1027
+ children: [t6, t7]
1028
+ });
1029
+ $[14] = t6;
1030
+ $[15] = t7;
1031
+ $[16] = t8;
1032
+ } else t8 = $[16];
1033
+ let t9;
1034
+ if ($[17] !== data.scopeId) {
1035
+ t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
1036
+ size: "xs",
1037
+ c: "dimmed",
1038
+ truncate: true,
1039
+ children: data.scopeId
1040
+ });
1041
+ $[17] = data.scopeId;
1042
+ $[18] = t9;
1043
+ } else t9 = $[18];
1044
+ let t10;
1045
+ if ($[19] !== t8 || $[20] !== t9) {
1046
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
1047
+ justify: "space-between",
1048
+ wrap: "nowrap",
1049
+ children: [t8, t9]
1050
+ });
1051
+ $[19] = t8;
1052
+ $[20] = t9;
1053
+ $[21] = t10;
1054
+ } else t10 = $[21];
1055
+ const title = t10;
1056
+ let t11;
1057
+ if ($[22] !== groupData || $[23] !== id || $[24] !== selected || $[25] !== title || $[26] !== type) {
1058
+ t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_awesome_flow_core_layout.NodeContainer, {
1059
+ id,
1060
+ selected,
1061
+ data: groupData,
1062
+ title,
1063
+ type
1064
+ });
1065
+ $[22] = groupData;
1066
+ $[23] = id;
1067
+ $[24] = selected;
1068
+ $[25] = title;
1069
+ $[26] = type;
1070
+ $[27] = t11;
1071
+ } else t11 = $[27];
1072
+ const t12 = selected && !data.isCollapsed;
1073
+ let t13;
1074
+ if ($[28] !== id || $[29] !== size.height || $[30] !== size.width || $[31] !== t12) {
1075
+ t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_xyflow_react.NodeResizer, {
1076
+ nodeId: id,
1077
+ minWidth: size.width,
1078
+ minHeight: size.height,
1079
+ isVisible: t12
1080
+ });
1081
+ $[28] = id;
1082
+ $[29] = size.height;
1083
+ $[30] = size.width;
1084
+ $[31] = t12;
1085
+ $[32] = t13;
1086
+ } else t13 = $[32];
1087
+ let t14;
1088
+ if ($[33] !== t11 || $[34] !== t13) {
1089
+ t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [t11, t13] });
1090
+ $[33] = t11;
1091
+ $[34] = t13;
1092
+ $[35] = t14;
1093
+ } else t14 = $[35];
1094
+ return t14;
1095
+ }
1096
+ var node_scope_group_default = (0, react.memo)(ScopeGroupNode);
1097
+
1098
+ //#endregion
1099
+ //#region src/components/pipeline-middleware-list.tsx
1100
+ function PipelineMiddlewareList(props) {
1101
+ const $ = (0, react_compiler_runtime.c)(13);
1102
+ let t0;
1103
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1104
+ t0 = [];
1105
+ $[0] = t0;
1106
+ } else t0 = $[0];
1107
+ let middleware = t0;
1108
+ if (props.pipeline) middleware = props.pipeline.middleware;
1109
+ let t1;
1110
+ if ($[1] !== middleware) {
1111
+ t1 = middleware.map(_temp$2);
1112
+ $[1] = middleware;
1113
+ $[2] = t1;
1114
+ } else t1 = $[2];
1115
+ const components = t1;
1116
+ let t2;
1117
+ if ($[3] !== components.length || $[4] !== props.label) {
1118
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Accordion.Control, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
1119
+ fullWidth: true,
1120
+ variant: "light",
1121
+ rightSection: components.length,
1122
+ children: props.label
1123
+ }) });
1124
+ $[3] = components.length;
1125
+ $[4] = props.label;
1126
+ $[5] = t2;
1127
+ } else t2 = $[5];
1128
+ let t3;
1129
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
1130
+ t3 = { variant: "outline" };
1131
+ $[6] = t3;
1132
+ } else t3 = $[6];
1133
+ let t4;
1134
+ if ($[7] !== components) {
1135
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Accordion.Panel, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Stack, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(badge_list_default, {
1136
+ items: components,
1137
+ badge: t3
1138
+ }) }) });
1139
+ $[7] = components;
1140
+ $[8] = t4;
1141
+ } else t4 = $[8];
1142
+ let t5;
1143
+ if ($[9] !== props.label || $[10] !== t2 || $[11] !== t4) {
1144
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Accordion.Item, {
1145
+ value: props.label,
1146
+ children: [t2, t4]
1147
+ }, props.label);
1148
+ $[9] = props.label;
1149
+ $[10] = t2;
1150
+ $[11] = t4;
1151
+ $[12] = t5;
1152
+ } else t5 = $[12];
1153
+ return t5;
1154
+ }
1155
+ function _temp$2(m) {
1156
+ return m.name || m.constructor.name;
1157
+ }
1158
+
1159
+ //#endregion
1160
+ //#region src/layout/systems-module-layout.tsx
1161
+ function SystemsModuleLayout(props) {
1162
+ const $ = (0, react_compiler_runtime.c)(26);
1163
+ const { module } = props;
1164
+ const runtimeContext = module.runtimeContext;
1165
+ const systemsModule = runtimeContext?.systemsModule ?? module;
1166
+ const error = runtimeContext?.dispatch?.error;
1167
+ let t0;
1168
+ if ($[0] !== systemsModule.builder.pipelines) {
1169
+ t0 = systemsModule.builder.pipelines.get(_awesome_ecs_abstract_systems.SystemType.initialize);
1170
+ $[0] = systemsModule.builder.pipelines;
1171
+ $[1] = t0;
1172
+ } else t0 = $[1];
1173
+ const init = t0;
1174
+ let t1;
1175
+ if ($[2] !== systemsModule.builder.pipelines) {
1176
+ t1 = systemsModule.builder.pipelines.get(_awesome_ecs_abstract_systems.SystemType.update);
1177
+ $[2] = systemsModule.builder.pipelines;
1178
+ $[3] = t1;
1179
+ } else t1 = $[3];
1180
+ const update = t1;
1181
+ let t2;
1182
+ if ($[4] !== systemsModule.builder.pipelines) {
1183
+ t2 = systemsModule.builder.pipelines.get(_awesome_ecs_abstract_systems.SystemType.render);
1184
+ $[4] = systemsModule.builder.pipelines;
1185
+ $[5] = t2;
1186
+ } else t2 = $[5];
1187
+ const render = t2;
1188
+ let t3;
1189
+ if ($[6] !== systemsModule.builder.pipelines) {
1190
+ t3 = systemsModule.builder.pipelines.get(_awesome_ecs_abstract_systems.SystemType.sync);
1191
+ $[6] = systemsModule.builder.pipelines;
1192
+ $[7] = t3;
1193
+ } else t3 = $[7];
1194
+ const sync = t3;
1195
+ let t4;
1196
+ if ($[8] !== error) {
1197
+ t4 = error && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Text, { children: ["Error: ", formatError(error)] });
1198
+ $[8] = error;
1199
+ $[9] = t4;
1200
+ } else t4 = $[9];
1201
+ let t5;
1202
+ if ($[10] !== init) {
1203
+ t5 = init && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PipelineMiddlewareList, {
1204
+ pipeline: init,
1205
+ label: "Initialize"
1206
+ });
1207
+ $[10] = init;
1208
+ $[11] = t5;
1209
+ } else t5 = $[11];
1210
+ let t6;
1211
+ if ($[12] !== update) {
1212
+ t6 = update && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PipelineMiddlewareList, {
1213
+ pipeline: update,
1214
+ label: "Update"
1215
+ });
1216
+ $[12] = update;
1217
+ $[13] = t6;
1218
+ } else t6 = $[13];
1219
+ let t7;
1220
+ if ($[14] !== render) {
1221
+ t7 = render && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PipelineMiddlewareList, {
1222
+ pipeline: render,
1223
+ label: "Render"
1224
+ });
1225
+ $[14] = render;
1226
+ $[15] = t7;
1227
+ } else t7 = $[15];
1228
+ let t8;
1229
+ if ($[16] !== sync) {
1230
+ t8 = sync && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PipelineMiddlewareList, {
1231
+ pipeline: sync,
1232
+ label: "Sync"
1233
+ });
1234
+ $[16] = sync;
1235
+ $[17] = t8;
1236
+ } else t8 = $[17];
1237
+ let t9;
1238
+ if ($[18] !== t5 || $[19] !== t6 || $[20] !== t7 || $[21] !== t8) {
1239
+ t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Accordion, { children: [
1240
+ t5,
1241
+ t6,
1242
+ t7,
1243
+ t8
1244
+ ] });
1245
+ $[18] = t5;
1246
+ $[19] = t6;
1247
+ $[20] = t7;
1248
+ $[21] = t8;
1249
+ $[22] = t9;
1250
+ } else t9 = $[22];
1251
+ let t10;
1252
+ if ($[23] !== t4 || $[24] !== t9) {
1253
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [t4, t9] });
1254
+ $[23] = t4;
1255
+ $[24] = t9;
1256
+ $[25] = t10;
1257
+ } else t10 = $[25];
1258
+ return t10;
1259
+ }
1260
+ function formatError(error) {
1261
+ return error instanceof Error ? error.message : String(error);
1262
+ }
1263
+
1264
+ //#endregion
1265
+ //#region src/nodes/node-systems-module.tsx
1266
+ function SystemsModuleNode(t0) {
1267
+ const $ = (0, react_compiler_runtime.c)(12);
1268
+ const { id, data, selected, type } = t0;
1269
+ const module = useSystemsModule(data.entityType);
1270
+ let t1;
1271
+ if ($[0] !== data.entityType) {
1272
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
1273
+ fullWidth: true,
1274
+ color: "indigo",
1275
+ variant: "transparent",
1276
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(formatter_camel_case_default, { value: data.entityType })
1277
+ });
1278
+ $[0] = data.entityType;
1279
+ $[1] = t1;
1280
+ } else t1 = $[1];
1281
+ let t2;
1282
+ if ($[2] !== data.entityType || $[3] !== module) {
1283
+ t2 = module && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SystemsModuleLayout, {
1284
+ type: data.entityType,
1285
+ module
1286
+ });
1287
+ $[2] = data.entityType;
1288
+ $[3] = module;
1289
+ $[4] = t2;
1290
+ } else t2 = $[4];
1291
+ let t3;
1292
+ if ($[5] !== data || $[6] !== id || $[7] !== selected || $[8] !== t1 || $[9] !== t2 || $[10] !== type) {
1293
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_awesome_flow_core_layout.NodeContainer, {
1294
+ id,
1295
+ selected,
1296
+ data,
1297
+ title: t1,
1298
+ type,
1299
+ children: t2
1300
+ });
1301
+ $[5] = data;
1302
+ $[6] = id;
1303
+ $[7] = selected;
1304
+ $[8] = t1;
1305
+ $[9] = t2;
1306
+ $[10] = type;
1307
+ $[11] = t3;
1308
+ } else t3 = $[11];
1309
+ return t3;
1310
+ }
1311
+
1312
+ //#endregion
1313
+ //#region src/nodes/node-telemetry.tsx
1314
+ function TelemetryNode(t0) {
1315
+ const $ = (0, react_compiler_runtime.c)(33);
1316
+ const { id, data, selected, type } = t0;
1317
+ const metrics = useMiddlewareMetrics();
1318
+ let T0;
1319
+ let T1;
1320
+ let t1;
1321
+ let t2;
1322
+ let t3;
1323
+ let t4;
1324
+ let t5;
1325
+ let t6;
1326
+ let t7;
1327
+ let t8;
1328
+ let t9;
1329
+ if ($[0] !== data || $[1] !== id || $[2] !== metrics || $[3] !== selected || $[4] !== type) {
1330
+ const visibleMetrics = metrics.slice(0, data.limit ?? 6);
1331
+ T1 = _awesome_flow_core_layout.NodeContainer;
1332
+ t5 = id;
1333
+ t6 = selected;
1334
+ t7 = data;
1335
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
1336
+ t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
1337
+ fullWidth: true,
1338
+ color: "lime",
1339
+ variant: "transparent",
1340
+ children: "Telemetry"
1341
+ });
1342
+ $[16] = t8;
1343
+ } else t8 = $[16];
1344
+ t9 = type;
1345
+ T0 = _mantine_core.Stack;
1346
+ t1 = "xs";
1347
+ if ($[17] !== metrics.length) {
1348
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Badge, {
1349
+ variant: "light",
1350
+ children: ["metrics ", metrics.length]
1351
+ });
1352
+ $[17] = metrics.length;
1353
+ $[18] = t2;
1354
+ } else t2 = $[18];
1355
+ t3 = visibleMetrics.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
1356
+ size: "xs",
1357
+ c: "dimmed",
1358
+ children: "No metrics recorded."
1359
+ });
1360
+ t4 = visibleMetrics.map(_temp$1);
1361
+ $[0] = data;
1362
+ $[1] = id;
1363
+ $[2] = metrics;
1364
+ $[3] = selected;
1365
+ $[4] = type;
1366
+ $[5] = T0;
1367
+ $[6] = T1;
1368
+ $[7] = t1;
1369
+ $[8] = t2;
1370
+ $[9] = t3;
1371
+ $[10] = t4;
1372
+ $[11] = t5;
1373
+ $[12] = t6;
1374
+ $[13] = t7;
1375
+ $[14] = t8;
1376
+ $[15] = t9;
1377
+ } else {
1378
+ T0 = $[5];
1379
+ T1 = $[6];
1380
+ t1 = $[7];
1381
+ t2 = $[8];
1382
+ t3 = $[9];
1383
+ t4 = $[10];
1384
+ t5 = $[11];
1385
+ t6 = $[12];
1386
+ t7 = $[13];
1387
+ t8 = $[14];
1388
+ t9 = $[15];
1389
+ }
1390
+ let t10;
1391
+ if ($[19] !== T0 || $[20] !== t1 || $[21] !== t2 || $[22] !== t3 || $[23] !== t4) {
1392
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(T0, {
1393
+ gap: t1,
1394
+ children: [
1395
+ t2,
1396
+ t3,
1397
+ t4
1398
+ ]
1399
+ });
1400
+ $[19] = T0;
1401
+ $[20] = t1;
1402
+ $[21] = t2;
1403
+ $[22] = t3;
1404
+ $[23] = t4;
1405
+ $[24] = t10;
1406
+ } else t10 = $[24];
1407
+ let t11;
1408
+ if ($[25] !== T1 || $[26] !== t10 || $[27] !== t5 || $[28] !== t6 || $[29] !== t7 || $[30] !== t8 || $[31] !== t9) {
1409
+ t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T1, {
1410
+ id: t5,
1411
+ selected: t6,
1412
+ data: t7,
1413
+ title: t8,
1414
+ type: t9,
1415
+ children: t10
1416
+ });
1417
+ $[25] = T1;
1418
+ $[26] = t10;
1419
+ $[27] = t5;
1420
+ $[28] = t6;
1421
+ $[29] = t7;
1422
+ $[30] = t8;
1423
+ $[31] = t9;
1424
+ $[32] = t11;
1425
+ } else t11 = $[32];
1426
+ return t11;
1427
+ }
1428
+ function _temp$1(metric) {
1429
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
1430
+ justify: "space-between",
1431
+ gap: "xs",
1432
+ wrap: "nowrap",
1433
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
1434
+ size: "xs",
1435
+ truncate: true,
1436
+ children: metric.name
1437
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Badge, {
1438
+ size: "xs",
1439
+ variant: "outline",
1440
+ children: [metric.lastMs.toFixed(2), "ms"]
1441
+ })]
1442
+ }, `${metric.category}:${metric.name}`);
1443
+ }
1444
+ var node_telemetry_default = (0, react.memo)(TelemetryNode);
1445
+
1446
+ //#endregion
1447
+ //#region src/nodes/node-update-queue.tsx
1448
+ function UpdateQueueNode(t0) {
1449
+ const $ = (0, react_compiler_runtime.c)(19);
1450
+ const { id, data, selected, type } = t0;
1451
+ const queue = useUpdateQueue(data.limit ?? 10);
1452
+ let t1;
1453
+ if ($[0] !== queue?.items) {
1454
+ t1 = queue?.items ?? [];
1455
+ $[0] = queue?.items;
1456
+ $[1] = t1;
1457
+ } else t1 = $[1];
1458
+ const items = t1;
1459
+ let t2;
1460
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
1461
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
1462
+ fullWidth: true,
1463
+ color: "orange",
1464
+ variant: "transparent",
1465
+ children: "Dirty Updates"
1466
+ });
1467
+ $[2] = t2;
1468
+ } else t2 = $[2];
1469
+ const t3 = queue?.size ?? 0;
1470
+ let t4;
1471
+ if ($[3] !== t3) {
1472
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Badge, {
1473
+ variant: "light",
1474
+ children: ["dirty ", t3]
1475
+ });
1476
+ $[3] = t3;
1477
+ $[4] = t4;
1478
+ } else t4 = $[4];
1479
+ let t5;
1480
+ if ($[5] !== queue) {
1481
+ t5 = !queue && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
1482
+ size: "xs",
1483
+ c: "dimmed",
1484
+ children: "No runtime scheduler connected."
1485
+ });
1486
+ $[5] = queue;
1487
+ $[6] = t5;
1488
+ } else t5 = $[6];
1489
+ let t6;
1490
+ if ($[7] !== items) {
1491
+ t6 = items.map(_temp);
1492
+ $[7] = items;
1493
+ $[8] = t6;
1494
+ } else t6 = $[8];
1495
+ let t7;
1496
+ if ($[9] !== t4 || $[10] !== t5 || $[11] !== t6) {
1497
+ t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Stack, {
1498
+ gap: "xs",
1499
+ children: [
1500
+ t4,
1501
+ t5,
1502
+ t6
1503
+ ]
1504
+ });
1505
+ $[9] = t4;
1506
+ $[10] = t5;
1507
+ $[11] = t6;
1508
+ $[12] = t7;
1509
+ } else t7 = $[12];
1510
+ let t8;
1511
+ if ($[13] !== data || $[14] !== id || $[15] !== selected || $[16] !== t7 || $[17] !== type) {
1512
+ t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_awesome_flow_core_layout.NodeContainer, {
1513
+ id,
1514
+ selected,
1515
+ data,
1516
+ title: t2,
1517
+ type,
1518
+ children: t7
1519
+ });
1520
+ $[13] = data;
1521
+ $[14] = id;
1522
+ $[15] = selected;
1523
+ $[16] = t7;
1524
+ $[17] = type;
1525
+ $[18] = t8;
1526
+ } else t8 = $[18];
1527
+ return t8;
1528
+ }
1529
+ function _temp(item, index) {
1530
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
1531
+ gap: "xs",
1532
+ wrap: "nowrap",
1533
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Badge, {
1534
+ size: "xs",
1535
+ variant: "outline",
1536
+ children: item.type
1537
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
1538
+ size: "xs",
1539
+ truncate: true,
1540
+ children: require_id_generator.EcsIdGenerator.entityProxy(item.entity)
1541
+ })]
1542
+ }, `${item.type}:${require_id_generator.EcsIdGenerator.entityProxy(item.entity)}:${index}`);
1543
+ }
1544
+ var node_update_queue_default = (0, react.memo)(UpdateQueueNode);
1545
+
1546
+ //#endregion
1547
+ //#region src/templates/template-scope-group.ts
1548
+ var ScopeGroupNodeTemplate = class {
1549
+ template = {
1550
+ type: "scope-group-node",
1551
+ group: "ECS",
1552
+ data: {
1553
+ title: "Scope Group",
1554
+ isGroup: true,
1555
+ scopeId: null,
1556
+ initialSize: {
1557
+ width: 420,
1558
+ height: 260
1559
+ },
1560
+ collapsedSize: {
1561
+ width: 320,
1562
+ height: 80
1563
+ }
1564
+ },
1565
+ handles: []
1566
+ };
1567
+ };
1568
+
1569
+ //#endregion
1570
+ //#region src/templates/template-systems-module.ts
1571
+ var SystemsModuleNodeTemplate = class {
1572
+ template = {
1573
+ type: "systems-module-node",
1574
+ group: "ECS",
1575
+ data: {
1576
+ title: "Systems Module",
1577
+ entityType: null
1578
+ },
1579
+ handles: [{
1580
+ dataType: "module",
1581
+ position: _xyflow_react.Position.Left,
1582
+ connection: "target",
1583
+ disabled: true
1584
+ }]
1585
+ };
1586
+ };
1587
+
1588
+ //#endregion
1589
+ //#region src/templates/template-tool-nodes.ts
1590
+ function createToolTemplate(type, title) {
1591
+ return {
1592
+ type,
1593
+ group: "ECS Tools",
1594
+ data: {
1595
+ title,
1596
+ limit: 10,
1597
+ initialSize: {
1598
+ width: 260,
1599
+ height: 180
1600
+ }
1601
+ },
1602
+ handles: []
1603
+ };
1604
+ }
1605
+ var SchedulerNodeTemplate = class {
1606
+ template = createToolTemplate("scheduler-node", "Scheduler");
1607
+ };
1608
+ var EventTimelineNodeTemplate = class {
1609
+ template = createToolTemplate("event-timeline-node", "Event Timeline");
1610
+ };
1611
+ var TelemetryNodeTemplate = class {
1612
+ template = createToolTemplate("telemetry-node", "Telemetry");
1613
+ };
1614
+ var UpdateQueueNodeTemplate = class {
1615
+ template = createToolTemplate("update-queue-node", "Dirty Updates");
1616
+ };
1617
+
1618
+ //#endregion
1619
+ //#region src/abstract/node-types.ts
1620
+ let EcsNodeType = /* @__PURE__ */ function(EcsNodeType) {
1621
+ EcsNodeType["systemsModule"] = "systems-module-node";
1622
+ EcsNodeType["entity"] = "entity-node";
1623
+ EcsNodeType["scopeGroup"] = "scope-group-node";
1624
+ EcsNodeType["scheduler"] = "scheduler-node";
1625
+ EcsNodeType["eventTimeline"] = "event-timeline-node";
1626
+ EcsNodeType["telemetry"] = "telemetry-node";
1627
+ EcsNodeType["updateQueue"] = "update-queue-node";
1628
+ return EcsNodeType;
1629
+ }({});
1630
+ const ecsNodeTypes = {
1631
+ ["systems-module-node"]: SystemsModuleNode,
1632
+ ["entity-node"]: EntityNode,
1633
+ ["scope-group-node"]: node_scope_group_default,
1634
+ ["scheduler-node"]: node_scheduler_default,
1635
+ ["event-timeline-node"]: node_event_timeline_default,
1636
+ ["telemetry-node"]: node_telemetry_default,
1637
+ ["update-queue-node"]: node_update_queue_default
1638
+ };
1639
+ const ecsNodeTemplates = {
1640
+ ["entity-node"]: new EntityNodeTemplate(),
1641
+ ["systems-module-node"]: new SystemsModuleNodeTemplate(),
1642
+ ["scope-group-node"]: new ScopeGroupNodeTemplate(),
1643
+ ["scheduler-node"]: new SchedulerNodeTemplate(),
1644
+ ["event-timeline-node"]: new EventTimelineNodeTemplate(),
1645
+ ["telemetry-node"]: new TelemetryNodeTemplate(),
1646
+ ["update-queue-node"]: new UpdateQueueNodeTemplate()
1647
+ };
1648
+
1649
+ //#endregion
1650
+ Object.defineProperty(exports, 'EcsHandleDataType', {
1651
+ enumerable: true,
1652
+ get: function () {
1653
+ return EcsHandleDataType;
1654
+ }
1655
+ });
1656
+ Object.defineProperty(exports, 'EcsNodeType', {
1657
+ enumerable: true,
1658
+ get: function () {
1659
+ return EcsNodeType;
1660
+ }
1661
+ });
1662
+ Object.defineProperty(exports, 'EcsTemplateGroup', {
1663
+ enumerable: true,
1664
+ get: function () {
1665
+ return EcsTemplateGroup;
1666
+ }
1667
+ });
1668
+ Object.defineProperty(exports, 'EntityNode', {
1669
+ enumerable: true,
1670
+ get: function () {
1671
+ return EntityNode;
1672
+ }
1673
+ });
1674
+ Object.defineProperty(exports, 'EntityNodeTemplate', {
1675
+ enumerable: true,
1676
+ get: function () {
1677
+ return EntityNodeTemplate;
1678
+ }
1679
+ });
1680
+ Object.defineProperty(exports, 'EventTimelineNodeTemplate', {
1681
+ enumerable: true,
1682
+ get: function () {
1683
+ return EventTimelineNodeTemplate;
1684
+ }
1685
+ });
1686
+ Object.defineProperty(exports, 'SchedulerNodeTemplate', {
1687
+ enumerable: true,
1688
+ get: function () {
1689
+ return SchedulerNodeTemplate;
1690
+ }
1691
+ });
1692
+ Object.defineProperty(exports, 'ScopeGroupNodeTemplate', {
1693
+ enumerable: true,
1694
+ get: function () {
1695
+ return ScopeGroupNodeTemplate;
1696
+ }
1697
+ });
1698
+ Object.defineProperty(exports, 'SystemsModuleNode', {
1699
+ enumerable: true,
1700
+ get: function () {
1701
+ return SystemsModuleNode;
1702
+ }
1703
+ });
1704
+ Object.defineProperty(exports, 'SystemsModuleNodeTemplate', {
1705
+ enumerable: true,
1706
+ get: function () {
1707
+ return SystemsModuleNodeTemplate;
1708
+ }
1709
+ });
1710
+ Object.defineProperty(exports, 'TelemetryNodeTemplate', {
1711
+ enumerable: true,
1712
+ get: function () {
1713
+ return TelemetryNodeTemplate;
1714
+ }
1715
+ });
1716
+ Object.defineProperty(exports, 'UpdateQueueNodeTemplate', {
1717
+ enumerable: true,
1718
+ get: function () {
1719
+ return UpdateQueueNodeTemplate;
1720
+ }
1721
+ });
1722
+ Object.defineProperty(exports, 'createEntityTypeTemplate', {
1723
+ enumerable: true,
1724
+ get: function () {
1725
+ return createEntityTypeTemplate;
1726
+ }
1727
+ });
1728
+ Object.defineProperty(exports, 'ecsNodeTemplates', {
1729
+ enumerable: true,
1730
+ get: function () {
1731
+ return ecsNodeTemplates;
1732
+ }
1733
+ });
1734
+ Object.defineProperty(exports, 'ecsNodeTypes', {
1735
+ enumerable: true,
1736
+ get: function () {
1737
+ return ecsNodeTypes;
1738
+ }
1739
+ });
1740
+ Object.defineProperty(exports, 'node_event_timeline_default', {
1741
+ enumerable: true,
1742
+ get: function () {
1743
+ return node_event_timeline_default;
1744
+ }
1745
+ });
1746
+ Object.defineProperty(exports, 'node_scheduler_default', {
1747
+ enumerable: true,
1748
+ get: function () {
1749
+ return node_scheduler_default;
1750
+ }
1751
+ });
1752
+ Object.defineProperty(exports, 'node_scope_group_default', {
1753
+ enumerable: true,
1754
+ get: function () {
1755
+ return node_scope_group_default;
1756
+ }
1757
+ });
1758
+ Object.defineProperty(exports, 'node_telemetry_default', {
1759
+ enumerable: true,
1760
+ get: function () {
1761
+ return node_telemetry_default;
1762
+ }
1763
+ });
1764
+ Object.defineProperty(exports, 'node_update_queue_default', {
1765
+ enumerable: true,
1766
+ get: function () {
1767
+ return node_update_queue_default;
1768
+ }
1769
+ });
1770
+ Object.defineProperty(exports, 'useBridgeStoreVersion', {
1771
+ enumerable: true,
1772
+ get: function () {
1773
+ return useBridgeStoreVersion;
1774
+ }
1775
+ });
1776
+ Object.defineProperty(exports, 'useEcsBridge', {
1777
+ enumerable: true,
1778
+ get: function () {
1779
+ return useEcsBridge;
1780
+ }
1781
+ });
1782
+ Object.defineProperty(exports, 'useEntitiesInScope', {
1783
+ enumerable: true,
1784
+ get: function () {
1785
+ return useEntitiesInScope;
1786
+ }
1787
+ });
1788
+ Object.defineProperty(exports, 'useEntity', {
1789
+ enumerable: true,
1790
+ get: function () {
1791
+ return useEntity;
1792
+ }
1793
+ });
1794
+ Object.defineProperty(exports, 'useEntityList', {
1795
+ enumerable: true,
1796
+ get: function () {
1797
+ return useEntityList;
1798
+ }
1799
+ });
1800
+ Object.defineProperty(exports, 'useEntityTypeDescriptors', {
1801
+ enumerable: true,
1802
+ get: function () {
1803
+ return useEntityTypeDescriptors;
1804
+ }
1805
+ });
1806
+ Object.defineProperty(exports, 'useEntityTypeTemplates', {
1807
+ enumerable: true,
1808
+ get: function () {
1809
+ return useEntityTypeTemplates;
1810
+ }
1811
+ });
1812
+ Object.defineProperty(exports, 'useEntityUpdates', {
1813
+ enumerable: true,
1814
+ get: function () {
1815
+ return useEntityUpdates;
1816
+ }
1817
+ });
1818
+ Object.defineProperty(exports, 'useEventStream', {
1819
+ enumerable: true,
1820
+ get: function () {
1821
+ return useEventStream;
1822
+ }
1823
+ });
1824
+ Object.defineProperty(exports, 'useMiddlewareMetrics', {
1825
+ enumerable: true,
1826
+ get: function () {
1827
+ return useMiddlewareMetrics;
1828
+ }
1829
+ });
1830
+ Object.defineProperty(exports, 'usePipelineMetrics', {
1831
+ enumerable: true,
1832
+ get: function () {
1833
+ return usePipelineMetrics;
1834
+ }
1835
+ });
1836
+ Object.defineProperty(exports, 'useScheduler', {
1837
+ enumerable: true,
1838
+ get: function () {
1839
+ return useScheduler;
1840
+ }
1841
+ });
1842
+ Object.defineProperty(exports, 'useScopeList', {
1843
+ enumerable: true,
1844
+ get: function () {
1845
+ return useScopeList;
1846
+ }
1847
+ });
1848
+ Object.defineProperty(exports, 'useSystemsModule', {
1849
+ enumerable: true,
1850
+ get: function () {
1851
+ return useSystemsModule;
1852
+ }
1853
+ });
1854
+ Object.defineProperty(exports, 'useSystemsModuleList', {
1855
+ enumerable: true,
1856
+ get: function () {
1857
+ return useSystemsModuleList;
1858
+ }
1859
+ });
1860
+ Object.defineProperty(exports, 'useUpdateQueue', {
1861
+ enumerable: true,
1862
+ get: function () {
1863
+ return useUpdateQueue;
1864
+ }
1865
+ });
1866
+ //# sourceMappingURL=node-types-CNO_-52M.cjs.map