- Add permissions for writing issues
- Update action version to v1 for publish-node-action
- Add condition to run job only for specific repository owner
By pointing the specific commit, updating bmquilting repo won't change the comfyui_quilting behavior.
I already found & corrected a bug that changes the nodes behavior in bmquilting dev branch, so this change ensures users can have a stable experience.
Additionally, if I want to make more radical changes in the future, I don't risk breaking all the node versions that rely on the bmquilting repo.
reasoning behind seed removal in SP nodes: the cases where seed changes output are so rare that will just confuse the users and occupy unnecessary space in the workflow.
___________________________________________
Additional developments:
Tried to automate tolerance by analyzing the min error distribution of random samples.
After some "adjustments" to avoid large tolerances, was able to get values within a nice range. However, for some textures, the value deed not seem adequate, despite falling within an acceptable range. Thus, I will not include this implementation for now, but it might be a good idea to save it as a gist for future reference.
* abstract repeated code in get_4way_min_cut_patch.
* with the exception of v0, masks are now 2 dimensional arrays.
* re-use already allocated memory when possible.
________________________________
notes:
* patch_blending_vignette cache is cleared post node execution
* new GenParams cleans up args in function, and allows easier adjustments to args if the need arises.
* v0 uses jena2020, ignoring blend_into_patch option.
!! v0 output seemed bizarre on some tests, might have introduced a bug when refactoring...
________________________________
to think about:
* when generating cut mask, output it as single channel instead. blend_into_patch added redundant operation.
* overlap can be small with respect to the block_size, perhaps it is better to handle individual corners in get_4way_min_cut_patch?
* maybe add seed or generator to GenParams.
* patch_search.py renamed to synthesis_subroutines.py.
* fixed number of channels when using cv.floodFill with latents in new min cut implementation.
* make_seamless.py and make_seamless2.py use same "min_cut_patch" implementation.
* quilting.py allows to use v0 implementation, but otherwise, also shares the same as seamless nodes.
* check optional lib using importlib
____________________________________________
Note:
Technically, opencv could be made optional too, but it would require extra work.
Seamless nodes would either have to be excluded or reworked.
Seems like too much work for some niche applications, not motivated to work on that for now. It would have been easier if I had thought about it apriori, but alas...
For now next planned steps are: to integrate the blend functionality; clean up the code; update the documentation; and update/add workflows.