@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.
- package/dist/canvas/index.cjs +5 -0
- package/dist/canvas/index.d.cts +2 -0
- package/dist/canvas/index.d.mts +2 -0
- package/dist/canvas/index.mjs +3 -0
- package/dist/canvas-C4nDXlkK.mjs +677 -0
- package/dist/canvas-C4nDXlkK.mjs.map +1 -0
- package/dist/canvas-DlWcWu05.cjs +688 -0
- package/dist/canvas-DlWcWu05.cjs.map +1 -0
- package/dist/context/index.cjs +497 -0
- package/dist/context/index.cjs.map +1 -0
- package/dist/context/index.d.cts +2 -0
- package/dist/context/index.d.mts +2 -0
- package/dist/context/index.mjs +492 -0
- package/dist/context/index.mjs.map +1 -0
- package/dist/entity-component-inspector-CNaN8Scf.mjs +79 -0
- package/dist/entity-component-inspector-CNaN8Scf.mjs.map +1 -0
- package/dist/entity-component-inspector-VlwcaUqy.cjs +90 -0
- package/dist/entity-component-inspector-VlwcaUqy.cjs.map +1 -0
- package/dist/hooks/index.cjs +19 -0
- package/dist/hooks/index.d.cts +2 -0
- package/dist/hooks/index.d.mts +2 -0
- package/dist/hooks/index.mjs +3 -0
- package/dist/id-generator-C2_8g29M.cjs +45 -0
- package/dist/id-generator-C2_8g29M.cjs.map +1 -0
- package/dist/id-generator-DDsv3NdX.mjs +34 -0
- package/dist/id-generator-DDsv3NdX.mjs.map +1 -0
- package/dist/index-B9WbxxFC.d.mts +67 -0
- package/dist/index-B9WbxxFC.d.mts.map +1 -0
- package/dist/index-BTs_8SY-.d.cts +20 -0
- package/dist/index-BTs_8SY-.d.cts.map +1 -0
- package/dist/index-C-TDFHpq.d.mts +54 -0
- package/dist/index-C-TDFHpq.d.mts.map +1 -0
- package/dist/index-CNCqWBLh.d.cts +54 -0
- package/dist/index-CNCqWBLh.d.cts.map +1 -0
- package/dist/index-CyeezgDI.d.mts +20 -0
- package/dist/index-CyeezgDI.d.mts.map +1 -0
- package/dist/index-D9zIjQH9.d.mts +1 -0
- package/dist/index-DCOd7jg-.d.mts +99 -0
- package/dist/index-DCOd7jg-.d.mts.map +1 -0
- package/dist/index-DGjpWDlm.d.cts +99 -0
- package/dist/index-DGjpWDlm.d.cts.map +1 -0
- package/dist/index-DLoAMD9J.d.cts +1 -0
- package/dist/index-YNgbjS9S.d.cts +159 -0
- package/dist/index-YNgbjS9S.d.cts.map +1 -0
- package/dist/index-_BgjSgkQ.d.mts +159 -0
- package/dist/index-_BgjSgkQ.d.mts.map +1 -0
- package/dist/index-t3_yRTa6.d.cts +67 -0
- package/dist/index-t3_yRTa6.d.cts.map +1 -0
- package/dist/index.cjs +55 -531
- package/dist/index.d.cts +9 -106
- package/dist/index.d.mts +9 -106
- package/dist/index.mjs +10 -520
- package/dist/inspectors/index.cjs +6 -0
- package/dist/inspectors/index.d.cts +2 -0
- package/dist/inspectors/index.d.mts +2 -0
- package/dist/inspectors/index.mjs +3 -0
- package/dist/node-props-BtAkmdqr.d.mts +45 -0
- package/dist/node-props-BtAkmdqr.d.mts.map +1 -0
- package/dist/node-props-DkuSwMA0.d.cts +45 -0
- package/dist/node-props-DkuSwMA0.d.cts.map +1 -0
- package/dist/node-systems-module-CPDV8u8O.d.mts +22 -0
- package/dist/node-systems-module-CPDV8u8O.d.mts.map +1 -0
- package/dist/node-systems-module-CzkoMbdF.d.cts +22 -0
- package/dist/node-systems-module-CzkoMbdF.d.cts.map +1 -0
- package/dist/node-types-BRcpbaeR.mjs +1604 -0
- package/dist/node-types-BRcpbaeR.mjs.map +1 -0
- package/dist/node-types-D_NfbsUT.cjs +1819 -0
- package/dist/node-types-D_NfbsUT.cjs.map +1 -0
- package/dist/nodes/index.cjs +10 -0
- package/dist/nodes/index.d.cts +3 -0
- package/dist/nodes/index.d.mts +3 -0
- package/dist/nodes/index.mjs +3 -0
- package/dist/template-tool-nodes-B7sT2iRc.d.cts +35 -0
- package/dist/template-tool-nodes-B7sT2iRc.d.cts.map +1 -0
- package/dist/template-tool-nodes-BwavFwMh.d.mts +35 -0
- package/dist/template-tool-nodes-BwavFwMh.d.mts.map +1 -0
- package/dist/templates/index.cjs +11 -0
- package/dist/templates/index.d.cts +2 -0
- package/dist/templates/index.d.mts +2 -0
- package/dist/templates/index.mjs +3 -0
- package/package.json +85 -25
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-types-BRcpbaeR.mjs","names":["useContext","useSyncExternalStore","EcsBridgeStoreName","EcsFlowContext","useEcsBridge","bridge","Error","useBridgeStoreVersion","storeName","store","stores","subscribe","getSnapshot","IEntity","useMemo","useBridgeStoreVersion","useEcsBridge","useEntitiesInScope","scopeId","$","_c","bridge","entityVersion","proxyVersion","t0","bb0","t1","Symbol","for","getEntitiesInScope","TEntity","IEntity","IEntityProxy","useMemo","EcsIdGenerator","useBridgeStoreVersion","useEcsBridge","useEntity","proxy","$","_c","bridge","version","proxyId","entityProxy","undefined","t0","bb0","entityRepository","has","t1","get","EntityTypeUid","IEntity","useMemo","useBridgeStoreVersion","useEcsBridge","useEntityList","type","$","_c","bridge","version","t0","bb0","undefined","t1","entityRepository","getAll","Array","from","listAll","TEntity","useMemo","useBridgeStoreVersion","useEcsBridge","useEntityTypeDescriptors","$","_c","bridge","version","t0","getEntityTypeDescriptors","EcsHandleDataType","proxy","module","EcsTemplateGroup","ecs","entities","tools","ITemplateFactory","NodeTemplate","Position","EcsEntityTypeDescriptor","EcsHandleDataType","EntityNodeData","EcsNodeType","EcsTemplateGroup","EcsIdGenerator","entityNodeHandles","dataType","proxy","position","Left","connection","const","disabled","Right","createEntityTypeTemplate","descriptor","id","entityType","entityTypeTemplate","type","entity","group","entities","data","title","toString","spawn","descriptorId","scopeId","handles","EntityNodeTemplate","template","ecs","useMemo","createEntityTypeTemplate","useEntityTypeDescriptors","useEntityTypeTemplates","t0","$","_c","enabled","undefined","descriptors","t1","bb0","t2","Symbol","for","map","EntityUid","IEntityProxy","useMemo","EntityUpdateCounts","useBridgeStoreVersion","useEcsBridge","useEntityUpdates","target","$","_c","bridge","version","t0","getEntityUpdateCounts","useMemo","EcsEventStreamFilter","useBridgeStoreVersion","useEcsBridge","useEventStream","filter","$","_c","bridge","version","t0","getEventStream","EntityTypeUid","PipelineCategoryName","SystemType","useMemo","EcsMetricsFilter","useBridgeStoreVersion","useEcsBridge","usePipelineMetrics","entityType","phase","$","_c","bridge","version","t0","getPipelineMetrics","useMiddlewareMetrics","filter","getMiddlewareMetrics","useMemo","useBridgeStoreVersion","useEcsBridge","useScheduler","$","_c","bridge","version","t0","getSchedulerSnapshot","useMemo","useBridgeStoreVersion","useEcsBridge","useScopeList","$","_c","bridge","entityVersion","scopeVersion","t0","getScopes","EntityTypeUid","IEntity","ISystemsModule","useMemo","useBridgeStoreVersion","useEcsBridge","useSystemsModule","type","$","_c","bridge","version","t0","bb0","undefined","t1","systemsModuleRepository","get","useSystemsModuleList","listSystemsModules","useMemo","useBridgeStoreVersion","useEcsBridge","useUpdateQueue","limit","$","_c","bridge","version","t0","getUpdateQueueSnapshot","NodeContainer","Badge","Group","Stack","Text","Node","NodeProps","memo","EcsToolNodeData","useEventStream","EcsIdGenerator","EventTimelineNode","t0","$","_c","id","data","selected","type","t1","limit","t2","events","t3","Symbol","for","t4","t5","length","t6","map","_temp","t7","t8","entry","recordedAt","event","uid","Date","toLocaleTimeString","entityProxy","origin","target","targets","memo","useMemo","CamelCaseFormatterProps","value","CamelCaseFormatter","props","$","_c","t0","toString","replace","IEntity","Accordion","Badge","Stack","memo","EntityComponentInspector","EntityComponentListProps","entity","EntityComponentList","props","$","_c","t0","components","Array","from","values","t1","length","t2","map","_temp","t3","c","i","Badge","BadgeProps","memo","FormatterCamelCase","BadgeListProps","items","badge","BadgeList","props","Readonly","map","value","i","IEntity","Accordion","Badge","Stack","memo","useBridgeStoreVersion","useEcsBridge","EcsIdGenerator","BadgeList","EntityProxyListProps","entity","EntityProxyList","props","$","_c","bridge","t0","entityProxyRepository","myProxy","proxies","Array","from","getAll","values","flat","map","_temp","items","t1","length","t2","Symbol","for","variant","t3","t4","p","entityProxy","IEntity","Accordion","Badge","Stack","memo","useBridgeStoreVersion","useEcsBridge","BadgeList","EntitySubscriptionListProps","entity","EntitySubscriptionList","props","$","_c","bridge","t0","entityEventsManager","myProxy","getSubscriptionsForEntity","subscriptions","t1","length","t2","Symbol","for","variant","t3","t4","EntityUid","Badge","memo","useEntityUpdates","EntityUpdateCounterProps","entityUid","EntityUpdateCounter","props","$","_c","updates","removes","t0","t1","t2","IEntity","Accordion","Badge","Divider","Group","EntityComponentList","EntityProxyList","EntitySubscriptionList","EntityUpdateCounter","NodeEntityProps","entity","EntityLayout","t0","$","_c","t1","myProxy","entityUid","t2","Symbol","for","t3","t4","NodeContainer","Badge","Stack","Text","Node","NodeProps","EntityNodeData","CamelCaseFormatter","useEntity","EntityLayout","EntityNode","t0","$","_c","id","data","selected","type","entity","entityType","myProxy","pending","spawnStatus","t1","title","t2","t3","t4","entityUid","t5","NodeContainer","Badge","Group","Stack","Text","Node","NodeProps","memo","EcsToolNodeData","useScheduler","SchedulerNode","t0","$","_c","id","data","selected","type","scheduler","t1","Symbol","for","t2","pendingCount","t3","t4","schedules","length","t5","t6","t7","isPaused","t8","t9","t10","t11","frameSubscriptions","t12","t13","t14","t15","t16","NodeCollapse","NodeContainer","Badge","Group","Text","Node","NodeProps","NodeResizer","memo","useMemo","useGroupNode","ScopeGroupNodeData","ScopeGroupNode","t0","$","_c","id","selected","data","type","width","height","t1","groupNodes","groupData","onCollapsed","t2","initialSize","t3","t4","size","t5","length","t6","t7","isCollapsed","t8","t9","scopeId","t10","title","t11","t12","t13","t14","IMiddleware","IPipeline","IPipelineContext","Accordion","Badge","Stack","BadgeList","PipelineMiddlewareListProps","pipeline","label","PipelineMiddlewareList","props","$","_c","t0","Symbol","for","middleware","t1","map","_temp","components","t2","length","t3","variant","t4","t5","m","name","constructor","EntityTypeUid","IEntity","ISystemsModule","ISystemsRuntimeContext","SystemType","Accordion","Text","PipelineMiddlewareList","NodeSystemModuleProps","type","module","SystemsModuleLayout","props","$","_c","runtimeContext","systemsModule","error","systemContext","runtime","t0","builder","pipelines","get","initialize","init","t1","update","t2","render","t3","sync","t4","t5","t6","t7","t8","t9","t10","NodeContainer","Badge","Node","NodeProps","SystemsModuleNodeData","CamelCaseFormatter","useSystemsModule","SystemsModuleLayout","SystemsModuleNode","t0","$","_c","id","data","selected","type","module","entityType","t1","t2","t3","NodeContainer","Badge","Group","Stack","Text","Node","NodeProps","memo","EcsToolNodeData","useMiddlewareMetrics","TelemetryNode","t0","$","_c","id","data","selected","type","metrics","T0","T1","t1","t2","t3","t4","t5","t6","t7","t8","t9","visibleMetrics","slice","limit","Symbol","for","length","map","_temp","t10","t11","metric","category","name","lastMs","toFixed","NodeContainer","Badge","Group","Stack","Text","Node","NodeProps","memo","EcsToolNodeData","useUpdateQueue","EcsIdGenerator","UpdateQueueNode","t0","$","_c","id","data","selected","type","queue","limit","t1","items","t2","Symbol","for","t3","size","t4","t5","t6","map","_temp","t7","t8","item","index","entityProxy","entity","ITemplateFactory","NodeTemplate","ScopeGroupNodeData","EcsNodeType","EcsTemplateGroup","ScopeGroupNodeTemplate","template","type","scopeGroup","group","ecs","data","title","isGroup","scopeId","initialSize","width","height","collapsedSize","handles","ITemplateFactory","NodeTemplate","Position","EcsHandleDataType","SystemsModuleNodeData","EcsNodeType","EcsTemplateGroup","SystemsModuleNodeTemplate","template","type","systemsModule","group","ecs","data","title","entityType","handles","dataType","module","position","Left","connection","disabled","ITemplateFactory","NodeTemplate","EcsToolNodeData","EcsNodeType","EcsTemplateGroup","createToolTemplate","type","title","group","tools","data","limit","initialSize","width","height","handles","SchedulerNodeTemplate","template","scheduler","EventTimelineNodeTemplate","eventTimeline","TelemetryNodeTemplate","telemetry","UpdateQueueNodeTemplate","updateQueue","NodeTypes","EventTimelineNode","EntityNode","SchedulerNode","ScopeGroupNode","SystemsModuleNode","TelemetryNode","UpdateQueueNode","EntityNodeTemplate","ScopeGroupNodeTemplate","SystemsModuleNodeTemplate","EventTimelineNodeTemplate","SchedulerNodeTemplate","TelemetryNodeTemplate","UpdateQueueNodeTemplate","EcsNodeType","systemsModule","entity","scopeGroup","scheduler","eventTimeline","telemetry","updateQueue","ecsNodeTypes","ecsNodeTemplates"],"sources":["../src/hooks/use-ecs-bridge.ts","../src/hooks/use-entities-in-scope.ts","../src/hooks/use-entity.ts","../src/hooks/use-entity-list.ts","../src/hooks/use-entity-type-descriptors.ts","../src/abstract/handle-types.ts","../src/abstract/templates.ts","../src/templates/template-entity-node.ts","../src/hooks/use-entity-type-templates.ts","../src/hooks/use-entity-updates.ts","../src/hooks/use-event-stream.ts","../src/hooks/use-pipeline-metrics.ts","../src/hooks/use-scheduler.ts","../src/hooks/use-scope-list.ts","../src/hooks/use-systems-module.ts","../src/hooks/use-update-queue.ts","../src/nodes/node-event-timeline.tsx","../src/components/formatter-camel-case.tsx","../src/components/entity-component-list.tsx","../src/components/badge-list.tsx","../src/components/entity-proxy-list.tsx","../src/components/entity-subscription-list.tsx","../src/components/entity-update-counter.tsx","../src/layout/entity-layout.tsx","../src/nodes/node-entity.tsx","../src/nodes/node-scheduler.tsx","../src/nodes/node-scope-group.tsx","../src/components/pipeline-middleware-list.tsx","../src/layout/systems-module-layout.tsx","../src/nodes/node-systems-module.tsx","../src/nodes/node-telemetry.tsx","../src/nodes/node-update-queue.tsx","../src/templates/template-scope-group.ts","../src/templates/template-systems-module.ts","../src/templates/template-tool-nodes.ts","../src/abstract/node-types.ts"],"sourcesContent":["import { useContext, useSyncExternalStore } from 'react';\nimport { EcsBridgeStoreName } from '../context/ecs-bridge';\nimport { EcsFlowContext } from '../context/ecs-flow-context';\n\nexport function useEcsBridge() {\n const bridge = useContext(EcsFlowContext);\n\n if (!bridge) {\n throw new Error('useEcsBridge must be used inside an EcsCanvasProvider.');\n }\n\n return bridge;\n}\n\nexport function useBridgeStoreVersion(storeName: EcsBridgeStoreName): number {\n const bridge = useEcsBridge();\n const store = bridge.stores[storeName];\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);\n}\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { useMemo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useEntitiesInScope<TEntity extends IEntity = IEntity>(\n scopeId: string | undefined\n): TEntity[] {\n const bridge = useEcsBridge();\n const entityVersion = useBridgeStoreVersion('entities');\n const proxyVersion = useBridgeStoreVersion('proxies');\n\n return useMemo(() => {\n if (!scopeId) {\n return [];\n }\n\n return bridge.getEntitiesInScope(scopeId) as TEntity[];\n }, [bridge, entityVersion, proxyVersion, scopeId]);\n}\n","import { IEntity, IEntityProxy } from '@awesome-ecs/abstract/entities';\nimport { useMemo } from 'react';\nimport { EcsIdGenerator } from '../utils/id-generator';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useEntity<TEntity extends IEntity = IEntity>(\n proxy: IEntityProxy | undefined\n): TEntity | undefined {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('entities');\n const proxyId = proxy ? EcsIdGenerator.entityProxy(proxy) : undefined;\n\n return useMemo(() => {\n if (!proxy || !bridge.entityRepository.has(proxy)) {\n return undefined;\n }\n\n return bridge.entityRepository.get<TEntity>(proxy);\n }, [bridge, proxy, proxyId, version]);\n}\n","import { EntityTypeUid, IEntity } from '@awesome-ecs/abstract/entities';\nimport { useMemo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useEntityList<TEntity extends IEntity = IEntity>(\n type?: EntityTypeUid\n): TEntity[] {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('entities');\n\n return useMemo(() => {\n if (type !== undefined) {\n return bridge.entityRepository.getAll<TEntity>(type);\n }\n\n return Array.from(bridge.entityRepository.listAll()) as TEntity[];\n }, [bridge, type, version]);\n}\n","import { useMemo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useEntityTypeDescriptors() {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('entityTypes');\n\n return useMemo(() => bridge.getEntityTypeDescriptors(), [bridge, version]);\n}\n","export enum EcsHandleDataType {\n proxy = 'proxy',\n module = 'module'\n}\n","export enum EcsTemplateGroup {\n ecs = 'ECS',\n entities = 'ECS Entities',\n tools = 'ECS Tools'\n}\n","import { ITemplateFactory, NodeTemplate } from '@awesome-flow/core/abstract';\nimport { Position } from '@xyflow/react';\nimport { EcsEntityTypeDescriptor } from '../abstract/entity-type-descriptor';\nimport { EcsHandleDataType } from '../abstract/handle-types';\nimport { EntityNodeData } from '../abstract/node-props';\nimport { EcsNodeType } from '../abstract/node-types';\nimport { EcsTemplateGroup } from '../abstract/templates';\nimport { EcsIdGenerator } from '../utils/id-generator';\n\nconst entityNodeHandles = [\n {\n dataType: EcsHandleDataType.proxy,\n position: Position.Left,\n connection: 'target' as const,\n disabled: true\n },\n {\n dataType: EcsHandleDataType.proxy,\n position: Position.Right,\n connection: 'source' as const,\n disabled: true\n }\n];\n\nexport function createEntityTypeTemplate(descriptor: EcsEntityTypeDescriptor): NodeTemplate<EntityNodeData> {\n const id = descriptor.id ?? EcsIdGenerator.entityType(descriptor.entityType);\n\n return {\n id: EcsIdGenerator.entityTypeTemplate(descriptor.entityType, id),\n type: EcsNodeType.entity,\n group: descriptor.group ?? EcsTemplateGroup.entities,\n data: {\n title: descriptor.title ?? descriptor.entityType.toString(),\n entityType: descriptor.entityType,\n spawn: {\n descriptorId: id,\n entityType: descriptor.entityType,\n scopeId: descriptor.scopeId\n }\n },\n handles: entityNodeHandles\n };\n}\n\nexport class EntityNodeTemplate implements ITemplateFactory {\n readonly template: NodeTemplate<EntityNodeData> = {\n type: EcsNodeType.entity,\n group: EcsTemplateGroup.ecs,\n data: {\n title: 'Entity'\n },\n handles: entityNodeHandles\n };\n}\n","import { useMemo } from 'react';\nimport { createEntityTypeTemplate } from '../templates/template-entity-node';\nimport { useEntityTypeDescriptors } from './use-entity-type-descriptors';\n\nexport function useEntityTypeTemplates(enabled = true) {\n const descriptors = useEntityTypeDescriptors();\n\n return useMemo(() => {\n if (!enabled) {\n return [];\n }\n\n return descriptors.map(createEntityTypeTemplate);\n }, [descriptors, enabled]);\n}\n","import { EntityUid, IEntityProxy } from '@awesome-ecs/abstract/entities';\nimport { useMemo } from 'react';\nimport { EntityUpdateCounts } from '../context/ecs-bridge';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useEntityUpdates(target: IEntityProxy | EntityUid): EntityUpdateCounts {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('updates');\n\n return useMemo(() => bridge.getEntityUpdateCounts(target), [bridge, target, version]);\n}\n","import { useMemo } from 'react';\nimport { EcsEventStreamFilter } from '../context/ecs-bridge';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useEventStream(filter?: EcsEventStreamFilter) {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('events');\n\n return useMemo(() => bridge.getEventStream(filter), [bridge, filter, version]);\n}\n","import { EntityTypeUid } from '@awesome-ecs/abstract/entities';\nimport { PipelineCategoryName } from '@awesome-ecs/abstract/factories';\nimport { SystemType } from '@awesome-ecs/abstract/systems';\nimport { useMemo } from 'react';\nimport { EcsMetricsFilter } from '../context/ecs-bridge';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function usePipelineMetrics(entityType?: EntityTypeUid, phase?: SystemType | string) {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('metrics');\n\n return useMemo(\n () => bridge.getPipelineMetrics(entityType, phase),\n [bridge, entityType, phase, version]\n );\n}\n\nexport function useMiddlewareMetrics(filter?: EcsMetricsFilter & { category?: PipelineCategoryName }) {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('metrics');\n\n return useMemo(() => bridge.getMiddlewareMetrics(filter), [bridge, filter, version]);\n}\n","import { useMemo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useScheduler() {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('scheduler');\n\n return useMemo(() => bridge.getSchedulerSnapshot(), [bridge, version]);\n}\n","import { useMemo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useScopeList() {\n const bridge = useEcsBridge();\n const entityVersion = useBridgeStoreVersion('entities');\n const scopeVersion = useBridgeStoreVersion('scopes');\n\n return useMemo(() => bridge.getScopes(), [bridge, entityVersion, scopeVersion]);\n}\n","import { EntityTypeUid, IEntity } from '@awesome-ecs/abstract/entities';\nimport { ISystemsModule } from '@awesome-ecs/abstract/systems';\nimport { useMemo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useSystemsModule<TEntity extends IEntity = IEntity>(\n type: EntityTypeUid | undefined\n): ISystemsModule<TEntity> | undefined {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('modules');\n\n return useMemo(() => {\n if (type === undefined) {\n return undefined;\n }\n\n return bridge.systemsModuleRepository.get<TEntity>(type);\n }, [bridge, type, version]);\n}\n\nexport function useSystemsModuleList(): ReadonlyMap<EntityTypeUid, ISystemsModule<IEntity>> {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('modules');\n\n return useMemo(() => bridge.listSystemsModules(), [bridge, version]);\n}\n","import { useMemo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from './use-ecs-bridge';\n\nexport function useUpdateQueue(limit?: number) {\n const bridge = useEcsBridge();\n const version = useBridgeStoreVersion('queue');\n\n return useMemo(() => bridge.getUpdateQueueSnapshot(limit), [bridge, limit, version]);\n}\n","import { NodeContainer } from '@awesome-flow/core/layout';\nimport { Badge, Group, Stack, Text } from '@mantine/core';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { memo } from 'react';\nimport { EcsToolNodeData } from '../abstract/node-props';\nimport { useEventStream } from '../hooks';\nimport { EcsIdGenerator } from '../utils/id-generator';\n\nfunction EventTimelineNode({ id, data, selected, type }: NodeProps<Node<EcsToolNodeData>>) {\n const events = useEventStream({ limit: data.limit ?? 10 });\n\n return (\n <NodeContainer\n id={id}\n selected={selected}\n data={data}\n title={\n <Badge fullWidth color=\"grape\" variant=\"transparent\">\n Event Timeline\n </Badge>\n }\n type={type}\n >\n <Stack gap=\"xs\">\n <Badge variant=\"light\">events {events.length}</Badge>\n {events.length === 0 && (\n <Text size=\"xs\" c=\"dimmed\">\n No events recorded.\n </Text>\n )}\n {events.map((entry) => (\n <Stack key={`${entry.recordedAt}:${entry.event.data.uid}`} gap={2}>\n <Group gap=\"xs\" wrap=\"nowrap\">\n <Badge size=\"xs\" variant=\"outline\">\n {entry.event.data.uid}\n </Badge>\n <Text size=\"xs\" c=\"dimmed\">\n {new Date(entry.recordedAt).toLocaleTimeString()}\n </Text>\n </Group>\n <Text size=\"xs\" truncate>\n {EcsIdGenerator.entityProxy(entry.event.origin)}\n {' -> '}\n {entry.event.target ? EcsIdGenerator.entityProxy(entry.event.target) : `${entry.targets.length} target(s)`}\n </Text>\n </Stack>\n ))}\n </Stack>\n </NodeContainer>\n );\n}\n\nexport default memo(EventTimelineNode);\n","import { memo, useMemo } from 'react';\n\nexport type CamelCaseFormatterProps = {\n value: string | number;\n};\n\nfunction CamelCaseFormatter(props: Readonly<CamelCaseFormatterProps>) {\n const value = useMemo(\n () => props.value?.toString().replace(/([a-z])([A-Z])/g, '$1 $2'),\n [props.value]\n );\n return value;\n}\n\nexport default memo(CamelCaseFormatter);\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { Accordion, Badge, Stack } from '@mantine/core';\nimport { memo } from 'react';\nimport EntityComponentInspector from './entity-component-inspector';\n\nexport type EntityComponentListProps = {\n entity: IEntity;\n};\n\nfunction EntityComponentList(props: Readonly<EntityComponentListProps>) {\n const components = Array.from(props.entity.components.values());\n\n return (\n <Accordion.Item key=\"components\" value=\"components\">\n <Accordion.Control>\n <Badge fullWidth variant=\"light\" rightSection={components.length}>\n Components\n </Badge>\n </Accordion.Control>\n <Accordion.Panel>\n <Stack>\n {components.map((c, i) => (\n <EntityComponentInspector component={c} key={i} />\n ))}\n </Stack>\n </Accordion.Panel>\n </Accordion.Item>\n );\n}\n\nexport default memo(EntityComponentList);\n","import { Badge, BadgeProps } from '@mantine/core';\nimport { memo } from 'react';\nimport FormatterCamelCase from './formatter-camel-case';\n\nexport type BadgeListProps = {\n items: (string | number)[];\n badge?: BadgeProps;\n};\n\nfunction BadgeList(props: Readonly<BadgeListProps>) {\n return props.items.map((value, i) => {\n return (\n <Badge key={i} {...(props.badge || [])}>\n <FormatterCamelCase value={value} />\n </Badge>\n );\n });\n}\n\nexport default memo(BadgeList);\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { Accordion, Badge, Stack } from '@mantine/core';\nimport { memo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from '../hooks';\nimport { EcsIdGenerator } from '../utils/id-generator';\nimport BadgeList from './badge-list';\n\nexport type EntityProxyListProps = {\n entity: IEntity;\n};\n\nfunction EntityProxyList(props: Readonly<EntityProxyListProps>) {\n const bridge = useEcsBridge();\n useBridgeStoreVersion('proxies');\n\n const proxies = Array.from(bridge.entityProxyRepository.getAll(props.entity.myProxy).values()).flat();\n const items = proxies.map((p) => EcsIdGenerator.entityProxy(p));\n\n return (\n <Accordion.Item key=\"proxies\" value=\"proxies\">\n <Accordion.Control>\n <Badge fullWidth variant=\"light\" rightSection={items.length}>\n Proxies\n </Badge>\n </Accordion.Control>\n <Accordion.Panel>\n <Stack>\n <BadgeList items={items} badge={{ variant: 'outline' }} />\n </Stack>\n </Accordion.Panel>\n </Accordion.Item>\n );\n}\n\nexport default memo(EntityProxyList);\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { Accordion, Badge, Stack } from '@mantine/core';\nimport { memo } from 'react';\nimport { useBridgeStoreVersion, useEcsBridge } from '../hooks';\nimport BadgeList from './badge-list';\n\nexport type EntitySubscriptionListProps = {\n entity: IEntity;\n};\n\nfunction EntitySubscriptionList(props: Readonly<EntitySubscriptionListProps>) {\n const bridge = useEcsBridge();\n useBridgeStoreVersion('subscriptions');\n\n const subscriptions = bridge.entityEventsManager.getSubscriptionsForEntity(props.entity.myProxy);\n\n return (\n <Accordion.Item key=\"subscriptions\" value=\"subscriptions\">\n <Accordion.Control>\n <Badge fullWidth variant=\"light\" rightSection={subscriptions.length}>\n Events\n </Badge>\n </Accordion.Control>\n <Accordion.Panel>\n <Stack>\n <BadgeList items={subscriptions} badge={{ variant: 'outline' }} />\n </Stack>\n </Accordion.Panel>\n </Accordion.Item>\n );\n}\n\nexport default memo(EntitySubscriptionList);\n","import { EntityUid } from '@awesome-ecs/abstract/entities';\nimport { Badge } from '@mantine/core';\nimport { memo } from 'react';\nimport { useEntityUpdates } from '../hooks';\n\nexport type EntityUpdateCounterProps = {\n entityUid: EntityUid;\n};\n\nfunction EntityUpdateCounter(props: Readonly<EntityUpdateCounterProps>) {\n const { updates, removes } = useEntityUpdates(props.entityUid);\n\n return (\n <>\n <Badge variant=\"light\">{updates}</Badge>\n <Badge variant=\"light\" color=\"orange\">\n {removes}\n </Badge>\n </>\n );\n}\n\nexport default memo(EntityUpdateCounter);\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { Accordion, Badge, Divider, Group } from '@mantine/core';\nimport EntityComponentList from '../components/entity-component-list';\nimport EntityProxyList from '../components/entity-proxy-list';\nimport EntitySubscriptionList from '../components/entity-subscription-list';\nimport EntityUpdateCounter from '../components/entity-update-counter';\n\nexport type NodeEntityProps = {\n entity: IEntity;\n};\n\nfunction EntityLayout({ entity }: Readonly<NodeEntityProps>) {\n return (\n <>\n <Group>\n <Badge variant=\"outline\" color=\"orange\">\n {entity.myProxy.entityUid}\n </Badge>\n <EntityUpdateCounter entityUid={entity.myProxy.entityUid} />\n </Group>\n <Divider my={5} />\n <Accordion>\n <EntityComponentList entity={entity} />\n <EntityProxyList entity={entity} />\n <EntitySubscriptionList entity={entity} />\n </Accordion>\n </>\n );\n}\n\nexport default EntityLayout;\n","import { NodeContainer } from '@awesome-flow/core/layout';\nimport { Badge, Stack, Text } from '@mantine/core';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { EntityNodeData } from '../abstract/node-props';\nimport CamelCaseFormatter from '../components/formatter-camel-case';\nimport { useEntity } from '../hooks';\nimport EntityLayout from '../layout/entity-layout';\n\nfunction EntityNode({ id, data, selected, type }: NodeProps<Node<EntityNodeData>>) {\n const entity = useEntity(data.entity);\n const entityType = entity?.myProxy.entityType ?? data.entity?.entityType ?? data.entityType;\n const pending = data.spawnStatus === 'queued' && !entity;\n\n return (\n <NodeContainer\n id={id}\n selected={selected}\n data={data}\n title={\n <Badge fullWidth variant=\"transparent\">\n <CamelCaseFormatter value={entityType ?? data.title} />\n </Badge>\n }\n type={type}\n >\n {entity && <EntityLayout entity={entity} />}\n {!entity && (\n <Stack gap=\"xs\">\n <Badge variant=\"light\" color={pending ? 'yellow' : 'gray'}>\n {pending ? 'upsert queued' : 'no entity bound'}\n </Badge>\n {data.entity && (\n <Text size=\"xs\" c=\"dimmed\" truncate>\n {data.entity.entityType}:{data.entity.entityUid}\n </Text>\n )}\n </Stack>\n )}\n </NodeContainer>\n );\n}\n\nexport default EntityNode;\n","import { NodeContainer } from '@awesome-flow/core/layout';\nimport { Badge, Group, Stack, Text } from '@mantine/core';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { memo } from 'react';\nimport { EcsToolNodeData } from '../abstract/node-props';\nimport { useScheduler } from '../hooks';\n\nfunction SchedulerNode({ id, data, selected, type }: NodeProps<Node<EcsToolNodeData>>) {\n const scheduler = useScheduler();\n\n return (\n <NodeContainer\n id={id}\n selected={selected}\n data={data}\n title={\n <Badge fullWidth color=\"cyan\" variant=\"transparent\">\n Scheduler\n </Badge>\n }\n type={type}\n >\n <Stack gap=\"xs\">\n <Group gap=\"xs\">\n <Badge variant=\"light\">pending {scheduler?.pendingCount ?? 0}</Badge>\n <Badge variant=\"light\">scheduled {scheduler?.schedules.length ?? 0}</Badge>\n </Group>\n <Group gap=\"xs\">\n <Badge variant={scheduler?.isPaused ? 'filled' : 'outline'} color={scheduler?.isPaused ? 'orange' : 'gray'}>\n {scheduler?.isPaused ? 'paused' : 'running'}\n </Badge>\n <Badge variant=\"outline\">per-frame {scheduler?.frameSubscriptions.length ?? 0}</Badge>\n </Group>\n {!scheduler && (\n <Text size=\"xs\" c=\"dimmed\">\n No scheduler connected.\n </Text>\n )}\n </Stack>\n </NodeContainer>\n );\n}\n\nexport default memo(SchedulerNode);\n","import { NodeCollapse, NodeContainer } from '@awesome-flow/core/layout';\nimport { Badge, Group, Text } from '@mantine/core';\nimport { Node, NodeProps, NodeResizer } from '@xyflow/react';\nimport { memo, useMemo } from 'react';\nimport { useGroupNode } from '@awesome-flow/core/hooks';\nimport { ScopeGroupNodeData } from '../abstract/node-props';\n\nfunction ScopeGroupNode({ id, selected, data, type, width, height }: NodeProps<Node<ScopeGroupNodeData>>) {\n const { groupNodes, groupData, onCollapsed } = useGroupNode({ id, data, width, height });\n\n const size = useMemo(\n () => ({\n width: data.initialSize?.width || 320,\n height: data.initialSize?.height || 220\n }),\n [data.initialSize]\n );\n\n const title = useMemo(\n () => (\n <Group justify=\"space-between\" wrap=\"nowrap\">\n <Group gap=\"xs\" wrap=\"nowrap\">\n <Badge size=\"xs\" variant=\"outline\" radius=\"xs\" color=\"teal\">\n {groupNodes?.length || 0}\n </Badge>\n <NodeCollapse nodeId={id} isCollapsed={data.isCollapsed} onCollapsed={onCollapsed} />\n </Group>\n <Text size=\"xs\" c=\"dimmed\" truncate>\n {data.scopeId}\n </Text>\n </Group>\n ),\n [data.scopeId, data.isCollapsed, groupNodes, id, onCollapsed]\n );\n\n return (\n <>\n <NodeContainer id={id} selected={selected} data={groupData} title={title} type={type} />\n <NodeResizer nodeId={id} minWidth={size.width} minHeight={size.height} isVisible={selected && !data.isCollapsed} />\n </>\n );\n}\n\nexport default memo(ScopeGroupNode);\n","import { IMiddleware, IPipeline, IPipelineContext } from '@awesome-ecs/abstract/pipelines';\nimport { Accordion, Badge, Stack } from '@mantine/core';\nimport BadgeList from './badge-list';\n\nexport type PipelineMiddlewareListProps = {\n pipeline: IPipeline<IPipelineContext>;\n label: string;\n};\n\nfunction PipelineMiddlewareList(props: Readonly<PipelineMiddlewareListProps>) {\n let middleware: IMiddleware<IPipelineContext>[] = [];\n\n if (props.pipeline) {\n middleware = props.pipeline['middleware'] as IMiddleware<IPipelineContext>[];\n }\n\n const components = middleware.map((m) => {\n return m.name || m.constructor.name;\n });\n\n return (\n <Accordion.Item key={props.label} value={props.label}>\n <Accordion.Control>\n <Badge fullWidth variant=\"light\" rightSection={components.length}>\n {props.label}\n </Badge>\n </Accordion.Control>\n <Accordion.Panel>\n <Stack>\n <BadgeList items={components} badge={{ variant: 'outline' }} />\n </Stack>\n </Accordion.Panel>\n </Accordion.Item>\n );\n}\n\nexport default PipelineMiddlewareList;\n","import { EntityTypeUid, IEntity } from '@awesome-ecs/abstract/entities';\nimport { ISystemsModule, ISystemsRuntimeContext, SystemType } from '@awesome-ecs/abstract/systems';\nimport { Accordion, Text } from '@mantine/core';\nimport PipelineMiddlewareList from '../components/pipeline-middleware-list';\n\nexport type NodeSystemModuleProps = {\n type: EntityTypeUid;\n module: ISystemsModule<IEntity>;\n};\n\nfunction SystemsModuleLayout(props: Readonly<NodeSystemModuleProps>) {\n const { module } = props;\n\n const runtimeContext = module['runtimeContext'] as ISystemsRuntimeContext<IEntity> | undefined;\n const systemsModule = runtimeContext?.systemsModule ?? module;\n\n const error = runtimeContext?.systemContext?.runtime?.error;\n\n const init = systemsModule.builder.pipelines.get(SystemType.initialize);\n const update = systemsModule.builder.pipelines.get(SystemType.update);\n const render = systemsModule.builder.pipelines.get(SystemType.render);\n const sync = systemsModule.builder.pipelines.get(SystemType.sync);\n\n return (\n <>\n {error && <Text>Error: {error}</Text>}\n <Accordion>\n {init && <PipelineMiddlewareList pipeline={init} label=\"Initialize\" />}\n {update && <PipelineMiddlewareList pipeline={update} label=\"Update\" />}\n {render && <PipelineMiddlewareList pipeline={render} label=\"Render\" />}\n {sync && <PipelineMiddlewareList pipeline={sync} label=\"Sync\" />}\n </Accordion>\n </>\n );\n}\n\nexport default SystemsModuleLayout;\n","import { NodeContainer } from '@awesome-flow/core/layout';\nimport { Badge } from '@mantine/core';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { SystemsModuleNodeData } from '../abstract/node-props';\nimport CamelCaseFormatter from '../components/formatter-camel-case';\nimport { useSystemsModule } from '../hooks';\nimport SystemsModuleLayout from '../layout/systems-module-layout';\n\nfunction SystemsModuleNode({ id, data, selected, type }: NodeProps<Node<SystemsModuleNodeData>>) {\n const module = useSystemsModule(data.entityType);\n\n return (\n <NodeContainer\n id={id}\n selected={selected}\n data={data}\n title={\n <Badge fullWidth color=\"indigo\" variant=\"transparent\">\n <CamelCaseFormatter value={data.entityType} />\n </Badge>\n }\n type={type}\n >\n {module && <SystemsModuleLayout type={data.entityType} module={module} />}\n </NodeContainer>\n );\n}\n\nexport default SystemsModuleNode;\n","import { NodeContainer } from '@awesome-flow/core/layout';\nimport { Badge, Group, Stack, Text } from '@mantine/core';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { memo } from 'react';\nimport { EcsToolNodeData } from '../abstract/node-props';\nimport { useMiddlewareMetrics } from '../hooks';\n\nfunction TelemetryNode({ id, data, selected, type }: NodeProps<Node<EcsToolNodeData>>) {\n const metrics = useMiddlewareMetrics();\n const visibleMetrics = metrics.slice(0, data.limit ?? 6);\n\n return (\n <NodeContainer\n id={id}\n selected={selected}\n data={data}\n title={\n <Badge fullWidth color=\"lime\" variant=\"transparent\">\n Telemetry\n </Badge>\n }\n type={type}\n >\n <Stack gap=\"xs\">\n <Badge variant=\"light\">metrics {metrics.length}</Badge>\n {visibleMetrics.length === 0 && (\n <Text size=\"xs\" c=\"dimmed\">\n No metrics recorded.\n </Text>\n )}\n {visibleMetrics.map((metric) => (\n <Group key={`${metric.category}:${metric.name}`} justify=\"space-between\" gap=\"xs\" wrap=\"nowrap\">\n <Text size=\"xs\" truncate>\n {metric.name}\n </Text>\n <Badge size=\"xs\" variant=\"outline\">\n {metric.lastMs.toFixed(2)}ms\n </Badge>\n </Group>\n ))}\n </Stack>\n </NodeContainer>\n );\n}\n\nexport default memo(TelemetryNode);\n","import { NodeContainer } from '@awesome-flow/core/layout';\nimport { Badge, Group, Stack, Text } from '@mantine/core';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { memo } from 'react';\nimport { EcsToolNodeData } from '../abstract/node-props';\nimport { useUpdateQueue } from '../hooks';\nimport { EcsIdGenerator } from '../utils/id-generator';\n\nfunction UpdateQueueNode({ id, data, selected, type }: NodeProps<Node<EcsToolNodeData>>) {\n const queue = useUpdateQueue(data.limit ?? 10);\n const items = queue?.items ?? [];\n\n return (\n <NodeContainer\n id={id}\n selected={selected}\n data={data}\n title={\n <Badge fullWidth color=\"orange\" variant=\"transparent\">\n Update Queue\n </Badge>\n }\n type={type}\n >\n <Stack gap=\"xs\">\n <Badge variant=\"light\">queued {queue?.size ?? 0}</Badge>\n {!queue && (\n <Text size=\"xs\" c=\"dimmed\">\n No update queue connected.\n </Text>\n )}\n {items.map((item, index) => (\n <Group key={`${item.type}:${EcsIdGenerator.entityProxy(item.entity)}:${index}`} gap=\"xs\" wrap=\"nowrap\">\n <Badge size=\"xs\" variant=\"outline\">\n {item.type}\n </Badge>\n <Text size=\"xs\" truncate>\n {EcsIdGenerator.entityProxy(item.entity)}\n </Text>\n </Group>\n ))}\n </Stack>\n </NodeContainer>\n );\n}\n\nexport default memo(UpdateQueueNode);\n","import { ITemplateFactory, NodeTemplate } from '@awesome-flow/core/abstract';\nimport { ScopeGroupNodeData } from '../abstract/node-props';\nimport { EcsNodeType } from '../abstract/node-types';\nimport { EcsTemplateGroup } from '../abstract/templates';\n\nexport class ScopeGroupNodeTemplate implements ITemplateFactory {\n readonly template: NodeTemplate<ScopeGroupNodeData> = {\n type: EcsNodeType.scopeGroup,\n group: EcsTemplateGroup.ecs,\n data: {\n title: 'Scope Group',\n isGroup: true,\n scopeId: null,\n initialSize: {\n width: 420,\n height: 260\n },\n collapsedSize: {\n width: 320,\n height: 80\n }\n },\n handles: []\n };\n}\n","import { ITemplateFactory, NodeTemplate } from '@awesome-flow/core/abstract';\nimport { Position } from '@xyflow/react';\nimport { EcsHandleDataType } from '../abstract/handle-types';\nimport { SystemsModuleNodeData } from '../abstract/node-props';\nimport { EcsNodeType } from '../abstract/node-types';\nimport { EcsTemplateGroup } from '../abstract/templates';\n\nexport class SystemsModuleNodeTemplate implements ITemplateFactory {\n readonly template: NodeTemplate<SystemsModuleNodeData> = {\n type: EcsNodeType.systemsModule,\n group: EcsTemplateGroup.ecs,\n data: {\n title: 'Systems Module',\n entityType: null\n },\n handles: [\n {\n dataType: EcsHandleDataType.module,\n position: Position.Left,\n connection: 'target',\n disabled: true\n }\n ]\n };\n}\n","import { ITemplateFactory, NodeTemplate } from '@awesome-flow/core/abstract';\nimport { EcsToolNodeData } from '../abstract/node-props';\nimport { EcsNodeType } from '../abstract/node-types';\nimport { EcsTemplateGroup } from '../abstract/templates';\n\nfunction createToolTemplate(type: EcsNodeType, title: string): NodeTemplate<EcsToolNodeData> {\n return {\n type,\n group: EcsTemplateGroup.tools,\n data: {\n title,\n limit: 10,\n initialSize: {\n width: 260,\n height: 180\n }\n },\n handles: []\n };\n}\n\nexport class SchedulerNodeTemplate implements ITemplateFactory {\n readonly template = createToolTemplate(EcsNodeType.scheduler, 'Scheduler');\n}\n\nexport class EventTimelineNodeTemplate implements ITemplateFactory {\n readonly template = createToolTemplate(EcsNodeType.eventTimeline, 'Event Timeline');\n}\n\nexport class TelemetryNodeTemplate implements ITemplateFactory {\n readonly template = createToolTemplate(EcsNodeType.telemetry, 'Telemetry');\n}\n\nexport class UpdateQueueNodeTemplate implements ITemplateFactory {\n readonly template = createToolTemplate(EcsNodeType.updateQueue, 'Update Queue');\n}\n","import { NodeTypes } from '@xyflow/react';\nimport EventTimelineNode from '../nodes/node-event-timeline';\nimport EntityNode from '../nodes/node-entity';\nimport SchedulerNode from '../nodes/node-scheduler';\nimport ScopeGroupNode from '../nodes/node-scope-group';\nimport SystemsModuleNode from '../nodes/node-systems-module';\nimport TelemetryNode from '../nodes/node-telemetry';\nimport UpdateQueueNode from '../nodes/node-update-queue';\nimport { EntityNodeTemplate } from '../templates/template-entity-node';\nimport { ScopeGroupNodeTemplate } from '../templates/template-scope-group';\nimport { SystemsModuleNodeTemplate } from '../templates/template-systems-module';\nimport {\n EventTimelineNodeTemplate,\n SchedulerNodeTemplate,\n TelemetryNodeTemplate,\n UpdateQueueNodeTemplate\n} from '../templates/template-tool-nodes';\n\nexport enum EcsNodeType {\n systemsModule = 'systems-module-node',\n entity = 'entity-node',\n scopeGroup = 'scope-group-node',\n scheduler = 'scheduler-node',\n eventTimeline = 'event-timeline-node',\n telemetry = 'telemetry-node',\n updateQueue = 'update-queue-node'\n}\n\nexport const ecsNodeTypes = {\n [EcsNodeType.systemsModule]: SystemsModuleNode,\n [EcsNodeType.entity]: EntityNode,\n [EcsNodeType.scopeGroup]: ScopeGroupNode,\n [EcsNodeType.scheduler]: SchedulerNode,\n [EcsNodeType.eventTimeline]: EventTimelineNode,\n [EcsNodeType.telemetry]: TelemetryNode,\n [EcsNodeType.updateQueue]: UpdateQueueNode\n} satisfies NodeTypes;\n\nexport const ecsNodeTemplates = {\n [EcsNodeType.entity]: new EntityNodeTemplate(),\n [EcsNodeType.systemsModule]: new SystemsModuleNodeTemplate(),\n [EcsNodeType.scopeGroup]: new ScopeGroupNodeTemplate(),\n [EcsNodeType.scheduler]: new SchedulerNodeTemplate(),\n [EcsNodeType.eventTimeline]: new EventTimelineNodeTemplate(),\n [EcsNodeType.telemetry]: new TelemetryNodeTemplate(),\n [EcsNodeType.updateQueue]: new UpdateQueueNodeTemplate()\n};\n"],"mappings":"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"}
|