@awesome-flow/ecs 0.14.0 → 0.15.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 +1 -1
- package/dist/canvas/index.d.cts +1 -1
- package/dist/canvas/index.d.mts +1 -1
- package/dist/canvas/index.mjs +1 -1
- package/dist/{canvas-C4nDXlkK.mjs → canvas-B21OqInM.mjs} +71 -71
- package/dist/canvas-B21OqInM.mjs.map +1 -0
- package/dist/{canvas-DlWcWu05.cjs → canvas-CC3xvbbA.cjs} +70 -70
- package/dist/canvas-CC3xvbbA.cjs.map +1 -0
- package/dist/context/index.cjs +18 -14
- package/dist/context/index.cjs.map +1 -1
- package/dist/context/index.d.cts +1 -1
- package/dist/context/index.d.mts +1 -1
- package/dist/context/index.mjs +18 -14
- package/dist/context/index.mjs.map +1 -1
- package/dist/{entity-component-inspector-VlwcaUqy.cjs → entity-component-inspector-7f3SijXE.cjs} +2 -2
- package/dist/{entity-component-inspector-VlwcaUqy.cjs.map → entity-component-inspector-7f3SijXE.cjs.map} +1 -1
- package/dist/{entity-component-inspector-CNaN8Scf.mjs → entity-component-inspector-BKpliIkt.mjs} +2 -2
- package/dist/{entity-component-inspector-CNaN8Scf.mjs.map → entity-component-inspector-BKpliIkt.mjs.map} +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +1 -1
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/id-generator-C2_8g29M.cjs.map +1 -1
- package/dist/id-generator-DDsv3NdX.mjs.map +1 -1
- package/dist/{index-_BgjSgkQ.d.mts → index-BGxRtxzm.d.mts} +6 -9
- package/dist/index-BGxRtxzm.d.mts.map +1 -0
- package/dist/{index-CNCqWBLh.d.cts → index-BabUtsGu.d.mts} +10 -9
- package/dist/index-BabUtsGu.d.mts.map +1 -0
- package/dist/{index-B9WbxxFC.d.mts → index-BfZT1xsF.d.mts} +3 -3
- package/dist/index-BfZT1xsF.d.mts.map +1 -0
- package/dist/{index-t3_yRTa6.d.cts → index-CbjlHvOZ.d.cts} +3 -3
- package/dist/index-CbjlHvOZ.d.cts.map +1 -0
- package/dist/{index-BTs_8SY-.d.cts → index-Cet6AhTm.d.cts} +3 -4
- package/dist/index-Cet6AhTm.d.cts.map +1 -0
- package/dist/{index-DGjpWDlm.d.cts → index-D5HuA6I5.d.mts} +22 -15
- package/dist/index-D5HuA6I5.d.mts.map +1 -0
- package/dist/{index-DCOd7jg-.d.mts → index-DRUvPELK.d.cts} +22 -15
- package/dist/index-DRUvPELK.d.cts.map +1 -0
- package/dist/{index-CyeezgDI.d.mts → index-DoQL-Kim.d.mts} +3 -4
- package/dist/index-DoQL-Kim.d.mts.map +1 -0
- package/dist/{index-YNgbjS9S.d.cts → index-DwEO6FDo.d.cts} +6 -9
- package/dist/index-DwEO6FDo.d.cts.map +1 -0
- package/dist/{index-C-TDFHpq.d.mts → index-N2r0CM_0.d.cts} +10 -9
- package/dist/index-N2r0CM_0.d.cts.map +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +8 -8
- package/dist/index.d.mts +8 -8
- package/dist/index.mjs +3 -3
- package/dist/inspectors/index.cjs +1 -1
- package/dist/inspectors/index.d.cts +1 -1
- package/dist/inspectors/index.d.mts +1 -1
- package/dist/inspectors/index.mjs +1 -1
- package/dist/{node-props-BtAkmdqr.d.mts → node-props-Bryks8-5.d.cts} +3 -3
- package/dist/{node-props-BtAkmdqr.d.mts.map → node-props-Bryks8-5.d.cts.map} +1 -1
- package/dist/{node-props-DkuSwMA0.d.cts → node-props-Cusf_qtn.d.mts} +3 -3
- package/dist/{node-props-DkuSwMA0.d.cts.map → node-props-Cusf_qtn.d.mts.map} +1 -1
- package/dist/{node-systems-module-CPDV8u8O.d.mts → node-systems-module-BiefT_Cv.d.cts} +5 -5
- package/dist/node-systems-module-BiefT_Cv.d.cts.map +1 -0
- package/dist/{node-systems-module-CzkoMbdF.d.cts → node-systems-module-EYtTf6Re.d.mts} +5 -5
- package/dist/node-systems-module-EYtTf6Re.d.mts.map +1 -0
- package/dist/{node-types-BRcpbaeR.mjs → node-types-DV97CoAJ.mjs} +176 -99
- package/dist/node-types-DV97CoAJ.mjs.map +1 -0
- package/dist/{node-types-D_NfbsUT.cjs → node-types-Z4QaJir-.cjs} +175 -98
- package/dist/node-types-Z4QaJir-.cjs.map +1 -0
- package/dist/nodes/index.cjs +1 -1
- package/dist/nodes/index.d.cts +2 -2
- package/dist/nodes/index.d.mts +2 -2
- package/dist/nodes/index.mjs +1 -1
- package/dist/{template-tool-nodes-B7sT2iRc.d.cts → template-tool-nodes-CiwTFU-N.d.cts} +2 -2
- package/dist/{template-tool-nodes-B7sT2iRc.d.cts.map → template-tool-nodes-CiwTFU-N.d.cts.map} +1 -1
- package/dist/{template-tool-nodes-BwavFwMh.d.mts → template-tool-nodes-DWhekyQg.d.mts} +2 -2
- package/dist/{template-tool-nodes-BwavFwMh.d.mts.map → template-tool-nodes-DWhekyQg.d.mts.map} +1 -1
- package/dist/templates/index.cjs +1 -1
- package/dist/templates/index.d.cts +1 -1
- package/dist/templates/index.d.mts +1 -1
- package/dist/templates/index.mjs +1 -1
- package/package.json +13 -14
- package/dist/canvas-C4nDXlkK.mjs.map +0 -1
- package/dist/canvas-DlWcWu05.cjs.map +0 -1
- package/dist/index-B9WbxxFC.d.mts.map +0 -1
- package/dist/index-BTs_8SY-.d.cts.map +0 -1
- package/dist/index-C-TDFHpq.d.mts.map +0 -1
- package/dist/index-CNCqWBLh.d.cts.map +0 -1
- package/dist/index-CyeezgDI.d.mts.map +0 -1
- package/dist/index-DCOd7jg-.d.mts.map +0 -1
- package/dist/index-DGjpWDlm.d.cts.map +0 -1
- package/dist/index-YNgbjS9S.d.cts.map +0 -1
- package/dist/index-_BgjSgkQ.d.mts.map +0 -1
- package/dist/index-t3_yRTa6.d.cts.map +0 -1
- package/dist/node-systems-module-CPDV8u8O.d.mts.map +0 -1
- package/dist/node-systems-module-CzkoMbdF.d.cts.map +0 -1
- package/dist/node-types-BRcpbaeR.mjs.map +0 -1
- package/dist/node-types-D_NfbsUT.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-types-DV97CoAJ.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","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","GroupBackdrop","Badge","Group","Text","Node","NodeProps","NodeResizer","memo","useMemo","useGroupNode","ScopeGroupNodeData","ScopeGroupNode","t0","$","_c","id","selected","data","type","width","height","positionAbsoluteX","positionAbsoluteY","t1","groupNodes","groupData","onCollapsed","isDropTarget","t2","initialSize","t3","t4","size","t5","length","t6","t7","isCollapsed","t8","t9","scopeId","t10","title","t11","t12","t13","t14","t15","t16","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, GroupBackdrop } 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({\n id,\n selected,\n data,\n type,\n width,\n height,\n positionAbsoluteX,\n positionAbsoluteY\n}: NodeProps<Node<ScopeGroupNodeData>>) {\n const { groupNodes, groupData, onCollapsed, isDropTarget } = 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 <GroupBackdrop x={positionAbsoluteX} y={positionAbsoluteY} width={width} height={height} />\n {isDropTarget && <span className=\"flowGroupDropTarget\" aria-hidden=\"true\" />}\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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"}
|