Replaces the two Models/Inputs preview buttons with a single Generation Data button (#188) opening a split overlay: - Left half: one horizontal-scroll grid per upstream Flake Model Combo / Flake Combo node, defaulting to the first item, selectable (#189). - Right half: model/output/LoRA/prompt data for the selected combination only, pulling fixed preset + common stack flakes + the chosen combo flake per axis (#190). - Top of right half: k-d-tree composite of the selected combo covers (top half + bottom quarters for the 3-item case), with a 'No image generated yet' label that swaps to the actual output + filename once that combination has been generated (#191). queue.js stamps an order-independent combination key onto FlakeGenerate before each queued prompt so onExecuted can map outputs to combinations. closes #187
This commit is contained in:
@@ -113,6 +113,8 @@ app.queuePrompt = async function(number, batchCount = 1) {
|
||||
}
|
||||
}
|
||||
|
||||
const flakeGenerateNodes = app.graph.nodes.filter(n => n.type === "FlakeGenerate");
|
||||
|
||||
try {
|
||||
for (const combination of combinations) {
|
||||
for (const item of combination) {
|
||||
@@ -129,6 +131,15 @@ app.queuePrompt = async function(number, batchCount = 1) {
|
||||
item.node._model_combo_render?.();
|
||||
}
|
||||
}
|
||||
// Stamp the active combination key (order-independent: combo node
|
||||
// id : selected index, sorted by node id) so FlakeGenerate can map
|
||||
// the resulting image to this combination in its data overlay.
|
||||
const comboKey = combination
|
||||
.map(it => [it.node.id, it.index])
|
||||
.sort((a, b) => a[0] - b[0])
|
||||
.map(([id, idx]) => `${id}:${idx}`)
|
||||
.join("|");
|
||||
for (const fg of flakeGenerateNodes) fg._pending_combination_key = comboKey;
|
||||
await _originalQueuePrompt.call(this, number, 1);
|
||||
}
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user