@awesome-flow/ecs 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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-C4nDXlkK.mjs +677 -0
  6. package/dist/canvas-C4nDXlkK.mjs.map +1 -0
  7. package/dist/canvas-DlWcWu05.cjs +688 -0
  8. package/dist/canvas-DlWcWu05.cjs.map +1 -0
  9. package/dist/context/index.cjs +497 -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 +492 -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-B9WbxxFC.d.mts +67 -0
  28. package/dist/index-B9WbxxFC.d.mts.map +1 -0
  29. package/dist/index-BTs_8SY-.d.cts +20 -0
  30. package/dist/index-BTs_8SY-.d.cts.map +1 -0
  31. package/dist/index-C-TDFHpq.d.mts +54 -0
  32. package/dist/index-C-TDFHpq.d.mts.map +1 -0
  33. package/dist/index-CNCqWBLh.d.cts +54 -0
  34. package/dist/index-CNCqWBLh.d.cts.map +1 -0
  35. package/dist/index-CyeezgDI.d.mts +20 -0
  36. package/dist/index-CyeezgDI.d.mts.map +1 -0
  37. package/dist/index-D9zIjQH9.d.mts +1 -0
  38. package/dist/index-DCOd7jg-.d.mts +99 -0
  39. package/dist/index-DCOd7jg-.d.mts.map +1 -0
  40. package/dist/index-DGjpWDlm.d.cts +99 -0
  41. package/dist/index-DGjpWDlm.d.cts.map +1 -0
  42. package/dist/index-DLoAMD9J.d.cts +1 -0
  43. package/dist/index-YNgbjS9S.d.cts +159 -0
  44. package/dist/index-YNgbjS9S.d.cts.map +1 -0
  45. package/dist/index-_BgjSgkQ.d.mts +159 -0
  46. package/dist/index-_BgjSgkQ.d.mts.map +1 -0
  47. package/dist/index-t3_yRTa6.d.cts +67 -0
  48. package/dist/index-t3_yRTa6.d.cts.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-BtAkmdqr.d.mts +45 -0
  58. package/dist/node-props-BtAkmdqr.d.mts.map +1 -0
  59. package/dist/node-props-DkuSwMA0.d.cts +45 -0
  60. package/dist/node-props-DkuSwMA0.d.cts.map +1 -0
  61. package/dist/node-systems-module-CPDV8u8O.d.mts +22 -0
  62. package/dist/node-systems-module-CPDV8u8O.d.mts.map +1 -0
  63. package/dist/node-systems-module-CzkoMbdF.d.cts +22 -0
  64. package/dist/node-systems-module-CzkoMbdF.d.cts.map +1 -0
  65. package/dist/node-types-BRcpbaeR.mjs +1604 -0
  66. package/dist/node-types-BRcpbaeR.mjs.map +1 -0
  67. package/dist/node-types-D_NfbsUT.cjs +1819 -0
  68. package/dist/node-types-D_NfbsUT.cjs.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-B7sT2iRc.d.cts +35 -0
  74. package/dist/template-tool-nodes-B7sT2iRc.d.cts.map +1 -0
  75. package/dist/template-tool-nodes-BwavFwMh.d.mts +35 -0
  76. package/dist/template-tool-nodes-BwavFwMh.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,54 @@
1
+ import { r as ScopeGroupNodeData, t as EcsToolNodeData } from "./node-props-DkuSwMA0.cjs";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+ import * as _$react from "react";
4
+ import { Node, NodeProps } from "@xyflow/react";
5
+
6
+ //#region src/nodes/node-event-timeline.d.ts
7
+ declare function EventTimelineNode({
8
+ id,
9
+ data,
10
+ selected,
11
+ type
12
+ }: NodeProps<Node<EcsToolNodeData>>): _$react_jsx_runtime0.JSX.Element;
13
+ declare const _default$4: _$react.MemoExoticComponent<typeof EventTimelineNode>;
14
+ //#endregion
15
+ //#region src/nodes/node-scheduler.d.ts
16
+ declare function SchedulerNode({
17
+ id,
18
+ data,
19
+ selected,
20
+ type
21
+ }: NodeProps<Node<EcsToolNodeData>>): _$react_jsx_runtime0.JSX.Element;
22
+ declare const _default$3: _$react.MemoExoticComponent<typeof SchedulerNode>;
23
+ //#endregion
24
+ //#region src/nodes/node-scope-group.d.ts
25
+ declare function ScopeGroupNode({
26
+ id,
27
+ selected,
28
+ data,
29
+ type,
30
+ width,
31
+ height
32
+ }: NodeProps<Node<ScopeGroupNodeData>>): _$react_jsx_runtime0.JSX.Element;
33
+ declare const _default$2: _$react.MemoExoticComponent<typeof ScopeGroupNode>;
34
+ //#endregion
35
+ //#region src/nodes/node-telemetry.d.ts
36
+ declare function TelemetryNode({
37
+ id,
38
+ data,
39
+ selected,
40
+ type
41
+ }: NodeProps<Node<EcsToolNodeData>>): _$react_jsx_runtime0.JSX.Element;
42
+ declare const _default$1: _$react.MemoExoticComponent<typeof TelemetryNode>;
43
+ //#endregion
44
+ //#region src/nodes/node-update-queue.d.ts
45
+ declare function UpdateQueueNode({
46
+ id,
47
+ data,
48
+ selected,
49
+ type
50
+ }: NodeProps<Node<EcsToolNodeData>>): _$react_jsx_runtime0.JSX.Element;
51
+ declare const _default: _$react.MemoExoticComponent<typeof UpdateQueueNode>;
52
+ //#endregion
53
+ export { _default$4 as a, _default$3 as i, _default$1 as n, _default$2 as r, _default as t };
54
+ //# sourceMappingURL=index-CNCqWBLh.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CNCqWBLh.d.cts","names":[],"sources":["../src/nodes/node-event-timeline.tsx","../src/nodes/node-scheduler.tsx","../src/nodes/node-scope-group.tsx","../src/nodes/node-telemetry.tsx","../src/nodes/node-update-queue.tsx"],"mappings":";;;;;;iBAQS,iBAAA,CAAA;EAAoB,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,eAAA,KAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,UAAA;;;iBCDhF,aAAA,CAAA;EAAgB,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,eAAA,KAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,UAAA;;;iBCA5E,cAAA,CAAA;EAAiB,EAAA;EAAI,QAAA;EAAU,IAAA;EAAM,IAAA;EAAM,KAAA;EAAO;AAAA,GAAU,SAAA,CAAU,IAAA,CAAK,kBAAA,KAAoB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,UAAA;;;iBCA/F,aAAA,CAAA;EAAgB,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,eAAA,KAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,UAAA;;;iBCC5E,eAAA,CAAA;EAAkB,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,eAAA,KAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,QAAA"}
@@ -0,0 +1,20 @@
1
+ import * as _$react from "react";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { IComponent } from "@awesome-ecs/abstract/components";
4
+
5
+ //#region src/components/entity-component-inspector.d.ts
6
+ type EntityComponentInspectorProps = {
7
+ component: IComponent;
8
+ };
9
+ declare function EntityComponentInspector(props: Readonly<EntityComponentInspectorProps>): _$react_jsx_runtime0.JSX.Element;
10
+ declare const _default$1: _$react.MemoExoticComponent<typeof EntityComponentInspector>;
11
+ //#endregion
12
+ //#region src/components/object-inspector.d.ts
13
+ type ObjectInspectorProps = {
14
+ data: any;
15
+ };
16
+ declare function ObjectInspector(props: Readonly<ObjectInspectorProps>): _$react_jsx_runtime0.JSX.Element;
17
+ declare const _default: _$react.MemoExoticComponent<typeof ObjectInspector>;
18
+ //#endregion
19
+ export { _default$1 as n, _default as t };
20
+ //# sourceMappingURL=index-CyeezgDI.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CyeezgDI.d.mts","names":[],"sources":["../src/components/entity-component-inspector.tsx","../src/components/object-inspector.tsx"],"mappings":";;;;;KAMY,6BAAA;EACV,SAAA,EAAW,UAAU;AAAA;AAAA,iBAGd,wBAAA,CAAyB,KAAA,EAAO,QAAA,CAAS,6BAAA,IAA8B,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,UAAA;;;KCNpE,oBAAA;EACV,IAAI;AAAA;AAAA,iBAGG,eAAA,CAAgB,KAAA,EAAO,QAAA,CAAS,oBAAA,IAAqB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,QAAA"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,99 @@
1
+ import { r as ScopeGroupNodeData, t as EcsToolNodeData } from "./node-props-BtAkmdqr.mjs";
2
+ import { n as EntityNode, t as SystemsModuleNode } from "./node-systems-module-CPDV8u8O.mjs";
3
+ import { a as SystemsModuleNodeTemplate, i as UpdateQueueNodeTemplate, n as SchedulerNodeTemplate, o as ScopeGroupNodeTemplate, r as TelemetryNodeTemplate, s as EntityNodeTemplate, t as EventTimelineNodeTemplate } from "./template-tool-nodes-BwavFwMh.mjs";
4
+ import * as _$react from "react";
5
+ import * as _$_xyflow_react0 from "@xyflow/react";
6
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
7
+
8
+ //#region src/abstract/node-types.d.ts
9
+ declare enum EcsNodeType {
10
+ systemsModule = "systems-module-node",
11
+ entity = "entity-node",
12
+ scopeGroup = "scope-group-node",
13
+ scheduler = "scheduler-node",
14
+ eventTimeline = "event-timeline-node",
15
+ telemetry = "telemetry-node",
16
+ updateQueue = "update-queue-node"
17
+ }
18
+ declare const ecsNodeTypes: {
19
+ "systems-module-node": typeof SystemsModuleNode;
20
+ "entity-node": typeof EntityNode;
21
+ "scope-group-node": _$react.MemoExoticComponent<({
22
+ id,
23
+ selected,
24
+ data,
25
+ type,
26
+ width,
27
+ height
28
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<ScopeGroupNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
29
+ "scheduler-node": _$react.MemoExoticComponent<({
30
+ id,
31
+ data,
32
+ selected,
33
+ type
34
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
35
+ "event-timeline-node": _$react.MemoExoticComponent<({
36
+ id,
37
+ data,
38
+ selected,
39
+ type
40
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
41
+ "telemetry-node": _$react.MemoExoticComponent<({
42
+ id,
43
+ data,
44
+ selected,
45
+ type
46
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
47
+ "update-queue-node": _$react.MemoExoticComponent<({
48
+ id,
49
+ data,
50
+ selected,
51
+ type
52
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
53
+ };
54
+ declare const ecsNodeTemplates: {
55
+ "entity-node": EntityNodeTemplate;
56
+ "systems-module-node": SystemsModuleNodeTemplate;
57
+ "scope-group-node": ScopeGroupNodeTemplate;
58
+ "scheduler-node": SchedulerNodeTemplate;
59
+ "event-timeline-node": EventTimelineNodeTemplate;
60
+ "telemetry-node": TelemetryNodeTemplate;
61
+ "update-queue-node": UpdateQueueNodeTemplate;
62
+ };
63
+ //#endregion
64
+ //#region src/flow/flow-ecs-tool-nodes.d.ts
65
+ declare const defaultEcsToolNodes: readonly [EcsNodeType.scheduler, EcsNodeType.eventTimeline, EcsNodeType.telemetry, EcsNodeType.updateQueue];
66
+ type EcsToolNodeType = (typeof defaultEcsToolNodes)[number];
67
+ //#endregion
68
+ //#region src/flow/flow-ecs-state.d.ts
69
+ type FlowEcsStateProps = {
70
+ showSystemModules: boolean;
71
+ showEntities: boolean;
72
+ autoLayout: boolean;
73
+ enableEntitySpawning?: boolean;
74
+ showScopes?: boolean;
75
+ toolNodes?: boolean | readonly EcsToolNodeType[];
76
+ };
77
+ declare function FlowEcsState(props: Readonly<FlowEcsStateProps>): _$react_jsx_runtime0.JSX.Element;
78
+ declare const _default: _$react.MemoExoticComponent<typeof FlowEcsState>;
79
+ //#endregion
80
+ //#region src/canvas/flow-ecs-canvas.d.ts
81
+ type FlowEcsCanvasProps = Partial<FlowEcsStateProps> & {
82
+ enableDragDrop?: boolean;
83
+ showEntityTypeTemplates?: boolean;
84
+ showTemplates?: boolean;
85
+ };
86
+ declare function FlowEcsCanvas({
87
+ autoLayout,
88
+ enableEntitySpawning,
89
+ enableDragDrop,
90
+ showEntities,
91
+ showEntityTypeTemplates,
92
+ showScopes,
93
+ showSystemModules,
94
+ showTemplates,
95
+ toolNodes
96
+ }: Readonly<FlowEcsCanvasProps>): _$react_jsx_runtime0.JSX.Element;
97
+ //#endregion
98
+ export { EcsNodeType as a, _default as i, FlowEcsCanvasProps as n, ecsNodeTemplates as o, FlowEcsStateProps as r, ecsNodeTypes as s, FlowEcsCanvas as t };
99
+ //# sourceMappingURL=index-DCOd7jg-.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DCOd7jg-.d.mts","names":[],"sources":["../src/abstract/node-types.ts","../src/flow/flow-ecs-tool-nodes.tsx","../src/flow/flow-ecs-state.tsx","../src/canvas/flow-ecs-canvas.tsx"],"mappings":";;;;;;;;aAkBY,WAAA;EACV,aAAA;EACA,MAAA;EACA,UAAA;EACA,SAAA;EACA,aAAA;EACA,SAAA;EACA,WAAA;AAAA;AAAA,cAGW,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAUA,gBAAA;;;;;;;;;;;cC9BA,mBAAA,YAAmB,WAAA,CAAA,SAAA,EAAA,WAAA,CAAA,aAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,CAAA,WAAA;AAAA,KAOpB,eAAA,WAA0B,mBAAmB;;;KCN7C,iBAAA;EACV,iBAAA;EACA,YAAA;EACA,UAAA;EACA,oBAAA;EACA,UAAA;EACA,SAAA,sBAA+B,eAAe;AAAA;AAAA,iBAGvC,YAAA,CAAa,KAAA,EAAO,QAAA,CAAS,iBAAA,IAAkB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,QAAA;;;KCH5C,kBAAA,GAAqB,OAAO,CAAC,iBAAA;EACvC,cAAA;EACA,uBAAA;EACA,aAAA;AAAA;AAAA,iBAGc,aAAA,CAAA;EACd,UAAA;EACA,oBAAA;EACA,cAAA;EACA,YAAA;EACA,uBAAA;EACA,UAAA;EACA,iBAAA;EACA,aAAA;EACA;AAAA,GACC,QAAA,CAAS,kBAAA,IAAmB,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,99 @@
1
+ import { r as ScopeGroupNodeData, t as EcsToolNodeData } from "./node-props-DkuSwMA0.cjs";
2
+ import { n as EntityNode, t as SystemsModuleNode } from "./node-systems-module-CzkoMbdF.cjs";
3
+ import { a as SystemsModuleNodeTemplate, i as UpdateQueueNodeTemplate, n as SchedulerNodeTemplate, o as ScopeGroupNodeTemplate, r as TelemetryNodeTemplate, s as EntityNodeTemplate, t as EventTimelineNodeTemplate } from "./template-tool-nodes-B7sT2iRc.cjs";
4
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
+ import * as _$react from "react";
6
+ import * as _$_xyflow_react0 from "@xyflow/react";
7
+
8
+ //#region src/abstract/node-types.d.ts
9
+ declare enum EcsNodeType {
10
+ systemsModule = "systems-module-node",
11
+ entity = "entity-node",
12
+ scopeGroup = "scope-group-node",
13
+ scheduler = "scheduler-node",
14
+ eventTimeline = "event-timeline-node",
15
+ telemetry = "telemetry-node",
16
+ updateQueue = "update-queue-node"
17
+ }
18
+ declare const ecsNodeTypes: {
19
+ "systems-module-node": typeof SystemsModuleNode;
20
+ "entity-node": typeof EntityNode;
21
+ "scope-group-node": _$react.MemoExoticComponent<({
22
+ id,
23
+ selected,
24
+ data,
25
+ type,
26
+ width,
27
+ height
28
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<ScopeGroupNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
29
+ "scheduler-node": _$react.MemoExoticComponent<({
30
+ id,
31
+ data,
32
+ selected,
33
+ type
34
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
35
+ "event-timeline-node": _$react.MemoExoticComponent<({
36
+ id,
37
+ data,
38
+ selected,
39
+ type
40
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
41
+ "telemetry-node": _$react.MemoExoticComponent<({
42
+ id,
43
+ data,
44
+ selected,
45
+ type
46
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
47
+ "update-queue-node": _$react.MemoExoticComponent<({
48
+ id,
49
+ data,
50
+ selected,
51
+ type
52
+ }: _$_xyflow_react0.NodeProps<_$_xyflow_react0.Node<EcsToolNodeData>>) => _$react_jsx_runtime0.JSX.Element>;
53
+ };
54
+ declare const ecsNodeTemplates: {
55
+ "entity-node": EntityNodeTemplate;
56
+ "systems-module-node": SystemsModuleNodeTemplate;
57
+ "scope-group-node": ScopeGroupNodeTemplate;
58
+ "scheduler-node": SchedulerNodeTemplate;
59
+ "event-timeline-node": EventTimelineNodeTemplate;
60
+ "telemetry-node": TelemetryNodeTemplate;
61
+ "update-queue-node": UpdateQueueNodeTemplate;
62
+ };
63
+ //#endregion
64
+ //#region src/flow/flow-ecs-tool-nodes.d.ts
65
+ declare const defaultEcsToolNodes: readonly [EcsNodeType.scheduler, EcsNodeType.eventTimeline, EcsNodeType.telemetry, EcsNodeType.updateQueue];
66
+ type EcsToolNodeType = (typeof defaultEcsToolNodes)[number];
67
+ //#endregion
68
+ //#region src/flow/flow-ecs-state.d.ts
69
+ type FlowEcsStateProps = {
70
+ showSystemModules: boolean;
71
+ showEntities: boolean;
72
+ autoLayout: boolean;
73
+ enableEntitySpawning?: boolean;
74
+ showScopes?: boolean;
75
+ toolNodes?: boolean | readonly EcsToolNodeType[];
76
+ };
77
+ declare function FlowEcsState(props: Readonly<FlowEcsStateProps>): _$react_jsx_runtime0.JSX.Element;
78
+ declare const _default: _$react.MemoExoticComponent<typeof FlowEcsState>;
79
+ //#endregion
80
+ //#region src/canvas/flow-ecs-canvas.d.ts
81
+ type FlowEcsCanvasProps = Partial<FlowEcsStateProps> & {
82
+ enableDragDrop?: boolean;
83
+ showEntityTypeTemplates?: boolean;
84
+ showTemplates?: boolean;
85
+ };
86
+ declare function FlowEcsCanvas({
87
+ autoLayout,
88
+ enableEntitySpawning,
89
+ enableDragDrop,
90
+ showEntities,
91
+ showEntityTypeTemplates,
92
+ showScopes,
93
+ showSystemModules,
94
+ showTemplates,
95
+ toolNodes
96
+ }: Readonly<FlowEcsCanvasProps>): _$react_jsx_runtime0.JSX.Element;
97
+ //#endregion
98
+ export { EcsNodeType as a, _default as i, FlowEcsCanvasProps as n, ecsNodeTemplates as o, FlowEcsStateProps as r, ecsNodeTypes as s, FlowEcsCanvas as t };
99
+ //# sourceMappingURL=index-DGjpWDlm.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DGjpWDlm.d.cts","names":[],"sources":["../src/abstract/node-types.ts","../src/flow/flow-ecs-tool-nodes.tsx","../src/flow/flow-ecs-state.tsx","../src/canvas/flow-ecs-canvas.tsx"],"mappings":";;;;;;;;aAkBY,WAAA;EACV,aAAA;EACA,MAAA;EACA,UAAA;EACA,SAAA;EACA,aAAA;EACA,SAAA;EACA,WAAA;AAAA;AAAA,cAGW,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAUA,gBAAA;;;;;;;;;;;cC9BA,mBAAA,YAAmB,WAAA,CAAA,SAAA,EAAA,WAAA,CAAA,aAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,CAAA,WAAA;AAAA,KAOpB,eAAA,WAA0B,mBAAmB;;;KCN7C,iBAAA;EACV,iBAAA;EACA,YAAA;EACA,UAAA;EACA,oBAAA;EACA,UAAA;EACA,SAAA,sBAA+B,eAAe;AAAA;AAAA,iBAGvC,YAAA,CAAa,KAAA,EAAO,QAAA,CAAS,iBAAA,IAAkB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,QAAA;;;KCH5C,kBAAA,GAAqB,OAAO,CAAC,iBAAA;EACvC,cAAA;EACA,uBAAA;EACA,aAAA;AAAA;AAAA,iBAGc,aAAA,CAAA;EACd,UAAA;EACA,oBAAA;EACA,cAAA;EACA,YAAA;EACA,uBAAA;EACA,UAAA;EACA,iBAAA;EACA,aAAA;EACA;AAAA,GACC,QAAA,CAAS,kBAAA,IAAmB,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,159 @@
1
+ import { i as SystemsModuleNodeData, n as EntityNodeData, o as EcsEntitySpawnRequest, r as ScopeGroupNodeData, s as EcsEntityTypeDescriptor } from "./node-props-DkuSwMA0.cjs";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+ import * as _$react from "react";
4
+ import { PropsWithChildren } from "react";
5
+ import { EntityEventUid, EntityTypeUid, EntityUid, IEntity, IEntityEvent, IEntityEventsManager, IEntityProxy, IEntityProxyRepository, IEntityRepository, IEntityScheduler, IEntityUpdate, IEntityUpdateQueue, IEventData } from "@awesome-ecs/abstract/entities";
6
+ import { Node } from "@xyflow/react";
7
+ import { PipelineCategoryName } from "@awesome-ecs/abstract/factories";
8
+ import { ISystemsModule, ISystemsModuleRepository, SystemType } from "@awesome-ecs/abstract/systems";
9
+ import { IPerformanceTimer, MiddlewareMetricsSummary, PerformanceTimeEntry } from "@awesome-ecs/abstract/utils";
10
+
11
+ //#region src/context/ecs-flow-repository.d.ts
12
+ declare class EcsFlowRepository {
13
+ private readonly nodes;
14
+ constructor();
15
+ get sizeNodes(): number;
16
+ addSystemModuleNode(node: Node<SystemsModuleNodeData>): void;
17
+ getSystemModuleNode(entityType: EntityTypeUid): Node<SystemsModuleNodeData>;
18
+ addScopeGroupNode(node: Node<ScopeGroupNodeData>): void;
19
+ getScopeGroupNode(scopeId: string): Node<ScopeGroupNodeData>;
20
+ addEntityNode(node: Node<EntityNodeData>): void;
21
+ getEntityNode(entity: IEntityProxy): Node<EntityNodeData>;
22
+ addToolNode(node: Node): void;
23
+ getToolNode(type: string): Node;
24
+ listAllNodes(): Node[];
25
+ }
26
+ //#endregion
27
+ //#region src/context/ecs-bridge.d.ts
28
+ type EcsBridgeStoreName = 'entities' | 'entityTypes' | 'events' | 'metrics' | 'modules' | 'proxies' | 'queue' | 'scheduler' | 'scopes' | 'subscriptions' | 'updates';
29
+ type EcsBridgeStore = {
30
+ getSnapshot(): number;
31
+ notify(): void;
32
+ subscribe(listener: () => void): () => void;
33
+ };
34
+ type TelemetryMetricsSource = IPerformanceTimer & {
35
+ readonly metrics?: ReadonlyMap<string, ReadonlyArray<PerformanceTimeEntry>>;
36
+ clearMetrics?(): void;
37
+ };
38
+ type EntityUpdateCounts = {
39
+ removes: number;
40
+ updates: number;
41
+ };
42
+ type EcsEventLogEntry = {
43
+ event: IEntityEvent<IEventData>;
44
+ recordedAt: number;
45
+ targets: readonly IEntityProxy[];
46
+ };
47
+ type EcsScopeSummary = {
48
+ entities: readonly IEntity[];
49
+ scopeId: string;
50
+ scopedProxies: ReadonlyMap<EntityTypeUid, IEntityProxy>;
51
+ };
52
+ type EcsEventStreamFilter = {
53
+ limit?: number;
54
+ scopeId?: string;
55
+ source?: IEntityProxy;
56
+ target?: IEntityProxy;
57
+ type?: EntityEventUid;
58
+ };
59
+ type EcsMetricsFilter = {
60
+ category?: PipelineCategoryName;
61
+ entityType?: EntityTypeUid;
62
+ phase?: SystemType | string;
63
+ };
64
+ type PipelineMetricsSummary = {
65
+ avgMs: number;
66
+ count: number;
67
+ lastMs: number;
68
+ maxMs: number;
69
+ minMs: number;
70
+ name: string;
71
+ samples: readonly number[];
72
+ totalMs: number;
73
+ };
74
+ type EcsSchedulerSnapshot = {
75
+ frameSubscriptions: readonly IEntityProxy[];
76
+ isPaused: boolean;
77
+ pendingCount: number;
78
+ schedules: readonly unknown[];
79
+ skippedEntityTypes: readonly EntityTypeUid[];
80
+ };
81
+ type EcsUpdateQueueSnapshot = {
82
+ items: readonly IEntityUpdate[];
83
+ size: number;
84
+ };
85
+ type EcsBridgeInput = {
86
+ defaultScopeId?: string;
87
+ ecsFlowRepository?: EcsFlowRepository;
88
+ entityEventsManager: IEntityEventsManager;
89
+ entityProxyRepository: IEntityProxyRepository;
90
+ entityRepository: IEntityRepository;
91
+ entityScheduler?: IEntityScheduler;
92
+ entityTypeDescriptors?: readonly EcsEntityTypeDescriptor[];
93
+ entityUpdateQueue?: IEntityUpdateQueue;
94
+ eventLogSize?: number;
95
+ performanceTimer?: TelemetryMetricsSource;
96
+ systemsModuleRepository: ISystemsModuleRepository;
97
+ };
98
+ declare class EcsBridge {
99
+ readonly ecsFlowRepository: EcsFlowRepository;
100
+ readonly entityEventsManager: IEntityEventsManager;
101
+ readonly entityProxyRepository: IEntityProxyRepository;
102
+ readonly entityRepository: IEntityRepository;
103
+ readonly entityScheduler?: IEntityScheduler;
104
+ readonly entityUpdateQueue?: IEntityUpdateQueue;
105
+ readonly performanceTimer?: TelemetryMetricsSource;
106
+ readonly stores: Record<EcsBridgeStoreName, EcsBridgeStore>;
107
+ readonly systemsModuleRepository: ISystemsModuleRepository;
108
+ private readonly defaultScopeId?;
109
+ private readonly entityTypeDescriptors;
110
+ private readonly eventLogSize;
111
+ private readonly eventLog;
112
+ private readonly metricEntries;
113
+ private readonly scopedProxies;
114
+ private readonly updateCounts;
115
+ private readonly unsubscribeInstrumentation;
116
+ constructor(input: EcsBridgeInput);
117
+ dispose(): void;
118
+ getEntityUpdateCounts(target: IEntityProxy | EntityUid): EntityUpdateCounts;
119
+ getEntitiesInScope(scopeId: string): IEntity[];
120
+ getEntityTypeDescriptor(idOrEntityType: string | EntityTypeUid): EcsEntityTypeDescriptor | undefined;
121
+ getEntityTypeDescriptors(): EcsEntityTypeDescriptor[];
122
+ registerEntityTypeDescriptor(descriptor: EcsEntityTypeDescriptor): EcsEntityTypeDescriptor;
123
+ getScopes(): EcsScopeSummary[];
124
+ getEventStream(filter?: EcsEventStreamFilter): EcsEventLogEntry[];
125
+ getMetricEntries(filter?: EcsMetricsFilter): PerformanceTimeEntry[];
126
+ getMiddlewareMetrics(filter?: EcsMetricsFilter): MiddlewareMetricsSummary[];
127
+ getPipelineMetrics(entityType?: EntityTypeUid, phase?: SystemType | string): PipelineMetricsSummary | undefined;
128
+ getSchedulerSnapshot(): EcsSchedulerSnapshot | undefined;
129
+ getUpdateQueueSnapshot(limit?: number): EcsUpdateQueueSnapshot | undefined;
130
+ createEntitySpawnUpdate(spawn: EcsEntitySpawnRequest): IEntityUpdate;
131
+ enqueueEntitySpawn(spawn: EcsEntitySpawnRequest): IEntityUpdate | undefined;
132
+ listSystemsModules(): ReadonlyMap<EntityTypeUid, ISystemsModule<IEntity>>;
133
+ recordEvent(event: IEntityEvent<IEventData>, targets?: readonly IEntityProxy[]): void;
134
+ private bumpUpdate;
135
+ private instrumentRepositories;
136
+ }
137
+ declare function createEcsBridge(input: EcsBridgeInput): EcsBridge;
138
+ //#endregion
139
+ //#region src/context/ecs-flow-context.d.ts
140
+ type EcsCanvasContextOptions = {
141
+ readOnly?: boolean;
142
+ telemetryThresholdMs?: number;
143
+ };
144
+ type EcsFlowContextProps = EcsBridge & EcsCanvasContextOptions;
145
+ declare const EcsFlowContext: _$react.Context<EcsFlowContextProps>;
146
+ //#endregion
147
+ //#region src/context/ecs-canvas-provider.d.ts
148
+ type EcsCanvasProviderProps = PropsWithChildren<EcsCanvasContextOptions & {
149
+ bridge: EcsBridge;
150
+ }>;
151
+ declare function EcsCanvasProvider({
152
+ bridge,
153
+ children,
154
+ readOnly,
155
+ telemetryThresholdMs
156
+ }: Readonly<EcsCanvasProviderProps>): _$react_jsx_runtime0.JSX.Element;
157
+ //#endregion
158
+ export { PipelineMetricsSummary as _, EcsFlowContextProps as a, EcsFlowRepository as b, EcsBridgeStore as c, EcsEventStreamFilter as d, EcsMetricsFilter as f, EntityUpdateCounts as g, EcsUpdateQueueSnapshot as h, EcsFlowContext as i, EcsBridgeStoreName as l, EcsScopeSummary as m, EcsCanvasProviderProps as n, EcsBridge as o, EcsSchedulerSnapshot as p, EcsCanvasContextOptions as r, EcsBridgeInput as s, EcsCanvasProvider as t, EcsEventLogEntry as u, TelemetryMetricsSource as v, createEcsBridge as y };
159
+ //# sourceMappingURL=index-YNgbjS9S.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-YNgbjS9S.d.cts","names":[],"sources":["../src/context/ecs-flow-repository.ts","../src/context/ecs-bridge.ts","../src/context/ecs-flow-context.ts","../src/context/ecs-canvas-provider.tsx"],"mappings":";;;;;;;;;;;cAKa,iBAAA;EAAA,iBACM,KAAA;;MAMb,SAAA,CAAA;EAIJ,mBAAA,CAAoB,IAAA,EAAM,IAAA,CAAK,qBAAA;EAI/B,mBAAA,CAAoB,UAAA,EAAY,aAAA,GAAgB,IAAA,CAAK,qBAAA;EAIrD,iBAAA,CAAkB,IAAA,EAAM,IAAA,CAAK,kBAAA;EAI7B,iBAAA,CAAkB,OAAA,WAAkB,IAAA,CAAK,kBAAA;EAIzC,aAAA,CAAc,IAAA,EAAM,IAAA,CAAK,cAAA;EAQzB,aAAA,CAAc,MAAA,EAAQ,YAAA,GAAe,IAAA,CAAK,cAAA;EAI1C,WAAA,CAAY,IAAA,EAAM,IAAA;EAIlB,WAAA,CAAY,IAAA,WAAe,IAAA;EAI3B,YAAA,CAAA,GAAgB,IAAA;AAAA;;;KClBN,kBAAA;AAAA,KAaA,cAAA;EACV,WAAA;EACA,MAAA;EACA,SAAA,CAAU,QAAA;AAAA;AAAA,KAGA,sBAAA,GAAyB,iBAAA;EAAA,SAC1B,OAAA,GAAU,WAAA,SAAoB,aAAA,CAAc,oBAAA;EACrD,YAAA;AAAA;AAAA,KAGU,kBAAA;EACV,OAAA;EACA,OAAO;AAAA;AAAA,KAGG,gBAAA;EACV,KAAA,EAAO,YAAA,CAAa,UAAA;EACpB,UAAA;EACA,OAAA,WAAkB,YAAA;AAAA;AAAA,KAGR,eAAA;EACV,QAAA,WAAmB,OAAA;EACnB,OAAA;EACA,aAAA,EAAe,WAAA,CAAY,aAAA,EAAe,YAAA;AAAA;AAAA,KAGhC,oBAAA;EACV,KAAA;EACA,OAAA;EACA,MAAA,GAAS,YAAA;EACT,MAAA,GAAS,YAAA;EACT,IAAA,GAAO,cAAA;AAAA;AAAA,KAGG,gBAAA;EACV,QAAA,GAAW,oBAAA;EACX,UAAA,GAAa,aAAA;EACb,KAAA,GAAQ,UAAA;AAAA;AAAA,KAGE,sBAAA;EACV,KAAA;EACA,KAAA;EACA,MAAA;EACA,KAAA;EACA,KAAA;EACA,IAAA;EACA,OAAA;EACA,OAAA;AAAA;AAAA,KAGU,oBAAA;EACV,kBAAA,WAA6B,YAAA;EAC7B,QAAA;EACA,YAAA;EACA,SAAA;EACA,kBAAA,WAA6B,aAAa;AAAA;AAAA,KAGhC,sBAAA;EACV,KAAA,WAAgB,aAAa;EAC7B,IAAA;AAAA;AAAA,KAGU,cAAA;EACV,cAAA;EACA,iBAAA,GAAoB,iBAAA;EACpB,mBAAA,EAAqB,oBAAA;EACrB,qBAAA,EAAuB,sBAAA;EACvB,gBAAA,EAAkB,iBAAA;EAClB,eAAA,GAAkB,gBAAA;EAClB,qBAAA,YAAiC,uBAAA;EACjC,iBAAA,GAAoB,kBAAA;EACpB,YAAA;EACA,gBAAA,GAAmB,sBAAA;EACnB,uBAAA,EAAyB,wBAAA;AAAA;AAAA,cA2Id,SAAA;EAAA,SACF,iBAAA,EAAmB,iBAAA;EAAA,SACnB,mBAAA,EAAqB,oBAAA;EAAA,SACrB,qBAAA,EAAuB,sBAAA;EAAA,SACvB,gBAAA,EAAkB,iBAAA;EAAA,SAClB,eAAA,GAAkB,gBAAA;EAAA,SAClB,iBAAA,GAAoB,kBAAA;EAAA,SACpB,gBAAA,GAAmB,sBAAA;EAAA,SACnB,MAAA,EAAQ,MAAA,CAAO,kBAAA,EAAoB,cAAA;EAAA,SACnC,uBAAA,EAAyB,wBAAA;EAAA,iBAEjB,cAAA;EAAA,iBACA,qBAAA;EAAA,iBACA,YAAA;EAAA,iBACA,QAAA;EAAA,iBACA,aAAA;EAAA,iBACA,aAAA;EAAA,iBACA,YAAA;EAAA,iBACA,0BAAA;cAEL,KAAA,EAAO,cAAA;EAiCnB,OAAA,CAAA;EAMA,qBAAA,CAAsB,MAAA,EAAQ,YAAA,GAAe,SAAA,GAAY,kBAAA;EAKzD,kBAAA,CAAmB,OAAA,WAAkB,OAAA;EAIrC,uBAAA,CAAwB,cAAA,WAAyB,aAAA,GAAgB,uBAAA;EAQjE,wBAAA,CAAA,GAA4B,uBAAA;EA2B5B,4BAAA,CAA6B,UAAA,EAAY,uBAAA,GAA0B,uBAAA;EAOnE,SAAA,CAAA,GAAa,eAAA;EA2Bb,cAAA,CAAe,MAAA,GAAS,oBAAA,GAAuB,gBAAA;EA2B/C,gBAAA,CAAiB,MAAA,GAAS,gBAAA,GAAmB,oBAAA;EAQ7C,oBAAA,CAAqB,MAAA,GAAS,gBAAA,GAAmB,wBAAA;EAqCjD,kBAAA,CAAmB,UAAA,GAAa,aAAA,EAAe,KAAA,GAAQ,UAAA,YAAsB,sBAAA;EA0B7E,oBAAA,CAAA,GAAwB,oBAAA;EAcxB,sBAAA,CAAuB,KAAA,YAAiB,sBAAA;EAaxC,uBAAA,CAAwB,KAAA,EAAO,qBAAA,GAAwB,aAAA;EA8BvD,kBAAA,CAAmB,KAAA,EAAO,qBAAA,GAAwB,aAAA;EAUlD,kBAAA,CAAA,GAAsB,WAAA,CAAY,aAAA,EAAe,cAAA,CAAe,OAAA;EAIhE,WAAA,CAAY,KAAA,EAAO,YAAA,CAAa,UAAA,GAAa,OAAA,YAAkB,YAAA;EAAA,QAcvD,UAAA;EAAA,QAOA,sBAAA;AAAA;AAAA,iBA4HM,eAAA,CAAgB,KAAA,EAAO,cAAA,GAAiB,SAAS;;;KCvsBrD,uBAAA;EACV,QAAA;EACA,oBAAoB;AAAA;AAAA,KAGV,mBAAA,GAAsB,SAAA,GAAY,uBAAuB;AAAA,cAExD,cAAA,EAAc,OAAA,CAAA,OAAA,CAAA,mBAAA;;;KCFf,sBAAA,GAAyB,iBAAA,CACnC,uBAAA;EACE,MAAA,EAAQ,SAAA;AAAA;AAAA,iBAII,iBAAA,CAAA;EACd,MAAA;EACA,QAAA;EACA,QAAA;EACA;AAAA,GACC,QAAA,CAAS,sBAAA,IAAuB,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,159 @@
1
+ import { i as SystemsModuleNodeData, n as EntityNodeData, o as EcsEntitySpawnRequest, r as ScopeGroupNodeData, s as EcsEntityTypeDescriptor } from "./node-props-BtAkmdqr.mjs";
2
+ import * as _$react from "react";
3
+ import { PropsWithChildren } from "react";
4
+ import { Node } from "@xyflow/react";
5
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
6
+ import { ISystemsModule, ISystemsModuleRepository, SystemType } from "@awesome-ecs/abstract/systems";
7
+ import { EntityEventUid, EntityTypeUid, EntityUid, IEntity, IEntityEvent, IEntityEventsManager, IEntityProxy, IEntityProxyRepository, IEntityRepository, IEntityScheduler, IEntityUpdate, IEntityUpdateQueue, IEventData } from "@awesome-ecs/abstract/entities";
8
+ import { PipelineCategoryName } from "@awesome-ecs/abstract/factories";
9
+ import { IPerformanceTimer, MiddlewareMetricsSummary, PerformanceTimeEntry } from "@awesome-ecs/abstract/utils";
10
+
11
+ //#region src/context/ecs-flow-repository.d.ts
12
+ declare class EcsFlowRepository {
13
+ private readonly nodes;
14
+ constructor();
15
+ get sizeNodes(): number;
16
+ addSystemModuleNode(node: Node<SystemsModuleNodeData>): void;
17
+ getSystemModuleNode(entityType: EntityTypeUid): Node<SystemsModuleNodeData>;
18
+ addScopeGroupNode(node: Node<ScopeGroupNodeData>): void;
19
+ getScopeGroupNode(scopeId: string): Node<ScopeGroupNodeData>;
20
+ addEntityNode(node: Node<EntityNodeData>): void;
21
+ getEntityNode(entity: IEntityProxy): Node<EntityNodeData>;
22
+ addToolNode(node: Node): void;
23
+ getToolNode(type: string): Node;
24
+ listAllNodes(): Node[];
25
+ }
26
+ //#endregion
27
+ //#region src/context/ecs-bridge.d.ts
28
+ type EcsBridgeStoreName = 'entities' | 'entityTypes' | 'events' | 'metrics' | 'modules' | 'proxies' | 'queue' | 'scheduler' | 'scopes' | 'subscriptions' | 'updates';
29
+ type EcsBridgeStore = {
30
+ getSnapshot(): number;
31
+ notify(): void;
32
+ subscribe(listener: () => void): () => void;
33
+ };
34
+ type TelemetryMetricsSource = IPerformanceTimer & {
35
+ readonly metrics?: ReadonlyMap<string, ReadonlyArray<PerformanceTimeEntry>>;
36
+ clearMetrics?(): void;
37
+ };
38
+ type EntityUpdateCounts = {
39
+ removes: number;
40
+ updates: number;
41
+ };
42
+ type EcsEventLogEntry = {
43
+ event: IEntityEvent<IEventData>;
44
+ recordedAt: number;
45
+ targets: readonly IEntityProxy[];
46
+ };
47
+ type EcsScopeSummary = {
48
+ entities: readonly IEntity[];
49
+ scopeId: string;
50
+ scopedProxies: ReadonlyMap<EntityTypeUid, IEntityProxy>;
51
+ };
52
+ type EcsEventStreamFilter = {
53
+ limit?: number;
54
+ scopeId?: string;
55
+ source?: IEntityProxy;
56
+ target?: IEntityProxy;
57
+ type?: EntityEventUid;
58
+ };
59
+ type EcsMetricsFilter = {
60
+ category?: PipelineCategoryName;
61
+ entityType?: EntityTypeUid;
62
+ phase?: SystemType | string;
63
+ };
64
+ type PipelineMetricsSummary = {
65
+ avgMs: number;
66
+ count: number;
67
+ lastMs: number;
68
+ maxMs: number;
69
+ minMs: number;
70
+ name: string;
71
+ samples: readonly number[];
72
+ totalMs: number;
73
+ };
74
+ type EcsSchedulerSnapshot = {
75
+ frameSubscriptions: readonly IEntityProxy[];
76
+ isPaused: boolean;
77
+ pendingCount: number;
78
+ schedules: readonly unknown[];
79
+ skippedEntityTypes: readonly EntityTypeUid[];
80
+ };
81
+ type EcsUpdateQueueSnapshot = {
82
+ items: readonly IEntityUpdate[];
83
+ size: number;
84
+ };
85
+ type EcsBridgeInput = {
86
+ defaultScopeId?: string;
87
+ ecsFlowRepository?: EcsFlowRepository;
88
+ entityEventsManager: IEntityEventsManager;
89
+ entityProxyRepository: IEntityProxyRepository;
90
+ entityRepository: IEntityRepository;
91
+ entityScheduler?: IEntityScheduler;
92
+ entityTypeDescriptors?: readonly EcsEntityTypeDescriptor[];
93
+ entityUpdateQueue?: IEntityUpdateQueue;
94
+ eventLogSize?: number;
95
+ performanceTimer?: TelemetryMetricsSource;
96
+ systemsModuleRepository: ISystemsModuleRepository;
97
+ };
98
+ declare class EcsBridge {
99
+ readonly ecsFlowRepository: EcsFlowRepository;
100
+ readonly entityEventsManager: IEntityEventsManager;
101
+ readonly entityProxyRepository: IEntityProxyRepository;
102
+ readonly entityRepository: IEntityRepository;
103
+ readonly entityScheduler?: IEntityScheduler;
104
+ readonly entityUpdateQueue?: IEntityUpdateQueue;
105
+ readonly performanceTimer?: TelemetryMetricsSource;
106
+ readonly stores: Record<EcsBridgeStoreName, EcsBridgeStore>;
107
+ readonly systemsModuleRepository: ISystemsModuleRepository;
108
+ private readonly defaultScopeId?;
109
+ private readonly entityTypeDescriptors;
110
+ private readonly eventLogSize;
111
+ private readonly eventLog;
112
+ private readonly metricEntries;
113
+ private readonly scopedProxies;
114
+ private readonly updateCounts;
115
+ private readonly unsubscribeInstrumentation;
116
+ constructor(input: EcsBridgeInput);
117
+ dispose(): void;
118
+ getEntityUpdateCounts(target: IEntityProxy | EntityUid): EntityUpdateCounts;
119
+ getEntitiesInScope(scopeId: string): IEntity[];
120
+ getEntityTypeDescriptor(idOrEntityType: string | EntityTypeUid): EcsEntityTypeDescriptor | undefined;
121
+ getEntityTypeDescriptors(): EcsEntityTypeDescriptor[];
122
+ registerEntityTypeDescriptor(descriptor: EcsEntityTypeDescriptor): EcsEntityTypeDescriptor;
123
+ getScopes(): EcsScopeSummary[];
124
+ getEventStream(filter?: EcsEventStreamFilter): EcsEventLogEntry[];
125
+ getMetricEntries(filter?: EcsMetricsFilter): PerformanceTimeEntry[];
126
+ getMiddlewareMetrics(filter?: EcsMetricsFilter): MiddlewareMetricsSummary[];
127
+ getPipelineMetrics(entityType?: EntityTypeUid, phase?: SystemType | string): PipelineMetricsSummary | undefined;
128
+ getSchedulerSnapshot(): EcsSchedulerSnapshot | undefined;
129
+ getUpdateQueueSnapshot(limit?: number): EcsUpdateQueueSnapshot | undefined;
130
+ createEntitySpawnUpdate(spawn: EcsEntitySpawnRequest): IEntityUpdate;
131
+ enqueueEntitySpawn(spawn: EcsEntitySpawnRequest): IEntityUpdate | undefined;
132
+ listSystemsModules(): ReadonlyMap<EntityTypeUid, ISystemsModule<IEntity>>;
133
+ recordEvent(event: IEntityEvent<IEventData>, targets?: readonly IEntityProxy[]): void;
134
+ private bumpUpdate;
135
+ private instrumentRepositories;
136
+ }
137
+ declare function createEcsBridge(input: EcsBridgeInput): EcsBridge;
138
+ //#endregion
139
+ //#region src/context/ecs-flow-context.d.ts
140
+ type EcsCanvasContextOptions = {
141
+ readOnly?: boolean;
142
+ telemetryThresholdMs?: number;
143
+ };
144
+ type EcsFlowContextProps = EcsBridge & EcsCanvasContextOptions;
145
+ declare const EcsFlowContext: _$react.Context<EcsFlowContextProps>;
146
+ //#endregion
147
+ //#region src/context/ecs-canvas-provider.d.ts
148
+ type EcsCanvasProviderProps = PropsWithChildren<EcsCanvasContextOptions & {
149
+ bridge: EcsBridge;
150
+ }>;
151
+ declare function EcsCanvasProvider({
152
+ bridge,
153
+ children,
154
+ readOnly,
155
+ telemetryThresholdMs
156
+ }: Readonly<EcsCanvasProviderProps>): _$react_jsx_runtime0.JSX.Element;
157
+ //#endregion
158
+ export { PipelineMetricsSummary as _, EcsFlowContextProps as a, EcsFlowRepository as b, EcsBridgeStore as c, EcsEventStreamFilter as d, EcsMetricsFilter as f, EntityUpdateCounts as g, EcsUpdateQueueSnapshot as h, EcsFlowContext as i, EcsBridgeStoreName as l, EcsScopeSummary as m, EcsCanvasProviderProps as n, EcsBridge as o, EcsSchedulerSnapshot as p, EcsCanvasContextOptions as r, EcsBridgeInput as s, EcsCanvasProvider as t, EcsEventLogEntry as u, TelemetryMetricsSource as v, createEcsBridge as y };
159
+ //# sourceMappingURL=index-_BgjSgkQ.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-_BgjSgkQ.d.mts","names":[],"sources":["../src/context/ecs-flow-repository.ts","../src/context/ecs-bridge.ts","../src/context/ecs-flow-context.ts","../src/context/ecs-canvas-provider.tsx"],"mappings":";;;;;;;;;;;cAKa,iBAAA;EAAA,iBACM,KAAA;;MAMb,SAAA,CAAA;EAIJ,mBAAA,CAAoB,IAAA,EAAM,IAAA,CAAK,qBAAA;EAI/B,mBAAA,CAAoB,UAAA,EAAY,aAAA,GAAgB,IAAA,CAAK,qBAAA;EAIrD,iBAAA,CAAkB,IAAA,EAAM,IAAA,CAAK,kBAAA;EAI7B,iBAAA,CAAkB,OAAA,WAAkB,IAAA,CAAK,kBAAA;EAIzC,aAAA,CAAc,IAAA,EAAM,IAAA,CAAK,cAAA;EAQzB,aAAA,CAAc,MAAA,EAAQ,YAAA,GAAe,IAAA,CAAK,cAAA;EAI1C,WAAA,CAAY,IAAA,EAAM,IAAA;EAIlB,WAAA,CAAY,IAAA,WAAe,IAAA;EAI3B,YAAA,CAAA,GAAgB,IAAA;AAAA;;;KClBN,kBAAA;AAAA,KAaA,cAAA;EACV,WAAA;EACA,MAAA;EACA,SAAA,CAAU,QAAA;AAAA;AAAA,KAGA,sBAAA,GAAyB,iBAAA;EAAA,SAC1B,OAAA,GAAU,WAAA,SAAoB,aAAA,CAAc,oBAAA;EACrD,YAAA;AAAA;AAAA,KAGU,kBAAA;EACV,OAAA;EACA,OAAO;AAAA;AAAA,KAGG,gBAAA;EACV,KAAA,EAAO,YAAA,CAAa,UAAA;EACpB,UAAA;EACA,OAAA,WAAkB,YAAA;AAAA;AAAA,KAGR,eAAA;EACV,QAAA,WAAmB,OAAA;EACnB,OAAA;EACA,aAAA,EAAe,WAAA,CAAY,aAAA,EAAe,YAAA;AAAA;AAAA,KAGhC,oBAAA;EACV,KAAA;EACA,OAAA;EACA,MAAA,GAAS,YAAA;EACT,MAAA,GAAS,YAAA;EACT,IAAA,GAAO,cAAA;AAAA;AAAA,KAGG,gBAAA;EACV,QAAA,GAAW,oBAAA;EACX,UAAA,GAAa,aAAA;EACb,KAAA,GAAQ,UAAA;AAAA;AAAA,KAGE,sBAAA;EACV,KAAA;EACA,KAAA;EACA,MAAA;EACA,KAAA;EACA,KAAA;EACA,IAAA;EACA,OAAA;EACA,OAAA;AAAA;AAAA,KAGU,oBAAA;EACV,kBAAA,WAA6B,YAAA;EAC7B,QAAA;EACA,YAAA;EACA,SAAA;EACA,kBAAA,WAA6B,aAAa;AAAA;AAAA,KAGhC,sBAAA;EACV,KAAA,WAAgB,aAAa;EAC7B,IAAA;AAAA;AAAA,KAGU,cAAA;EACV,cAAA;EACA,iBAAA,GAAoB,iBAAA;EACpB,mBAAA,EAAqB,oBAAA;EACrB,qBAAA,EAAuB,sBAAA;EACvB,gBAAA,EAAkB,iBAAA;EAClB,eAAA,GAAkB,gBAAA;EAClB,qBAAA,YAAiC,uBAAA;EACjC,iBAAA,GAAoB,kBAAA;EACpB,YAAA;EACA,gBAAA,GAAmB,sBAAA;EACnB,uBAAA,EAAyB,wBAAA;AAAA;AAAA,cA2Id,SAAA;EAAA,SACF,iBAAA,EAAmB,iBAAA;EAAA,SACnB,mBAAA,EAAqB,oBAAA;EAAA,SACrB,qBAAA,EAAuB,sBAAA;EAAA,SACvB,gBAAA,EAAkB,iBAAA;EAAA,SAClB,eAAA,GAAkB,gBAAA;EAAA,SAClB,iBAAA,GAAoB,kBAAA;EAAA,SACpB,gBAAA,GAAmB,sBAAA;EAAA,SACnB,MAAA,EAAQ,MAAA,CAAO,kBAAA,EAAoB,cAAA;EAAA,SACnC,uBAAA,EAAyB,wBAAA;EAAA,iBAEjB,cAAA;EAAA,iBACA,qBAAA;EAAA,iBACA,YAAA;EAAA,iBACA,QAAA;EAAA,iBACA,aAAA;EAAA,iBACA,aAAA;EAAA,iBACA,YAAA;EAAA,iBACA,0BAAA;cAEL,KAAA,EAAO,cAAA;EAiCnB,OAAA,CAAA;EAMA,qBAAA,CAAsB,MAAA,EAAQ,YAAA,GAAe,SAAA,GAAY,kBAAA;EAKzD,kBAAA,CAAmB,OAAA,WAAkB,OAAA;EAIrC,uBAAA,CAAwB,cAAA,WAAyB,aAAA,GAAgB,uBAAA;EAQjE,wBAAA,CAAA,GAA4B,uBAAA;EA2B5B,4BAAA,CAA6B,UAAA,EAAY,uBAAA,GAA0B,uBAAA;EAOnE,SAAA,CAAA,GAAa,eAAA;EA2Bb,cAAA,CAAe,MAAA,GAAS,oBAAA,GAAuB,gBAAA;EA2B/C,gBAAA,CAAiB,MAAA,GAAS,gBAAA,GAAmB,oBAAA;EAQ7C,oBAAA,CAAqB,MAAA,GAAS,gBAAA,GAAmB,wBAAA;EAqCjD,kBAAA,CAAmB,UAAA,GAAa,aAAA,EAAe,KAAA,GAAQ,UAAA,YAAsB,sBAAA;EA0B7E,oBAAA,CAAA,GAAwB,oBAAA;EAcxB,sBAAA,CAAuB,KAAA,YAAiB,sBAAA;EAaxC,uBAAA,CAAwB,KAAA,EAAO,qBAAA,GAAwB,aAAA;EA8BvD,kBAAA,CAAmB,KAAA,EAAO,qBAAA,GAAwB,aAAA;EAUlD,kBAAA,CAAA,GAAsB,WAAA,CAAY,aAAA,EAAe,cAAA,CAAe,OAAA;EAIhE,WAAA,CAAY,KAAA,EAAO,YAAA,CAAa,UAAA,GAAa,OAAA,YAAkB,YAAA;EAAA,QAcvD,UAAA;EAAA,QAOA,sBAAA;AAAA;AAAA,iBA4HM,eAAA,CAAgB,KAAA,EAAO,cAAA,GAAiB,SAAS;;;KCvsBrD,uBAAA;EACV,QAAA;EACA,oBAAoB;AAAA;AAAA,KAGV,mBAAA,GAAsB,SAAA,GAAY,uBAAuB;AAAA,cAExD,cAAA,EAAc,OAAA,CAAA,OAAA,CAAA,mBAAA;;;KCFf,sBAAA,GAAyB,iBAAA,CACnC,uBAAA;EACE,MAAA,EAAQ,SAAA;AAAA;AAAA,iBAII,iBAAA,CAAA;EACd,MAAA;EACA,QAAA;EACA,QAAA;EACA;AAAA,GACC,QAAA,CAAS,sBAAA,IAAuB,oBAAA,CAAA,GAAA,CAAA,OAAA"}