Conversation
…alize undefined fields in assertions
|
I have looked through the code, and the bits I understand look good. TBF, a lot of it is over my head. I really don't do much front-end code and haven't delved into the graph execution stuff anyway as much as you have. There is much more code change than I'd expected, which is related to graph execution and traversal, so I can't comment on it in any real, meaningful way that would be helpful. One thing that comes to mind is, have you considered circular references now that they can be linked together, or is that already done via the front end? IMHO, this carries much more risk than extending only the primitive collection nodes. However, it does provide a much more centralised solution. The collect node is a core component used in many places; it needs extensive testing to cover the many different scenarios it can be used in. Sorry, I wish I were more helpful. |
|
I assume with this change, none of my collection_tools node packs will be needed at the moment. |
The front end prevents this condition for all nodes.
Agreed. |
Summary
Feature + fix: enhanced the built-in
collectnode to support chaining viacollect.collectionwhile preserving existing multi-collect.itembehavior.Why:
Collect -> Collectworkflows (similar to @skunkworxdark'scollection_tools) without breaking existing graphs.How:
invokeai/app/services/shared/graph.py):collectupdated toversion="1.1.0".collectionas a real connection input.item, single-input behavior forcollection.T | list[T] | None).collect.collectionin schema parsing.collectionchains.Related Issues / Discussions
https://discord.com/channels/1020123559063990373/1130288930319761428/1477387080966471802
QA Instructions
Backend:
pytest -q tests/test_node_graph.py -k "collector or iterate_accepts_collection or iterate_validates_collection_inputs_against_iterator_outputs"Frontend:
cd invokeai/frontend/web && pnpm run lint:tsccd invokeai/frontend/web && node_modules/.bin/vitest run src/features/nodes/store/util/getCollectItemType.test.ts src/features/nodes/store/util/validateConnection.test.tsMerge Plan
Checklist
What's Newcopy (if doing a release after this PR)