Nodes/Symbiotica/Symbiotica Auto Packer Settings
ComfyUI Node

Symbiotica Auto Packer Settings

Scale, Padding, Borders, Split Variants

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
Symbiotica Auto Packer Settings
    • settings
    scale_targetoff
    scale_max3x
    algorithmshelf
    distribute_by_foldertrue
    padding0
    border0
    combined_sheettrue
    split_variantsfalse
    max_refsall

    Symbiotica Auto Packer Settings is the optional knobs node for the Auto Packer - the same layout controls as the Template Editor's Pack Settings, exposed as a wire so a hands-off run can reproduce an editor-made sheet. If the Model Preset is "what does the sheet look like," this is "how exactly are the sprites packed into it." The packer runs fine without it (unwired = today's defaults: shelf, no distribute, scale 1 - nothing regresses), so this node is only worth adding when a sheet's defaults aren't quite what you need.

    The concrete case the pack names: reproducing an editor sheet "e.g. recipes stacked per row at 2x scale." If you built a layout in the Template Editor by hand and want the automated Auto Packer to produce the same geometry, you express that geometry here and wire settings into the packer.

    How it works

    It's a settings node - pure config, one output. Set the widgets, it emits a SYMBIOTICA_PACK_SETTINGS payload, the Auto Packer consumes it. All the knobs have tooltips that read like the author talking to you:

    • scale_target - grow each sprite so its longest edge reaches ~this many px (capped by scale_max, never shrinks). Small sprites scale more than large ones. off = native size; fit width = scale the whole packed block to fill the sheet width (5px margin).
    • scale_max - max zoom for the target above, so a scaled sheet can't overflow. Example given right in the tooltip: target 512 + 3x → 128px sprite gets 3x, 256px gets 2x, 512px stays native.
    • algorithm - the packing algorithm: shelf (default; Shelf/Strip = one strip per row), maxrects, grid.
    • distribute_by_folder - lay each asset type's strip on its own row (the editor default).
    • padding - gap between packed strips and between an asset and its mirror cell, in px.
    • border - draw an outline box this thick around each icon cell (asset and mirror each get a box). 0 = no box.
    • combined_sheet - emit the grouped, paginated sheets (the normal output). Off = only the split-variant sheets below.
    • split_variants - for directional assets (xlsx rotation 2/4), emit one sheet per variant ref (max 3), mirrored for rotation 2. Food (rotation -) is never split.
    • max_refs - hard cap on reference images per asset: keep the first N, drop the rest, so a sheet is never overloaded with refs. all = no cap.

    Install

    ComfyUI Manager → search Symbiotica → install, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
    pip install -r symbiotica/requirements.txt
    

    Restart ComfyUI. No keys, no models - config only, zero cost.

    Common issues

    • The packer ignores your settings - the settings wire isn't connected, or you edited the widgets on the packer expecting them to do something (they don't; this node owns the pack geometry).
    • Sprites came out huge / tiny - scale_target + scale_max interact. A small sprite grows to the target up to the cap; if the cap is 3x and the target is 512, a 128px sprite becomes 384px, not 512. Raise the cap for the target to bind.
    • Sheet overflow - that's exactly what scale_max exists to prevent; lower it or lower the target.
    • Missing variant sheets - split_variants only applies to directional assets with xlsx rotation 2/4. Non-directional types are never split, so if nothing changed, your assets aren't flagged directional.
    • A type that paginates across sheets got its own sheet twice - check distribute_by_folder and the sheet_categories alignment; a paginated type is still one type even if it spans sheets.

    The honest framing: for a first run, leave this node unwired and let the packer's defaults do their thing. Add it when a sheet's spacing, scale, or variant handling needs to match something you already approved - that's what it's for.

    Categorysymbiotica/pipeline

    Inputs (9)

    NameTypeDefaultDescription
    scale_targetCOMBOoffGrow each sprite so its longest edge reaches ~this many px (capped by scale_max, never shrinks) — small sprites scale more than large ones. 'off' = native size. 'fit width' = scale the whole packed block to fill the sheet width (5px margin).
    scale_maxCOMBO3xMax zoom for the target above — a small sprite never grows more than this, so a scaled sheet can't overflow. e.g. target 512 + 3x → 128px:3x, 256px:2x, 512px:native.
    algorithmCOMBOshelfPacking algorithm (Shelf/Strip = one strip per row)
    distribute_by_folderBOOLEANtrueLay each asset type's strip on its own row (the editor default)
    paddingINT00–512Gap between packed strips AND between an asset and its mirror cell (px)
    borderINT00–512Draw an outline box this many px thick around each icon cell (the asset and its mirror each get a box). 0 = no box.
    combined_sheetBOOLEANtrueEmit the grouped, paginated sheets (the normal output). Off = only the split-variant sheets below.
    split_variantsBOOLEANfalseFor directional assets (xlsx rotation 2/4), emit one sheet per variant ref (max 3) — mirrored for rotation 2. Food (rotation -) is never split.
    max_refsCOMBOallHard cap on reference images per asset — keep the first N (in the panel's order), drop the rest, so a sheet is never overloaded with refs. 'all' = no cap.

    Outputs (1)

    NameTypeDescription
    settingsSYMBIOTICA_PACK_SETTINGS