-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is there a way to seperate the data flow and the execution flow? #26
Comments
Hi liusida, actually LG has native event type, alongside whole-tree execution, that would cause matters on how and when one would update the nodes. I had introduced two modes dedicated at flow-blased execution. That has probably never been used and tested outside of me, lucky or unluckily. Apart from that Javi too proposed a recent change in the code integrating deferred execution of events to frame values update for the events reading values. |
Thanks @atlasan . I am looking at And also, when using this onTrigger mode when the graph is stopped, I need to runStep once and then click the button to trigger the node. Is this expected? |
Haha! After modifying But it seems not easy to do this without changing the source code (need to copy many lines out in order to override the default behavior). //BTW, when I tested your on Trigger mode, if I change a node to the OnTrigger mode, two additional slots will appear, but when I change it back to ALWAYS, these two slots don't disappear. Seems like a bug. ^_^ Do you have any plan to redo this part? I'll be quite willing to refine the Trigger mode. |
About graph running or not things have to be checked and thinking done:
If you are trying and mixing modes it's better to have the graph running |
Just to know, I use editor_debug.html instead of index.html, that would load different defaults as per my preferences |
The node It works when I keep the editor running and all the nodes are in default mode (I think it is the ALWAYS mode). If the graph is not running, I need to runStep() to flush the output to the console. |
Might want to bring this proposal over to https://github.com/litegraph-tsx/litegraph.tsx |
Hi @DrJKL ! |
Allowing for selective cycles for signals. |
Yep! I know that, approve. |
So are we moving to the tsx repo? I've just switched to this one from the original litegraph.js. Where is the future, @daniel-lewis-ab ? |
Hi guys.
*Litegraph.tsx:*
Sorry I haven't been clear on this. I had a chat with the ComfyUI guys and
basically realized the community needed Litegraph to not just be on my
personal github.
It should be moved to Litegraph.tsx for that reason, but also for the
rename. The fact is, Litegraph is modernizing and being worked on, and
Litegraph.js is almost 13 years old now.
I personally have been pretty busy. Between building a garage, working for
an AI company, selling a house, pollen and a heat wave I haven't really
been as much a participant in the project as I'd like to be for the last
couple of weeks.
That said, I have invited Atlasan, DrJKL, and some others as members of the
litegraph core group. The only protected branches AFAIK are the original
(locked) and main (needs one other member to approve)
If it's not configured well enough, shoot me an email and I'd be happy to
look into it.
*Plans:*I've implemented the PRs, much of the tooling changes, and eslint
fixes in the new repo. I haven't yet done the ES6 and modularization
changes. I'm hoping to look at it again this weekend, and once I've done
so we'll have a good foundation to figure out what we want to code up next.
*Server side:*
My goals do include establishing a way to execute back-end code without
needing ComfyUI, and my thoughts for doing so was:
1. Set up a node that can submit its inputs like a form.
2. Set up a REST interface such that for any given python class, all of the
methods are mapped out as REST endpoints that accept the arguments they
expect from Litegraph.
- The mapping can be done using the Inspect class in Python, and I had
code from almost 5-6 months ago that does some aspects of this. (preceding
my current employer)
To me, the server side of this whole thing is its own project, because
*any* interface could use it, and this could use *any* back-end. In
principle. But I'm strongly in favor of seeing that approach taken
particularly because of the beauty of it.
Best,
Daniel
…On Wed, Jul 10, 2024 at 7:05 PM Liu Sida ***@***.***> wrote:
So are we moving to the tsx repo? I've just switched to this one from the
original litegraph.js.
Where is the future, @daniel-lewis-ab <https://github.com/daniel-lewis-ab>
?
—
Reply to this email directly, view it on GitHub
<#26 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AC36LN6FKHCGQ2U5FNZOFCDZLXK6DAVCNFSM6AAAAABKRX3T76VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRRG44TOOJWG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Thanks for the detailed response.
I'll wait for your change and switch to the new repo. My code currently works with
Good to know the plan. I am currently trying to make a python back-end for litegraph alone, at least a proof-of-concept. I'll keep you guys updated. However, I don't think the node should be created by submitting a form, not that easy. Creating new nodes should be done by professional developers, so they can bring all the deep learning functionalities to the litegraph front-end. (PyTorch is the most important python package I am aiming to integrate)
While I totally agree with the N-N relationship between the front-end and the back-end, I think it is quite hard to define the common protocol. I'll make one back-end for now, but N-N is a great future. |
Hi @daniel-lewis-ab @atlasan , I am thinking about making a ComfyUI alternative. I know it sounds quite ambitious but I am actually planning it.
Here is the plan, and I compared it with ComfyUI:
https://github.com/liusida/StoneSoup
One key aspect of the new project StoneSoup is to seperate data flow from execution flow, so it'll be natural to support loops and other flowchart features. Do you happen to know how to hack LiteGraph to support that? Maybe a dedicated type of connections.
Or, any documentation/tutorials/demos of LiteGraph would help, because I can't find many docs that explain LiteGraph. And it feels like there are many functionalities hidden in that 10k+ lines of code.
Thanks, guys~
The text was updated successfully, but these errors were encountered: