You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
XYZPlot doesn't work with prompts like I'd expect them to. In my head, if I've already got a prompt, then the axis values for a prompt should be appended, not replaced. That said, I appreciate the generalized utility of XYZPlot and how it can be tied to any field. In most cases, a replace operation would be preferred (which XYZPlot does right now).
For prompts, I'd like to avoid human error and excessively large prompts in the XYZPlot node for doing replacing. In this way I'll have a sort of base prompt and the axis for that prompt will add its own values. I think this is what the screenshot is showing in the example of XYZPlot, but I haven't been able to reproduce it myself. When I inspected the data being sent to queue up the new prompt, it looks like my prompt was being overridden by one of the axis values entirely.
I have a branch at https://github.com/LoganBarnett/comfyui-browser/tree/debug-xyz-node which provides one means of doing this for XYZPlot by introducing an update_mode variable for each axis (I only cover X and Y at the moment). While it does function, I'm not convinced this is the ideal way to perform this task. I believe this requires each item in each prompt axis to have a comma to separate the prompt elements. Otherwise it's just a straight concatenation. For example, if you have a prompt of sunset on a beach and the axis values are 1girl; 1boy then you would get sunset on a beach1girl and sunset on a beach1boy. You could fix it with sunset on a beach, (note the added comma) and 1girl,; 1boy, (more commas, assuming you might use two or more axes for your prompt modifier.
I'm thinking maybe we should lean to have a substituter variable for each axis instead. You can leave it blank to replace the value. Then you would write a very semantic prompt like sunset on a beach, {person}, {time}, and your X axis could be 1girl; 1boy, and the Y axis could be day; night, and these would work very well together. You'd just have to give XYZPlot the additional {person} and {time} as x_substituter and y_substituter inputs, respectively. This approach will make the node a little larger / more noisy, but I think it gives us the power we are accustomed to seeing with ComfyUI (and XYZPlot) without adding magic that will later create a higher maintenance burden.
Thoughts?
I plan on implementing this, but I won't take offense if you'd rather see this done a different way and I've already arrived at a pull request before you could weigh in :)
The text was updated successfully, but these errors were encountered:
Hi, thanks for the work on the project!
XYZPlot doesn't work with prompts like I'd expect them to. In my head, if I've already got a prompt, then the axis values for a prompt should be appended, not replaced. That said, I appreciate the generalized utility of XYZPlot and how it can be tied to any field. In most cases, a replace operation would be preferred (which XYZPlot does right now).
For prompts, I'd like to avoid human error and excessively large prompts in the XYZPlot node for doing replacing. In this way I'll have a sort of base prompt and the axis for that prompt will add its own values. I think this is what the screenshot is showing in the example of XYZPlot, but I haven't been able to reproduce it myself. When I inspected the data being sent to queue up the new prompt, it looks like my prompt was being overridden by one of the axis values entirely.
I have a branch at https://github.com/LoganBarnett/comfyui-browser/tree/debug-xyz-node which provides one means of doing this for XYZPlot by introducing an
update_mode
variable for each axis (I only cover X and Y at the moment). While it does function, I'm not convinced this is the ideal way to perform this task. I believe this requires each item in each prompt axis to have a comma to separate the prompt elements. Otherwise it's just a straight concatenation. For example, if you have a prompt ofsunset on a beach
and the axis values are1girl; 1boy
then you would getsunset on a beach1girl
andsunset on a beach1boy
. You could fix it withsunset on a beach,
(note the added comma) and1girl,; 1boy,
(more commas, assuming you might use two or more axes for your prompt modifier.I'm thinking maybe we should lean to have a substituter variable for each axis instead. You can leave it blank to replace the value. Then you would write a very semantic prompt like
sunset on a beach, {person}, {time}
, and your X axis could be1girl; 1boy
, and the Y axis could beday; night
, and these would work very well together. You'd just have to give XYZPlot the additional{person}
and{time}
asx_substituter
andy_substituter
inputs, respectively. This approach will make the node a little larger / more noisy, but I think it gives us the power we are accustomed to seeing with ComfyUI (and XYZPlot) without adding magic that will later create a higher maintenance burden.Thoughts?
I plan on implementing this, but I won't take offense if you'd rather see this done a different way and I've already arrived at a pull request before you could weigh in :)
The text was updated successfully, but these errors were encountered: