@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 @@
1
+ {"version":3,"file":"node-types-CNO_-52M.cjs","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","getEntity","EntityTypeUid","IEntity","useMemo","useBridgeStoreVersion","useEcsBridge","useEntityList","type","$","_c","bridge","version","t0","bb0","undefined","t1","entityRepository","getEntities","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","IComponent","IEntity","Accordion","Badge","Stack","memo","EntityComponentInspector","EntityComponentListProps","entity","EntityComponentList","props","$","_c","T0","T1","T2","t0","t1","t2","t3","components","listComponents","Item","length","Panel","map","_temp","t4","t5","t6","c","i","field","value","Object","entries","isComponent","push","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","identity","proxy","proxies","Array","from","getAllProxies","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","identity","proxy","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","identity","proxy","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","identity","proxy","pending","spawnStatus","missingScheduler","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","dispatch","t0","builder","pipelines","get","initialize","init","t1","update","t2","render","t3","sync","t4","formatError","t5","t6","t7","t8","t9","t10","Error","message","String","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.getEntity<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.getEntities<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 { IComponent } from '@awesome-ecs/abstract/components';\nimport { 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 = listComponents(props.entity);\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\nfunction listComponents(entity: IEntity): IComponent[] {\n const components: IComponent[] = [];\n for (const [field, value] of Object.entries(entity)) {\n if (field === 'identity') {\n continue;\n }\n\n if (isComponent(value)) {\n components.push(value);\n }\n }\n\n return components;\n}\n\nfunction isComponent(value: unknown): value is IComponent {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'componentType' in value &&\n 'isSerializable' in value\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.getAllProxies(props.entity.identity.proxy).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.identity.proxy);\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.identity.proxy.entityUid}\n </Badge>\n <EntityUpdateCounter entityUid={entity.identity.proxy.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?.identity.proxy.entityType ?? data.entity?.entityType ?? data.entityType;\n const pending = data.spawnStatus === 'queued' && !entity;\n const missingScheduler = data.spawnStatus === 'missing-scheduler';\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' : missingScheduler ? 'scheduler missing' : '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?.dispatch?.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: {formatError(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\nfunction formatError(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\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 Dirty Updates\n </Badge>\n }\n type={type}\n >\n <Stack gap=\"xs\">\n <Badge variant=\"light\">dirty {queue?.size ?? 0}</Badge>\n {!queue && (\n <Text size=\"xs\" c=\"dimmed\">\n No runtime scheduler 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, 'Dirty Updates');\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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"}