Nodes/comfyui-arkennemasis/arkennemasis Cell Matrix (N-axis cartesian product)
ComfyUI Node

arkennemasis Cell Matrix (N-axis cartesian product)

Expand the recipe into every cell: the cartesian product of all N axes times the plates. Honours the client's declared variant rows when intake supplied them, so combinations they deliberately omitted are not generated.

By Hishamahmer·Created about a month ago·Updated 9 days ago· 5
arkennemasis Cell Matrix (N-axis cartesian product)
    • cells_json
    • count
    • report
    recipe_json{}
    intake_json
    limit0
    offset0
    only_axis_value
    pick
    skip_deliveredtrue
    jobs_dirvariation/jobs
    Categoryarkennemasis/Variation

    Inputs (8)

    NameTypeDefaultDescription
    recipe_jsonSTRING{}
    intake_jsonoptSTRINGOptional. When present, only the variant rows the client actually declared are generated.
    limitoptINT00–100000Generate at most this many cells. 0 = all of them. Use a small number for the first end-to-end test — three cells on one axis is the spec's own step 2.
    offsetoptINT00–100000Skip this many cells first. With limit, lets you run a specific slice without touching the rest.
    only_axis_valueoptSTRINGOptional filter, 'axis=value' per line. Pin one axis to one value to sweep another axis on its own — which is exactly what axis-level review needs.
    pickoptCOMBOWHICH cells the limit keeps. 'spread' walks the whole matrix at even intervals, so a 5-image test covers different colours AND different specification formats instead of five variations of the first one. 'first ones' takes them in order — use it to resume a deliberate slice with offset.
    skip_deliveredoptBOOLEANtrueLeave cells that are already delivered OUT of the list. Resume relies on this: the per-cell skip downstream cannot work behind a fan-out, because ComfyUI unions every item's lazy decision, so one unfinished cell would bill the generator for all of them. Off = rebuild the whole set and pay for it again.
    jobs_diroptSTRINGvariation/jobsWhere the durable per-cell records live. Only read here, never written.

    Outputs (3)

    NameTypeDescription
    cells_jsonSTRING
    countINT
    reportSTRING