diff --git a/package.json b/package.json index a258134..42dd2c7 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,8 @@ "svelte-check": "^3.2.0", "svelte-dnd-action": "^0.9.22", "typescript": "^5.0.3", + "@types/cytoscape": "^3.19.9", + "@types/dompurify": "^3.0.2", "vite": "^4.3.8", "vite-plugin-glsl": "^1.1.2", "vite-plugin-static-copy": "^0.14.0", @@ -74,13 +76,14 @@ "@litegraph-ts/tsconfig": "workspace:*", "@sveltejs/vite-plugin-svelte": "^2.1.1", "@tsconfig/svelte": "^4.0.1", - "@types/dompurify": "^3.0.2", "canvas-to-svg": "^1.0.3", "cm6-theme-basic-dark": "^0.2.0", "cm6-theme-basic-light": "^0.2.0", "codemirror": "^6.0.1", "csv": "^6.3.0", "csv-parse": "^5.3.10", + "cytoscape": "^3.25.0", + "cytoscape-dagre": "^2.5.0", "dompurify": "^3.0.3", "events": "^3.3.0", "framework7": "^8.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3a1120..451b183 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -97,9 +97,6 @@ importers: '@tsconfig/svelte': specifier: ^4.0.1 version: 4.0.1 - '@types/dompurify': - specifier: ^3.0.2 - version: 3.0.2 canvas-to-svg: specifier: ^1.0.3 version: 1.0.3 @@ -118,6 +115,12 @@ importers: csv-parse: specifier: ^5.3.10 version: 5.3.10 + cytoscape: + specifier: ^3.25.0 + version: 3.25.0 + cytoscape-dagre: + specifier: ^2.5.0 + version: 2.5.0(cytoscape@3.25.0) dompurify: specifier: ^3.0.3 version: 3.0.3 @@ -188,6 +191,12 @@ importers: '@floating-ui/dom': specifier: ^1.2.8 version: 1.2.8 + '@types/cytoscape': + specifier: ^3.19.9 + version: 3.19.9 + '@types/dompurify': + specifier: ^3.0.2 + version: 3.0.2 '@zerodevx/svelte-toast': specifier: ^0.9.3 version: 0.9.3(svelte@3.59.1) @@ -2368,6 +2377,10 @@ packages: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} dev: true + /@types/cytoscape@3.19.9: + resolution: {integrity: sha512-oqCx0ZGiBO0UESbjgq052vjDAy2X53lZpMrWqiweMpvVwKw/2IiYDdzPFK6+f4tMfdv9YKEM9raO5bAZc3UYBg==} + dev: true + /@types/d3-dsv@3.0.0: resolution: {integrity: sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==} @@ -2395,7 +2408,7 @@ packages: resolution: {integrity: sha512-YBL4ziFebbbfQfH5mlC+QTJsvh0oJUrWbmxKMyEdL7emlHJqGR2Qb34TEFKj+VCayBvjKy3xczMFNhugThUsfQ==} dependencies: '@types/trusted-types': 2.0.3 - dev: false + dev: true /@types/estree@1.0.1: resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} @@ -2482,7 +2495,7 @@ packages: /@types/trusted-types@2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} - dev: false + dev: true /@types/uuid@9.0.1: resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} @@ -3324,6 +3337,23 @@ packages: stream-transform: 3.2.6 dev: false + /cytoscape-dagre@2.5.0(cytoscape@3.25.0): + resolution: {integrity: sha512-VG2Knemmshop4kh5fpLO27rYcyUaaDkRw+6PiX4bstpB+QFt0p2oauMrsjVbUamGWQ6YNavh7x2em2uZlzV44g==} + peerDependencies: + cytoscape: ^3.2.22 + dependencies: + cytoscape: 3.25.0 + dagre: 0.8.5 + dev: false + + /cytoscape@3.25.0: + resolution: {integrity: sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==} + engines: {node: '>=0.10'} + dependencies: + heap: 0.2.7 + lodash: 4.17.21 + dev: false + /d3-array@3.2.2: resolution: {integrity: sha512-yEEyEAbDrF8C6Ob2myOBLjwBLck1Z89jMGFee0oPsn95GqjerpaOA4ch+vc2l0FNFFwMD5N7OCSEN5eAlsUbgQ==} engines: {node: '>=12'} @@ -3474,6 +3504,13 @@ packages: engines: {node: '>=12'} dev: false + /dagre@0.8.5: + resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} + dependencies: + graphlib: 2.1.8 + lodash: 4.17.21 + dev: false + /dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} @@ -4465,6 +4502,12 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true + /graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + dependencies: + lodash: 4.17.21 + dev: false + /happy-dom@9.18.3: resolution: {integrity: sha512-b7iMGYeIXvUryNultA0AHEVU0FPpb2djJ/xSVlMDfP7HG4z7FomdqkCEpWtSv1zDL+t1gRUoBbpqFCoUBvjYtg==} dependencies: @@ -4511,6 +4554,10 @@ packages: dependencies: function-bind: 1.1.1 + /heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + dev: false + /htm@3.1.1: resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} dev: false diff --git a/src/lib/components/ComfyJourneyView.svelte b/src/lib/components/ComfyJourneyView.svelte new file mode 100644 index 0000000..087feb2 --- /dev/null +++ b/src/lib/components/ComfyJourneyView.svelte @@ -0,0 +1,57 @@ + + + +
+ + {#each nodes as node} + + {/each} + + {#each edges as edge} + + {/each} + +
+ + diff --git a/src/lib/components/ComfyPaneView.svelte b/src/lib/components/ComfyPaneView.svelte index 36b6a0b..fcff94a 100644 --- a/src/lib/components/ComfyPaneView.svelte +++ b/src/lib/components/ComfyPaneView.svelte @@ -1,5 +1,5 @@