@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.
- package/dist/canvas/index.cjs +5 -0
- package/dist/canvas/index.d.cts +2 -0
- package/dist/canvas/index.d.mts +2 -0
- package/dist/canvas/index.mjs +3 -0
- package/dist/canvas-WWAJ6C2l.cjs +688 -0
- package/dist/canvas-WWAJ6C2l.cjs.map +1 -0
- package/dist/canvas-cO2NAQyX.mjs +677 -0
- package/dist/canvas-cO2NAQyX.mjs.map +1 -0
- package/dist/context/index.cjs +501 -0
- package/dist/context/index.cjs.map +1 -0
- package/dist/context/index.d.cts +2 -0
- package/dist/context/index.d.mts +2 -0
- package/dist/context/index.mjs +496 -0
- package/dist/context/index.mjs.map +1 -0
- package/dist/entity-component-inspector-CNaN8Scf.mjs +79 -0
- package/dist/entity-component-inspector-CNaN8Scf.mjs.map +1 -0
- package/dist/entity-component-inspector-VlwcaUqy.cjs +90 -0
- package/dist/entity-component-inspector-VlwcaUqy.cjs.map +1 -0
- package/dist/hooks/index.cjs +19 -0
- package/dist/hooks/index.d.cts +2 -0
- package/dist/hooks/index.d.mts +2 -0
- package/dist/hooks/index.mjs +3 -0
- package/dist/id-generator-C2_8g29M.cjs +45 -0
- package/dist/id-generator-C2_8g29M.cjs.map +1 -0
- package/dist/id-generator-DDsv3NdX.mjs +34 -0
- package/dist/id-generator-DDsv3NdX.mjs.map +1 -0
- package/dist/index-2l9Vdh2S.d.mts +54 -0
- package/dist/index-2l9Vdh2S.d.mts.map +1 -0
- package/dist/index-BFqa6aqs.d.mts +99 -0
- package/dist/index-BFqa6aqs.d.mts.map +1 -0
- package/dist/index-BTs_8SY-.d.cts +20 -0
- package/dist/index-BTs_8SY-.d.cts.map +1 -0
- package/dist/index-C3QIukqX.d.cts +157 -0
- package/dist/index-C3QIukqX.d.cts.map +1 -0
- package/dist/index-CPTq4oOA.d.cts +67 -0
- package/dist/index-CPTq4oOA.d.cts.map +1 -0
- package/dist/index-CyeezgDI.d.mts +20 -0
- package/dist/index-CyeezgDI.d.mts.map +1 -0
- package/dist/index-D9zIjQH9.d.mts +1 -0
- package/dist/index-DLoAMD9J.d.cts +1 -0
- package/dist/index-Ht3fVcsn.d.cts +54 -0
- package/dist/index-Ht3fVcsn.d.cts.map +1 -0
- package/dist/index-edb-X9uc.d.mts +157 -0
- package/dist/index-edb-X9uc.d.mts.map +1 -0
- package/dist/index-pInK6VDK.d.cts +99 -0
- package/dist/index-pInK6VDK.d.cts.map +1 -0
- package/dist/index-vf1CSWta.d.mts +67 -0
- package/dist/index-vf1CSWta.d.mts.map +1 -0
- package/dist/index.cjs +55 -531
- package/dist/index.d.cts +9 -106
- package/dist/index.d.mts +9 -106
- package/dist/index.mjs +10 -520
- package/dist/inspectors/index.cjs +6 -0
- package/dist/inspectors/index.d.cts +2 -0
- package/dist/inspectors/index.d.mts +2 -0
- package/dist/inspectors/index.mjs +3 -0
- package/dist/node-props-Bryks8-5.d.cts +45 -0
- package/dist/node-props-Bryks8-5.d.cts.map +1 -0
- package/dist/node-props-Cusf_qtn.d.mts +45 -0
- package/dist/node-props-Cusf_qtn.d.mts.map +1 -0
- package/dist/node-systems-module-B8aKhvBo.d.mts +22 -0
- package/dist/node-systems-module-B8aKhvBo.d.mts.map +1 -0
- package/dist/node-systems-module-Dx-hISbg.d.cts +22 -0
- package/dist/node-systems-module-Dx-hISbg.d.cts.map +1 -0
- package/dist/node-types-CNO_-52M.cjs +1866 -0
- package/dist/node-types-CNO_-52M.cjs.map +1 -0
- package/dist/node-types-l0GwV0mz.mjs +1651 -0
- package/dist/node-types-l0GwV0mz.mjs.map +1 -0
- package/dist/nodes/index.cjs +10 -0
- package/dist/nodes/index.d.cts +3 -0
- package/dist/nodes/index.d.mts +3 -0
- package/dist/nodes/index.mjs +3 -0
- package/dist/template-tool-nodes-CiwTFU-N.d.cts +35 -0
- package/dist/template-tool-nodes-CiwTFU-N.d.cts.map +1 -0
- package/dist/template-tool-nodes-DWhekyQg.d.mts +35 -0
- package/dist/template-tool-nodes-DWhekyQg.d.mts.map +1 -0
- package/dist/templates/index.cjs +11 -0
- package/dist/templates/index.d.cts +2 -0
- package/dist/templates/index.d.mts +2 -0
- package/dist/templates/index.mjs +3 -0
- package/package.json +85 -25
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-types-l0GwV0mz.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","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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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_node_types = require('../node-types-CNO_-52M.cjs');
|
|
3
|
+
|
|
4
|
+
exports.EntityNode = require_node_types.EntityNode;
|
|
5
|
+
exports.EventTimelineNode = require_node_types.node_event_timeline_default;
|
|
6
|
+
exports.SchedulerNode = require_node_types.node_scheduler_default;
|
|
7
|
+
exports.ScopeGroupNode = require_node_types.node_scope_group_default;
|
|
8
|
+
exports.SystemsModuleNode = require_node_types.SystemsModuleNode;
|
|
9
|
+
exports.TelemetryNode = require_node_types.node_telemetry_default;
|
|
10
|
+
exports.UpdateQueueNode = require_node_types.node_update_queue_default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { n as EntityNode, t as SystemsModuleNode } from "../node-systems-module-Dx-hISbg.cjs";
|
|
2
|
+
import { a as _default, i as _default$1, n as _default$3, r as _default$2, t as _default$4 } from "../index-Ht3fVcsn.cjs";
|
|
3
|
+
export { EntityNode, _default as EventTimelineNode, _default$1 as SchedulerNode, _default$2 as ScopeGroupNode, SystemsModuleNode, _default$3 as TelemetryNode, _default$4 as UpdateQueueNode };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { n as EntityNode, t as SystemsModuleNode } from "../node-systems-module-B8aKhvBo.mjs";
|
|
2
|
+
import { a as _default, i as _default$1, n as _default$3, r as _default$2, t as _default$4 } from "../index-2l9Vdh2S.mjs";
|
|
3
|
+
export { EntityNode, _default as EventTimelineNode, _default$1 as SchedulerNode, _default$2 as ScopeGroupNode, SystemsModuleNode, _default$3 as TelemetryNode, _default$4 as UpdateQueueNode };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { d as node_telemetry_default, f as SystemsModuleNode, g as node_event_timeline_default, h as EntityNode, m as node_scheduler_default, p as node_scope_group_default, u as node_update_queue_default } from "../node-types-l0GwV0mz.mjs";
|
|
2
|
+
|
|
3
|
+
export { EntityNode, node_event_timeline_default as EventTimelineNode, node_scheduler_default as SchedulerNode, node_scope_group_default as ScopeGroupNode, SystemsModuleNode, node_telemetry_default as TelemetryNode, node_update_queue_default as UpdateQueueNode };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { i as SystemsModuleNodeData, n as EntityNodeData, r as ScopeGroupNodeData, s as EcsEntityTypeDescriptor, t as EcsToolNodeData } from "./node-props-Bryks8-5.cjs";
|
|
2
|
+
import { ITemplateFactory, NodeTemplate } from "@awesome-flow/core/abstract";
|
|
3
|
+
|
|
4
|
+
//#region src/templates/template-entity-node.d.ts
|
|
5
|
+
declare function createEntityTypeTemplate(descriptor: EcsEntityTypeDescriptor): NodeTemplate<EntityNodeData>;
|
|
6
|
+
declare class EntityNodeTemplate implements ITemplateFactory {
|
|
7
|
+
readonly template: NodeTemplate<EntityNodeData>;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/templates/template-scope-group.d.ts
|
|
11
|
+
declare class ScopeGroupNodeTemplate implements ITemplateFactory {
|
|
12
|
+
readonly template: NodeTemplate<ScopeGroupNodeData>;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/templates/template-systems-module.d.ts
|
|
16
|
+
declare class SystemsModuleNodeTemplate implements ITemplateFactory {
|
|
17
|
+
readonly template: NodeTemplate<SystemsModuleNodeData>;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/templates/template-tool-nodes.d.ts
|
|
21
|
+
declare class SchedulerNodeTemplate implements ITemplateFactory {
|
|
22
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
23
|
+
}
|
|
24
|
+
declare class EventTimelineNodeTemplate implements ITemplateFactory {
|
|
25
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
26
|
+
}
|
|
27
|
+
declare class TelemetryNodeTemplate implements ITemplateFactory {
|
|
28
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
29
|
+
}
|
|
30
|
+
declare class UpdateQueueNodeTemplate implements ITemplateFactory {
|
|
31
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { SystemsModuleNodeTemplate as a, createEntityTypeTemplate as c, UpdateQueueNodeTemplate as i, SchedulerNodeTemplate as n, ScopeGroupNodeTemplate as o, TelemetryNodeTemplate as r, EntityNodeTemplate as s, EventTimelineNodeTemplate as t };
|
|
35
|
+
//# sourceMappingURL=template-tool-nodes-CiwTFU-N.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-tool-nodes-CiwTFU-N.d.cts","names":[],"sources":["../src/templates/template-entity-node.ts","../src/templates/template-scope-group.ts","../src/templates/template-systems-module.ts","../src/templates/template-tool-nodes.ts"],"mappings":";;;;iBAwBgB,wBAAA,CAAyB,UAAA,EAAY,uBAAA,GAA0B,YAAA,CAAa,cAAA;AAAA,cAoB/E,kBAAA,YAA8B,gBAAA;EAAA,SAChC,QAAA,EAAU,YAAA,CAAa,cAAA;AAAA;;;cCxCrB,sBAAA,YAAkC,gBAAA;EAAA,SACpC,QAAA,EAAU,YAAA,CAAa,kBAAA;AAAA;;;cCCrB,yBAAA,YAAqC,gBAAA;EAAA,SACvC,QAAA,EAAU,YAAA,CAAa,qBAAA;AAAA;;;cCarB,qBAAA,YAAiC,gBAAA;EAAA,SACnC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA;AAAA,cAGN,yBAAA,YAAqC,gBAAA;EAAA,SACvC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA;AAAA,cAGN,qBAAA,YAAiC,gBAAA;EAAA,SACnC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA;AAAA,cAGN,uBAAA,YAAmC,gBAAA;EAAA,SACrC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { i as SystemsModuleNodeData, n as EntityNodeData, r as ScopeGroupNodeData, s as EcsEntityTypeDescriptor, t as EcsToolNodeData } from "./node-props-Cusf_qtn.mjs";
|
|
2
|
+
import { ITemplateFactory, NodeTemplate } from "@awesome-flow/core/abstract";
|
|
3
|
+
|
|
4
|
+
//#region src/templates/template-entity-node.d.ts
|
|
5
|
+
declare function createEntityTypeTemplate(descriptor: EcsEntityTypeDescriptor): NodeTemplate<EntityNodeData>;
|
|
6
|
+
declare class EntityNodeTemplate implements ITemplateFactory {
|
|
7
|
+
readonly template: NodeTemplate<EntityNodeData>;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/templates/template-scope-group.d.ts
|
|
11
|
+
declare class ScopeGroupNodeTemplate implements ITemplateFactory {
|
|
12
|
+
readonly template: NodeTemplate<ScopeGroupNodeData>;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/templates/template-systems-module.d.ts
|
|
16
|
+
declare class SystemsModuleNodeTemplate implements ITemplateFactory {
|
|
17
|
+
readonly template: NodeTemplate<SystemsModuleNodeData>;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/templates/template-tool-nodes.d.ts
|
|
21
|
+
declare class SchedulerNodeTemplate implements ITemplateFactory {
|
|
22
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
23
|
+
}
|
|
24
|
+
declare class EventTimelineNodeTemplate implements ITemplateFactory {
|
|
25
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
26
|
+
}
|
|
27
|
+
declare class TelemetryNodeTemplate implements ITemplateFactory {
|
|
28
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
29
|
+
}
|
|
30
|
+
declare class UpdateQueueNodeTemplate implements ITemplateFactory {
|
|
31
|
+
readonly template: NodeTemplate<EcsToolNodeData>;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { SystemsModuleNodeTemplate as a, createEntityTypeTemplate as c, UpdateQueueNodeTemplate as i, SchedulerNodeTemplate as n, ScopeGroupNodeTemplate as o, TelemetryNodeTemplate as r, EntityNodeTemplate as s, EventTimelineNodeTemplate as t };
|
|
35
|
+
//# sourceMappingURL=template-tool-nodes-DWhekyQg.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-tool-nodes-DWhekyQg.d.mts","names":[],"sources":["../src/templates/template-entity-node.ts","../src/templates/template-scope-group.ts","../src/templates/template-systems-module.ts","../src/templates/template-tool-nodes.ts"],"mappings":";;;;iBAwBgB,wBAAA,CAAyB,UAAA,EAAY,uBAAA,GAA0B,YAAA,CAAa,cAAA;AAAA,cAoB/E,kBAAA,YAA8B,gBAAA;EAAA,SAChC,QAAA,EAAU,YAAA,CAAa,cAAA;AAAA;;;cCxCrB,sBAAA,YAAkC,gBAAA;EAAA,SACpC,QAAA,EAAU,YAAA,CAAa,kBAAA;AAAA;;;cCCrB,yBAAA,YAAqC,gBAAA;EAAA,SACvC,QAAA,EAAU,YAAA,CAAa,qBAAA;AAAA;;;cCarB,qBAAA,YAAiC,gBAAA;EAAA,SACnC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA;AAAA,cAGN,yBAAA,YAAqC,gBAAA;EAAA,SACvC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA;AAAA,cAGN,qBAAA,YAAiC,gBAAA;EAAA,SACnC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA;AAAA,cAGN,uBAAA,YAAmC,gBAAA;EAAA,SACrC,QAAA,EAAQ,YAAA,CAAA,eAAA;AAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_node_types = require('../node-types-CNO_-52M.cjs');
|
|
3
|
+
|
|
4
|
+
exports.EntityNodeTemplate = require_node_types.EntityNodeTemplate;
|
|
5
|
+
exports.EventTimelineNodeTemplate = require_node_types.EventTimelineNodeTemplate;
|
|
6
|
+
exports.SchedulerNodeTemplate = require_node_types.SchedulerNodeTemplate;
|
|
7
|
+
exports.ScopeGroupNodeTemplate = require_node_types.ScopeGroupNodeTemplate;
|
|
8
|
+
exports.SystemsModuleNodeTemplate = require_node_types.SystemsModuleNodeTemplate;
|
|
9
|
+
exports.TelemetryNodeTemplate = require_node_types.TelemetryNodeTemplate;
|
|
10
|
+
exports.UpdateQueueNodeTemplate = require_node_types.UpdateQueueNodeTemplate;
|
|
11
|
+
exports.createEntityTypeTemplate = require_node_types.createEntityTypeTemplate;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as SystemsModuleNodeTemplate, c as createEntityTypeTemplate, i as UpdateQueueNodeTemplate, n as SchedulerNodeTemplate, o as ScopeGroupNodeTemplate, r as TelemetryNodeTemplate, s as EntityNodeTemplate, t as EventTimelineNodeTemplate } from "../template-tool-nodes-CiwTFU-N.cjs";
|
|
2
|
+
export { EntityNodeTemplate, EventTimelineNodeTemplate, SchedulerNodeTemplate, ScopeGroupNodeTemplate, SystemsModuleNodeTemplate, TelemetryNodeTemplate, UpdateQueueNodeTemplate, createEntityTypeTemplate };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as SystemsModuleNodeTemplate, c as createEntityTypeTemplate, i as UpdateQueueNodeTemplate, n as SchedulerNodeTemplate, o as ScopeGroupNodeTemplate, r as TelemetryNodeTemplate, s as EntityNodeTemplate, t as EventTimelineNodeTemplate } from "../template-tool-nodes-DWhekyQg.mjs";
|
|
2
|
+
export { EntityNodeTemplate, EventTimelineNodeTemplate, SchedulerNodeTemplate, ScopeGroupNodeTemplate, SystemsModuleNodeTemplate, TelemetryNodeTemplate, UpdateQueueNodeTemplate, createEntityTypeTemplate };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { D as EntityNodeTemplate, O as createEntityTypeTemplate, a as SchedulerNodeTemplate, c as SystemsModuleNodeTemplate, i as EventTimelineNodeTemplate, l as ScopeGroupNodeTemplate, o as TelemetryNodeTemplate, s as UpdateQueueNodeTemplate } from "../node-types-l0GwV0mz.mjs";
|
|
2
|
+
|
|
3
|
+
export { EntityNodeTemplate, EventTimelineNodeTemplate, SchedulerNodeTemplate, ScopeGroupNodeTemplate, SystemsModuleNodeTemplate, TelemetryNodeTemplate, UpdateQueueNodeTemplate, createEntityTypeTemplate };
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awesome-flow/ecs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"description": "The ECS package for Awesome Flow. Provides basic components to map Awesome ECS objects.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "npx tsdown && npx copyfiles -u 1 ./src/styles.css ./dist",
|
|
9
9
|
"build:clean": "npx rimraf ./dist && npm run build",
|
|
10
|
-
"typecheck": "npx attw
|
|
10
|
+
"typecheck": "npx attw --pack . --profile node16",
|
|
11
11
|
"ts": "npx tsc --noEmit --incremental",
|
|
12
12
|
"ts:watch": "npx tsc --noEmit --incremental --watch"
|
|
13
13
|
},
|
|
@@ -15,30 +15,30 @@
|
|
|
15
15
|
"react-inspector": "^9.0.0"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@awesome-ecs/abstract": ">=0.
|
|
19
|
-
"@awesome-ecs/core": ">=0.
|
|
20
|
-
"@awesome-flow/core": ">=0.
|
|
21
|
-
"@mantine/core": ">=
|
|
22
|
-
"@mantine/hooks": ">=
|
|
23
|
-
"@tabler/icons-react": ">=3.
|
|
24
|
-
"@xyflow/react": ">=12.
|
|
25
|
-
"@xyflow/system": ">=0.0.
|
|
26
|
-
"react": ">=19.
|
|
27
|
-
"react-dom": ">=19.
|
|
28
|
-
"zustand": ">=
|
|
18
|
+
"@awesome-ecs/abstract": ">=0.32.1",
|
|
19
|
+
"@awesome-ecs/core": ">=0.32.1",
|
|
20
|
+
"@awesome-flow/core": ">=0.12.0",
|
|
21
|
+
"@mantine/core": ">=9.2.0",
|
|
22
|
+
"@mantine/hooks": ">=9.2.0",
|
|
23
|
+
"@tabler/icons-react": ">=3.44.0",
|
|
24
|
+
"@xyflow/react": ">=12.10.2",
|
|
25
|
+
"@xyflow/system": ">=0.0.76",
|
|
26
|
+
"react": ">=19.2.6",
|
|
27
|
+
"react-dom": ">=19.2.6",
|
|
28
|
+
"zustand": ">=5.0.13"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@awesome-ecs/abstract": "^0.
|
|
32
|
-
"@awesome-ecs/core": "^0.
|
|
33
|
-
"@awesome-flow/core": "0.
|
|
34
|
-
"@mantine/core": "^
|
|
35
|
-
"@mantine/hooks": "^
|
|
36
|
-
"@tabler/icons-react": "^3.
|
|
37
|
-
"@xyflow/react": "^12.10.
|
|
38
|
-
"@xyflow/system": "^0.0.
|
|
39
|
-
"react": "^19.2.
|
|
40
|
-
"react-dom": "^19.2.
|
|
41
|
-
"zustand": "^5.0.
|
|
31
|
+
"@awesome-ecs/abstract": "^0.32.1",
|
|
32
|
+
"@awesome-ecs/core": "^0.32.1",
|
|
33
|
+
"@awesome-flow/core": "0.14.1",
|
|
34
|
+
"@mantine/core": "^9.2.0",
|
|
35
|
+
"@mantine/hooks": "^9.2.0",
|
|
36
|
+
"@tabler/icons-react": "^3.44.0",
|
|
37
|
+
"@xyflow/react": "^12.10.2",
|
|
38
|
+
"@xyflow/system": "^0.0.76",
|
|
39
|
+
"react": "^19.2.6",
|
|
40
|
+
"react-dom": "^19.2.6",
|
|
41
|
+
"zustand": "^5.0.13"
|
|
42
42
|
},
|
|
43
43
|
"exports": {
|
|
44
44
|
".": {
|
|
@@ -50,6 +50,66 @@
|
|
|
50
50
|
"types": "./dist/index.d.cts",
|
|
51
51
|
"default": "./dist/index.cjs"
|
|
52
52
|
}
|
|
53
|
+
},
|
|
54
|
+
"./canvas": {
|
|
55
|
+
"import": {
|
|
56
|
+
"types": "./dist/canvas/index.d.mts",
|
|
57
|
+
"default": "./dist/canvas/index.mjs"
|
|
58
|
+
},
|
|
59
|
+
"require": {
|
|
60
|
+
"types": "./dist/canvas/index.d.cts",
|
|
61
|
+
"default": "./dist/canvas/index.cjs"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"./context": {
|
|
65
|
+
"import": {
|
|
66
|
+
"types": "./dist/context/index.d.mts",
|
|
67
|
+
"default": "./dist/context/index.mjs"
|
|
68
|
+
},
|
|
69
|
+
"require": {
|
|
70
|
+
"types": "./dist/context/index.d.cts",
|
|
71
|
+
"default": "./dist/context/index.cjs"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"./hooks": {
|
|
75
|
+
"import": {
|
|
76
|
+
"types": "./dist/hooks/index.d.mts",
|
|
77
|
+
"default": "./dist/hooks/index.mjs"
|
|
78
|
+
},
|
|
79
|
+
"require": {
|
|
80
|
+
"types": "./dist/hooks/index.d.cts",
|
|
81
|
+
"default": "./dist/hooks/index.cjs"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"./inspectors": {
|
|
85
|
+
"import": {
|
|
86
|
+
"types": "./dist/inspectors/index.d.mts",
|
|
87
|
+
"default": "./dist/inspectors/index.mjs"
|
|
88
|
+
},
|
|
89
|
+
"require": {
|
|
90
|
+
"types": "./dist/inspectors/index.d.cts",
|
|
91
|
+
"default": "./dist/inspectors/index.cjs"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"./nodes": {
|
|
95
|
+
"import": {
|
|
96
|
+
"types": "./dist/nodes/index.d.mts",
|
|
97
|
+
"default": "./dist/nodes/index.mjs"
|
|
98
|
+
},
|
|
99
|
+
"require": {
|
|
100
|
+
"types": "./dist/nodes/index.d.cts",
|
|
101
|
+
"default": "./dist/nodes/index.cjs"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"./templates": {
|
|
105
|
+
"import": {
|
|
106
|
+
"types": "./dist/templates/index.d.mts",
|
|
107
|
+
"default": "./dist/templates/index.mjs"
|
|
108
|
+
},
|
|
109
|
+
"require": {
|
|
110
|
+
"types": "./dist/templates/index.d.cts",
|
|
111
|
+
"default": "./dist/templates/index.cjs"
|
|
112
|
+
}
|
|
53
113
|
}
|
|
54
114
|
},
|
|
55
115
|
"files": [
|
|
@@ -79,5 +139,5 @@
|
|
|
79
139
|
"url": "https://github.com/privatebytes/awesome-flow/issues"
|
|
80
140
|
},
|
|
81
141
|
"homepage": "https://github.com/privatebytes/awesome-flow#readme",
|
|
82
|
-
"gitHead": "
|
|
142
|
+
"gitHead": "39e5d7a14d75ddef7c9484d02e9ef0ece1f3a8c6"
|
|
83
143
|
}
|
package/dist/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["Inspector","Box","Button","Collapse","ObjectInspector","Accordion","Badge","Stack","EntityComponentInspector","Badge","FormatterCamelCase","Accordion","Badge","Stack","BadgeList","Accordion","Badge","Stack","BadgeList","Badge","Group","Badge","EntityUpdateCounter","Divider","Accordion","EntityComponentList","EntityProxyList","EntitySubscriptionList","NodeContainer","Badge","CamelCaseFormatter","Accordion","Badge","Stack","BadgeList","SystemType","Text","Accordion","NodeContainer","Badge","CamelCaseFormatter","Position","Position","FlowContext","FlowContext","FlowAutoLayout"],"sources":["../src/abstract/ecs-flow-context.ts","../src/utils/id-generator.ts","../src/abstract/ecs-flow-repository.ts","../src/abstract/handle-types.ts","../src/components/formatter-camel-case.tsx","../src/components/object-inspector.tsx","../src/components/entity-component-inspector.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/components/pipeline-middleware-list.tsx","../src/layout/systems-module-layout.tsx","../src/nodes/node-systems-module.tsx","../src/abstract/templates.ts","../src/templates/template-entity-node.ts","../src/templates/template-systems-module.ts","../src/abstract/node-types.ts","../src/flow/flow-ecs-edge-modules.tsx","../src/flow/flow-ecs-edge-proxies.tsx","../src/flow/flow-ecs-entities.tsx","../src/flow/flow-ecs-modules.tsx","../src/flow/flow-ecs-state.tsx"],"sourcesContent":["import { IEntityEventsManager, IEntityProxyRepository, IEntityRepository } from '@awesome-ecs/abstract/entities';\r\nimport { ISystemsModuleRepository } from '@awesome-ecs/abstract/systems';\r\nimport { createContext } from 'react';\r\nimport { IEntityUpdateCounter } from '../utils/entity-update-counter';\r\nimport { EcsFlowRepository } from './ecs-flow-repository';\r\n\r\nexport type EcsFlowContextProps = {\r\n ecsFlowRepository: EcsFlowRepository;\r\n entityRepository: IEntityRepository;\r\n entityEventsManager: IEntityEventsManager;\r\n entityUpdateCounter: IEntityUpdateCounter;\r\n entityProxyRepository: IEntityProxyRepository;\r\n systemsModuleRepository: ISystemsModuleRepository;\r\n};\r\n\r\nexport const EcsFlowContext = createContext<EcsFlowContextProps>(null);\r\n","import { IEntityProxy } from '@awesome-ecs/abstract/entities';\n\nexport class EcsIdGenerator {\n static entityProxy(proxy: IEntityProxy): string {\n return `${proxy.entityType}:${proxy.entityUid}`;\n }\n}\n","import { EntityTypeUid, IEntityProxy } from '@awesome-ecs/abstract/entities';\r\nimport { Node } from '@xyflow/react';\r\nimport { EcsIdGenerator } from '../utils/id-generator';\r\nimport { EntityNodeData, SystemsModuleNodeData } from './node-props';\r\n\r\nexport class EcsFlowRepository {\r\n private readonly nodes: Map<string, Node>;\r\n\r\n constructor() {\r\n this.nodes = new Map();\r\n }\r\n\r\n get sizeNodes(): number {\r\n return this.nodes.size;\r\n }\r\n\r\n addSystemModuleNode(node: Node<SystemsModuleNodeData>) {\r\n this.nodes.set(node.data.entityType.toString(), node);\r\n }\r\n\r\n getSystemModuleNode(entityType: EntityTypeUid): Node<SystemsModuleNodeData> {\r\n return this.nodes.get(entityType.toString()) as Node<SystemsModuleNodeData>;\r\n }\r\n\r\n addEntityNode(node: Node<EntityNodeData>) {\r\n this.nodes.set(EcsIdGenerator.entityProxy(node.data.entity), node);\r\n }\r\n\r\n getEntityNode(entity: IEntityProxy): Node<EntityNodeData> {\r\n return this.nodes.get(EcsIdGenerator.entityProxy(entity)) as Node<EntityNodeData>;\r\n }\r\n\r\n listAllNodes(): Node[] {\r\n return Array.from(this.nodes.values());\r\n }\r\n}\r\n","export enum EcsHandleDataType {\n proxy = 'proxy',\n module = 'module'\n}\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 { useComputedColorScheme } from '@mantine/core';\nimport { memo, useMemo } from 'react';\nimport { Inspector } from 'react-inspector';\n\nexport type ObjectInspectorProps = {\n data: any;\n};\n\nfunction ObjectInspector(props: Readonly<ObjectInspectorProps>) {\n const colorScheme = useComputedColorScheme();\n\n const theme = useMemo(\n () => (colorScheme === 'dark' ? 'chromeDark' : 'chromeLight'),\n [colorScheme]\n );\n\n return <Inspector table={false} theme={theme} data={props.data} />;\n}\n\nexport default memo(ObjectInspector);\n","import { IComponent } from '@awesome-ecs/abstract/components';\nimport { Box, Button, Collapse } from '@mantine/core';\nimport { useDisclosure } from '@mantine/hooks';\nimport { memo, useMemo } from 'react';\nimport ObjectInspector from './object-inspector';\n\nexport type EntityComponentInspectorProps = {\n component: IComponent;\n};\n\nfunction EntityComponentInspector(props: Readonly<EntityComponentInspectorProps>) {\n const [opened, { toggle }] = useDisclosure(false);\n\n const buttonColor = useMemo(() => (opened ? 'light' : 'indigo'), [opened]);\n\n return (\n <Box>\n <Button variant=\"outline\" size=\"xs\" onClick={toggle} color={buttonColor} fullWidth>\n {props.component.componentType}\n </Button>\n\n <Collapse in={opened}>{opened && <ObjectInspector data={props.component} />}</Collapse>\n </Box>\n );\n}\n\nexport default memo(EntityComponentInspector);\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { Accordion, Badge, Stack } from '@mantine/core';\nimport { memo } from 'react';\nimport EntityComponentInspector from './entity-component-inspector';\n\nexport type EntityComponentListProps = {\n entity: IEntity;\n};\n\nfunction EntityComponentList(props: Readonly<EntityComponentListProps>) {\n const components = Array.from(props.entity.components.values());\n\n return (\n <Accordion.Item key=\"components\" value=\"components\">\n <Accordion.Control>\n <Badge fullWidth variant=\"light\" rightSection={components.length}>\n Components\n </Badge>\n </Accordion.Control>\n <Accordion.Panel>\n <Stack>\n {components.map((c, i) => (\n <EntityComponentInspector component={c} key={i} />\n ))}\n </Stack>\n </Accordion.Panel>\n </Accordion.Item>\n );\n}\n\nexport default memo(EntityComponentList);\n","import { Badge, BadgeProps } from '@mantine/core';\nimport { memo } from 'react';\nimport FormatterCamelCase from './formatter-camel-case';\n\nexport type BadgeListProps = {\n items: (string | number)[];\n badge?: BadgeProps;\n};\n\nfunction BadgeList(props: Readonly<BadgeListProps>) {\n return props.items.map((value, i) => {\n return (\n <Badge key={i} {...(props.badge || [])}>\n <FormatterCamelCase value={value} />\n </Badge>\n );\n });\n}\n\nexport default memo(BadgeList);\n","import { IEntity } from '@awesome-ecs/abstract/entities';\r\nimport { Accordion, Badge, Stack } from '@mantine/core';\r\nimport { memo, useContext } from 'react';\r\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\r\nimport { EcsIdGenerator } from '../utils/id-generator';\r\nimport BadgeList from './badge-list';\r\n\r\nexport type EntityProxyListProps = {\r\n entity: IEntity;\r\n};\r\n\r\nfunction EntityProxyList(props: Readonly<EntityProxyListProps>) {\r\n const { entityProxyRepository } = useContext(EcsFlowContext);\r\n\r\n const proxies = Array.from(entityProxyRepository.getAll(props.entity.myProxy).values()).flat();\r\n const items = proxies.map((p) => EcsIdGenerator.entityProxy(p));\r\n\r\n return (\r\n <Accordion.Item key=\"proxies\" value=\"proxies\">\r\n <Accordion.Control>\r\n <Badge fullWidth variant=\"light\" rightSection={items.length}>\r\n Proxies\r\n </Badge>\r\n </Accordion.Control>\r\n <Accordion.Panel>\r\n <Stack>\r\n <BadgeList items={items} badge={{ variant: 'outline' }} />\r\n </Stack>\r\n </Accordion.Panel>\r\n </Accordion.Item>\r\n );\r\n}\r\n\r\nexport default memo(EntityProxyList);\r\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { Accordion, Badge, Stack } from '@mantine/core';\nimport { memo, useContext } from 'react';\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\nimport BadgeList from './badge-list';\n\nexport type EntitySubscriptionListProps = {\n entity: IEntity;\n};\n\nfunction EntitySubscriptionList(props: Readonly<EntitySubscriptionListProps>) {\n const { entityEventsManager } = useContext(EcsFlowContext);\n const subscriptions = entityEventsManager.getSubscriptionsForEntity(props.entity.myProxy);\n\n return (\n <Accordion.Item key=\"subscriptions\" value=\"subscriptions\">\n <Accordion.Control>\n <Badge fullWidth variant=\"light\" rightSection={subscriptions.length}>\n Events\n </Badge>\n </Accordion.Control>\n <Accordion.Panel>\n <Stack>\n <BadgeList items={subscriptions} badge={{ variant: 'outline' }} />\n </Stack>\n </Accordion.Panel>\n </Accordion.Item>\n );\n}\n\nexport default memo(EntitySubscriptionList);\n","import { EntityUid } from '@awesome-ecs/abstract/entities';\r\nimport { Badge } from '@mantine/core';\r\nimport { memo, useContext, useEffect, useState } from 'react';\r\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\r\n\r\nexport type EntityUpdateCounterProps = {\r\n entityUid: EntityUid;\r\n};\r\n\r\nfunction EntityUpdateCounter(props: Readonly<EntityUpdateCounterProps>) {\r\n const [, setRefresh] = useState(0);\r\n\r\n const { entityUpdateCounter } = useContext(EcsFlowContext);\r\n\r\n const updates = entityUpdateCounter.getUpdateCount(props.entityUid) || 0;\r\n const removes = entityUpdateCounter.getRemoveCount(props.entityUid) || 0;\r\n\r\n useEffect(() => {\r\n const interval = setInterval(() => {\r\n setRefresh((refresh) => refresh + 1);\r\n }, 1000);\r\n\r\n return () => {\r\n clearInterval(interval);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n <Badge variant=\"light\">{updates}</Badge>\r\n <Badge variant=\"light\" color=\"orange\">\r\n {removes}\r\n </Badge>\r\n </>\r\n );\r\n}\r\n\r\nexport default memo(EntityUpdateCounter);\r\n","import { IEntity } from '@awesome-ecs/abstract/entities';\nimport { Accordion, Badge, Divider, Group } from '@mantine/core';\nimport EntityComponentList from '../components/entity-component-list';\nimport EntityProxyList from '../components/entity-proxy-list';\nimport EntitySubscriptionList from '../components/entity-subscription-list';\nimport EntityUpdateCounter from '../components/entity-update-counter';\n\nexport type NodeEntityProps = {\n entity: IEntity;\n};\n\nfunction EntityLayout({ entity }: Readonly<NodeEntityProps>) {\n return (\n <>\n <Group>\n <Badge variant=\"outline\" color=\"orange\">\n {entity.myProxy.entityUid}\n </Badge>\n <EntityUpdateCounter entityUid={entity.myProxy.entityUid} />\n </Group>\n <Divider my={5} />\n <Accordion>\n <EntityComponentList entity={entity} />\n <EntityProxyList entity={entity} />\n <EntitySubscriptionList entity={entity} />\n </Accordion>\n </>\n );\n}\n\nexport default EntityLayout;\n","import { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Badge } from '@mantine/core';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { useContext, useMemo } from 'react';\r\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\r\nimport { EntityNodeData } from '../abstract/node-props';\r\nimport CamelCaseFormatter from '../components/formatter-camel-case';\r\nimport EntityLayout from '../layout/entity-layout';\r\n\r\nfunction EntityNode({ id, data, selected, type }: NodeProps<Node<EntityNodeData>>) {\r\n const { entityRepository } = useContext(EcsFlowContext);\r\n const entity = useMemo(() => entityRepository.get(data.entity), [data.entity, entityRepository]);\r\n\r\n return (\r\n <NodeContainer\r\n id={id}\r\n selected={selected}\r\n data={data}\r\n title={\r\n <Badge fullWidth variant=\"transparent\">\r\n <CamelCaseFormatter value={entity.myProxy.entityType} />\r\n </Badge>\r\n }\r\n type={type}\r\n >\r\n <EntityLayout entity={entity} />\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default EntityNode;\r\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';\r\nimport { ISystemsModule, ISystemsRuntimeContext, SystemType } from '@awesome-ecs/abstract/systems';\r\nimport { Accordion, Text } from '@mantine/core';\r\nimport { useMemo } from 'react';\r\nimport PipelineMiddlewareList from '../components/pipeline-middleware-list';\r\n\r\nexport type NodeSystemModuleProps = {\r\n type: EntityTypeUid;\r\n module: ISystemsModule<IEntity>;\r\n};\r\n\r\nfunction SystemsModuleLayout(props: Readonly<NodeSystemModuleProps>) {\r\n const { module } = props;\r\n\r\n const runtimeContext = module['runtimeContext'] as ISystemsRuntimeContext<IEntity>;\r\n const { systemContext, systemsModule } = runtimeContext;\r\n\r\n const error = systemContext.runtime.error;\r\n\r\n const init = systemsModule.pipelines.get(SystemType.initialize);\r\n const update = systemsModule.pipelines.get(SystemType.update);\r\n const render = systemsModule.pipelines.get(SystemType.render);\r\n const sync = systemsModule.pipelines.get(SystemType.sync);\r\n\r\n return (\r\n <>\r\n <Text>Error?: {error}</Text>\r\n <Accordion>\r\n {init && <PipelineMiddlewareList pipeline={init} label=\"Initialize\" />}\r\n {update && <PipelineMiddlewareList pipeline={update} label=\"Update\" />}\r\n {render && <PipelineMiddlewareList pipeline={render} label=\"Render\" />}\r\n {sync && <PipelineMiddlewareList pipeline={sync} label=\"Sync\" />}\r\n </Accordion>\r\n </>\r\n );\r\n}\r\n\r\nexport default SystemsModuleLayout;\r\n","import { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Badge } from '@mantine/core';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { useContext } from 'react';\r\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\r\nimport { SystemsModuleNodeData } from '../abstract/node-props';\r\nimport CamelCaseFormatter from '../components/formatter-camel-case';\r\nimport SystemsModuleLayout from '../layout/systems-module-layout';\r\n\r\nfunction SystemsModuleNode({ id, data, selected, type }: NodeProps<Node<SystemsModuleNodeData>>) {\r\n const { systemsModuleRepository } = useContext(EcsFlowContext);\r\n const module = systemsModuleRepository.get(data.entityType);\r\n\r\n return (\r\n <NodeContainer\r\n id={id}\r\n selected={selected}\r\n data={data}\r\n title={\r\n <Badge fullWidth color=\"indigo\" variant=\"transparent\">\r\n <CamelCaseFormatter value={data.entityType} />\r\n </Badge>\r\n }\r\n type={type}\r\n >\r\n <SystemsModuleLayout type={data.entityType} module={module} />\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default SystemsModuleNode;\r\n","export enum EcsTemplateGroup {\n ecs = 'ECS'\n}\n","import { ITemplateFactory, NodeTemplate } from '@awesome-flow/core/abstract';\nimport { Position } from '@xyflow/react';\nimport { EcsHandleDataType } from '../abstract/handle-types';\nimport { EntityNodeData } from '../abstract/node-props';\nimport { EcsNodeType } from '../abstract/node-types';\nimport { EcsTemplateGroup } from '../abstract/templates';\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 entity: null\n },\n handles: [\n {\n dataType: EcsHandleDataType.proxy,\n position: Position.Left,\n connection: 'target',\n disabled: true\n },\n {\n dataType: EcsHandleDataType.proxy,\n position: Position.Right,\n connection: 'source',\n disabled: true\n }\n ]\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 { NodeTypes } from '@xyflow/react';\nimport EntityNode from '../nodes/node-entity';\nimport SystemsModuleNode from '../nodes/node-systems-module';\nimport { EntityNodeTemplate } from '../templates/template-entity-node';\nimport { SystemsModuleNodeTemplate } from '../templates/template-systems-module';\n\nexport enum EcsNodeType {\n systemsModule = 'systems-module-node',\n entity = 'entity-node'\n}\n\nexport const ecsNodeTypes = {\n [EcsNodeType.systemsModule]: SystemsModuleNode,\n [EcsNodeType.entity]: EntityNode\n} satisfies NodeTypes;\n\nexport const ecsNodeTemplates = {\n [EcsNodeType.entity]: new EntityNodeTemplate(),\n [EcsNodeType.systemsModule]: new SystemsModuleNodeTemplate()\n};\n","import { useFlowStore } from '@awesome-flow/core/hooks';\nimport { Node } from '@xyflow/react';\nimport { useContext, useEffect } from 'react';\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\nimport { EntityNodeData } from '../abstract/node-props';\n\nexport type FlowEcsEdgeProxiesProps = {\n nodesToConnect: Node<EntityNodeData>[];\n};\n\nfunction FlowEcsEdgeModules(props: Readonly<FlowEcsEdgeProxiesProps>) {\n const { nodesToConnect } = props;\n\n const onConnect = useFlowStore((state: { onConnect: any }) => state.onConnect);\n\n const { ecsFlowRepository, entityRepository } = useContext(EcsFlowContext);\n\n useEffect(() => {\n for (const node of nodesToConnect) {\n const sourceHandle = node.data.handles.find((h) => h.connection === 'source');\n const entity = entityRepository.get(node.data.entity);\n\n const systemModule = ecsFlowRepository.getSystemModuleNode(entity.myProxy.entityType);\n const targetHandle = systemModule?.data.handles.find((h) => h.connection === 'target');\n\n if (targetHandle) {\n onConnect({\n source: node.id,\n target: systemModule.id,\n sourceHandle: sourceHandle.handleId,\n targetHandle: targetHandle.handleId\n });\n }\n }\n }, [nodesToConnect, ecsFlowRepository, entityRepository, onConnect]);\n\n return <></>;\n}\n\nexport default FlowEcsEdgeModules;\n","import { useFlowStore } from '@awesome-flow/core/hooks';\r\nimport { Node } from '@xyflow/react';\r\nimport { useContext, useEffect } from 'react';\r\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\r\nimport { EntityNodeData } from '../abstract/node-props';\r\n\r\nexport type FlowEcsEdgeProxiesProps = {\r\n nodesToConnect: Node<EntityNodeData>[];\r\n};\r\n\r\nfunction FlowEcsEdgeProxies(props: Readonly<FlowEcsEdgeProxiesProps>) {\r\n const { nodesToConnect } = props;\r\n\r\n const onConnect = useFlowStore((state: { onConnect: any }) => state.onConnect);\r\n\r\n const { ecsFlowRepository, entityProxyRepository, entityRepository } = useContext(EcsFlowContext);\r\n\r\n useEffect(() => {\r\n for (const node of nodesToConnect) {\r\n const sourceHandle = node.data.handles.find((h) => h.connection === 'source');\r\n const entity = entityRepository.get(node.data.entity);\r\n const proxies = Array.from(entityProxyRepository.getAll(entity.myProxy).values()).flat();\r\n\r\n for (const proxy of proxies) {\r\n const proxyNode = ecsFlowRepository.getEntityNode(proxy);\r\n\r\n if (proxyNode) {\r\n const targetHandle = proxyNode.data.handles.find((h) => h.connection === 'target');\r\n\r\n onConnect({\r\n source: node.id,\r\n target: proxyNode.id,\r\n sourceHandle: sourceHandle.handleId,\r\n targetHandle: targetHandle.handleId\r\n });\r\n }\r\n }\r\n }\r\n }, [nodesToConnect, ecsFlowRepository, entityRepository, entityProxyRepository, onConnect]);\r\n\r\n return <></>;\r\n}\r\n\r\nexport default FlowEcsEdgeProxies;\r\n","import { FlowContext } from '@awesome-flow/core/abstract';\nimport { useFlowStore } from '@awesome-flow/core/hooks';\nimport { Node } from '@xyflow/react';\nimport { useContext, useEffect, useState } from 'react';\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\nimport { EntityNodeData } from '../abstract/node-props';\nimport { EcsNodeType } from '../abstract/node-types';\nimport FlowEcsEdgeModules from './flow-ecs-edge-modules';\nimport FlowEcsEdgeProxies from './flow-ecs-edge-proxies';\n\nfunction FlowEcsEntities() {\n const { nodeFactory } = useContext(FlowContext);\n const addNodes = useFlowStore((state) => state.addNodes);\n\n const { ecsFlowRepository, entityRepository } = useContext(EcsFlowContext);\n const [entityNodes, setEntityNodes] = useState<Node<EntityNodeData>[]>([]);\n\n useEffect(() => {\n const entities = entityRepository.listAll();\n const nodes = [];\n\n for (const entity of entities) {\n if (ecsFlowRepository.getEntityNode(entity.myProxy)) {\n continue;\n }\n\n const node = nodeFactory.createNodeFromType<EntityNodeData>(EcsNodeType.entity);\n\n node.data.entity = entity.myProxy;\n node.position = { x: 0, y: 0 };\n\n ecsFlowRepository.addEntityNode(node);\n nodes.push(node);\n }\n\n setEntityNodes(nodes);\n addNodes(nodes);\n }, [entityRepository, entityRepository.size, ecsFlowRepository, nodeFactory, addNodes]);\n\n return (\n <>\n <FlowEcsEdgeProxies nodesToConnect={entityNodes} />\n <FlowEcsEdgeModules nodesToConnect={entityNodes} />\n </>\n );\n}\n\nexport default FlowEcsEntities;\n","import { FlowContext } from '@awesome-flow/core/abstract';\r\nimport { useFlowStore } from '@awesome-flow/core/hooks';\r\nimport { useContext, useEffect } from 'react';\r\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\r\nimport { SystemsModuleNodeData } from '../abstract/node-props';\r\nimport { EcsNodeType } from '../abstract/node-types';\r\n\r\nfunction FlowEcsModules() {\r\n const { nodeFactory } = useContext(FlowContext);\r\n const addNodes = useFlowStore((state) => state.addNodes);\r\n\r\n const { ecsFlowRepository, systemsModuleRepository } = useContext(EcsFlowContext);\r\n\r\n useEffect(() => {\r\n const modules = Array.from(systemsModuleRepository.list()).filter((m) => !!m);\r\n const keys = Array.from(modules.values()).map((v) => v[0]);\r\n\r\n const nodesToAdd = [];\r\n\r\n for (const element of keys) {\r\n if (ecsFlowRepository.getSystemModuleNode(element)) {\r\n continue;\r\n }\r\n\r\n const node = nodeFactory.createNodeFromType<SystemsModuleNodeData>(EcsNodeType.systemsModule);\r\n\r\n node.data.entityType = element;\r\n node.position = { x: 0, y: 0 };\r\n\r\n ecsFlowRepository.addSystemModuleNode(node);\r\n nodesToAdd.push(node);\r\n }\r\n\r\n if (nodesToAdd.length) {\r\n addNodes(nodesToAdd);\r\n }\r\n }, [\r\n nodeFactory,\r\n addNodes,\r\n ecsFlowRepository,\r\n ecsFlowRepository.sizeNodes,\r\n systemsModuleRepository,\r\n systemsModuleRepository.size\r\n ]);\r\n\r\n return <></>;\r\n}\r\n\r\nexport default FlowEcsModules;\r\n","import { FlowAutoLayout } from '@awesome-flow/core/canvas';\nimport { memo, useContext, useEffect, useState } from 'react';\nimport { EcsFlowContext } from '../abstract/ecs-flow-context';\nimport FlowEcsEntities from './flow-ecs-entities';\nimport FlowEcsModules from './flow-ecs-modules';\n\nexport type FlowEcsStateProps = {\n showSystemModules: boolean;\n showEntities: boolean;\n autoLayout: boolean;\n};\n\nfunction FlowEcsState(props: Readonly<FlowEcsStateProps>) {\n const [, setUpdates] = useState(0);\n const [refreshLayout, setRefreshLayout] = useState(false);\n\n const { ecsFlowRepository } = useContext(EcsFlowContext);\n\n useEffect(() => {\n setRefreshLayout(true);\n }, [ecsFlowRepository.sizeNodes]);\n\n useEffect(() => {\n setInterval(() => {\n setUpdates((updates) => updates + 1);\n }, 1000);\n }, []);\n\n return (\n <>\n {props.showSystemModules && <FlowEcsModules />}\n {props.showEntities && <FlowEcsEntities />}\n {props.autoLayout && <FlowAutoLayout refreshLayout={refreshLayout} />}\n </>\n );\n}\n\nexport default memo(FlowEcsState);\n"],"mappings":"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"}
|
package/dist/index.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/utils/entity-update-counter.ts","../src/abstract/node-props.ts","../src/abstract/ecs-flow-repository.ts","../src/abstract/ecs-flow-context.ts","../src/abstract/handle-types.ts","../src/nodes/node-entity.tsx","../src/nodes/node-systems-module.tsx","../src/templates/template-entity-node.ts","../src/templates/template-systems-module.ts","../src/abstract/node-types.ts","../src/abstract/templates.ts","../src/flow/flow-ecs-state.tsx"],"mappings":";;;;;;;;UAEiB,oBAAA;EACf,cAAA,CAAe,SAAA,EAAW,SAAA;EAC1B,cAAA,CAAe,SAAA,EAAW,SAAA;AAAA;;;KCDhB,qBAAA,GAAwB,aAAA;EAClC,UAAA,EAAY,aAAA;AAAA;AAAA,KAGF,cAAA,GAAiB,aAAA;EAC3B,MAAA,EAAQ,YAAA;AAAA;;;cCHG,iBAAA;EAAA,iBACM,KAAA;;MAMb,SAAA,CAAA;EAIJ,mBAAA,CAAoB,IAAA,EAAM,IAAA,CAAK,qBAAA;EAI/B,mBAAA,CAAoB,UAAA,EAAY,aAAA,GAAgB,IAAA,CAAK,qBAAA;EAIrD,aAAA,CAAc,IAAA,EAAM,IAAA,CAAK,cAAA;EAIzB,aAAA,CAAc,MAAA,EAAQ,YAAA,GAAe,IAAA,CAAK,cAAA;EAI1C,YAAA,CAAA,GAAgB,IAAA;AAAA;;;KC1BN,mBAAA;EACV,iBAAA,EAAmB,iBAAA;EACnB,gBAAA,EAAkB,iBAAA;EAClB,mBAAA,EAAqB,oBAAA;EACrB,mBAAA,EAAqB,oBAAA;EACrB,qBAAA,EAAuB,sBAAA;EACvB,uBAAA,EAAyB,wBAAA;AAAA;AAAA,cAGd,cAAA,EAAc,KAAA,CAAA,OAAA,CAAA,mBAAA;;;aCff,iBAAA;EACV,KAAA;EACA,MAAA;AAAA;;;iBCOO,UAAA,CAAA;EAAa,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,cAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;iBCAxE,iBAAA,CAAA;EAAoB,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,qBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cCFlF,kBAAA,YAA8B,gBAAA;EAAA,SAChC,QAAA,EAAU,YAAA,CAAa,cAAA;AAAA;;;cCDrB,yBAAA,YAAqC,gBAAA;EAAA,SACvC,QAAA,EAAU,YAAA,CAAa,qBAAA;AAAA;;;aCFtB,WAAA;EACV,aAAA;EACA,MAAA;AAAA;AAAA,cAGW,YAAA;gCAGQ,iBAAA;wBAAA,UAAA;AAAA;AAAA,cAER,gBAAA;iBAGZ,kBAAA;yBAAA,yBAAA;AAAA;;;aCnBW,gBAAA;EACV,GAAA;AAAA;;;KCKU,iBAAA;EACV,iBAAA;EACA,YAAA;EACA,UAAA;AAAA;AAAA,iBAGO,YAAA,CAAa,KAAA,EAAO,QAAA,CAAS,iBAAA,IAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,QAAA"}
|
package/dist/index.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils/entity-update-counter.ts","../src/abstract/node-props.ts","../src/abstract/ecs-flow-repository.ts","../src/abstract/ecs-flow-context.ts","../src/abstract/handle-types.ts","../src/nodes/node-entity.tsx","../src/nodes/node-systems-module.tsx","../src/templates/template-entity-node.ts","../src/templates/template-systems-module.ts","../src/abstract/node-types.ts","../src/abstract/templates.ts","../src/flow/flow-ecs-state.tsx"],"mappings":";;;;;;;;UAEiB,oBAAA;EACf,cAAA,CAAe,SAAA,EAAW,SAAA;EAC1B,cAAA,CAAe,SAAA,EAAW,SAAA;AAAA;;;KCDhB,qBAAA,GAAwB,aAAA;EAClC,UAAA,EAAY,aAAA;AAAA;AAAA,KAGF,cAAA,GAAiB,aAAA;EAC3B,MAAA,EAAQ,YAAA;AAAA;;;cCHG,iBAAA;EAAA,iBACM,KAAA;;MAMb,SAAA,CAAA;EAIJ,mBAAA,CAAoB,IAAA,EAAM,IAAA,CAAK,qBAAA;EAI/B,mBAAA,CAAoB,UAAA,EAAY,aAAA,GAAgB,IAAA,CAAK,qBAAA;EAIrD,aAAA,CAAc,IAAA,EAAM,IAAA,CAAK,cAAA;EAIzB,aAAA,CAAc,MAAA,EAAQ,YAAA,GAAe,IAAA,CAAK,cAAA;EAI1C,YAAA,CAAA,GAAgB,IAAA;AAAA;;;KC1BN,mBAAA;EACV,iBAAA,EAAmB,iBAAA;EACnB,gBAAA,EAAkB,iBAAA;EAClB,mBAAA,EAAqB,oBAAA;EACrB,mBAAA,EAAqB,oBAAA;EACrB,qBAAA,EAAuB,sBAAA;EACvB,uBAAA,EAAyB,wBAAA;AAAA;AAAA,cAGd,cAAA,EAAc,KAAA,CAAA,OAAA,CAAA,mBAAA;;;aCff,iBAAA;EACV,KAAA;EACA,MAAA;AAAA;;;iBCOO,UAAA,CAAA;EAAa,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,cAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;iBCAxE,iBAAA,CAAA;EAAoB,EAAA;EAAI,IAAA;EAAM,QAAA;EAAU;AAAA,GAAQ,SAAA,CAAU,IAAA,CAAK,qBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cCFlF,kBAAA,YAA8B,gBAAA;EAAA,SAChC,QAAA,EAAU,YAAA,CAAa,cAAA;AAAA;;;cCDrB,yBAAA,YAAqC,gBAAA;EAAA,SACvC,QAAA,EAAU,YAAA,CAAa,qBAAA;AAAA;;;aCFtB,WAAA;EACV,aAAA;EACA,MAAA;AAAA;AAAA,cAGW,YAAA;gCAGQ,iBAAA;wBAAA,UAAA;AAAA;AAAA,cAER,gBAAA;iBAGZ,kBAAA;yBAAA,yBAAA;AAAA;;;aCnBW,gBAAA;EACV,GAAA;AAAA;;;KCKU,iBAAA;EACV,iBAAA;EACA,YAAA;EACA,UAAA;AAAA;AAAA,iBAGO,YAAA,CAAa,KAAA,EAAO,QAAA,CAAS,iBAAA,IAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAAA,QAAA"}
|