Nodes/Symbiotica/Symbiotica Order Read
ComfyUI Node

Symbiotica Order Read

Parse a Client's Monthly Order Spreadsheet into Usable Events

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
Symbiotica Order Read
    • events
    project_path
    month

    Symbiotica Order Read is the front door of this pack's order pipeline - and honestly, it's the node that tells you what this pack actually is. Most of the pack is studio infrastructure: a port of the "Symbiotica Hub" that turns a client's monthly order into automated game-asset renders. If you're a freelance or in-house artist producing assets from a monthly spec sheet, this is the node you'll build your whole workflow around. If you're not, this entire family of nodes will look baffling, and that's fine - it's not aimed at you.

    Its job is narrow but specific: you point it at a client project folder (the one containing orders/ and reference-assets/), pick a month, and it reads that month's order .xlsx into a structured events value. The order spreadsheet uses a specific shape - Feature / Asset Name / Canvas / Prompt columns - plus a folder of reference images named per asset (AssetName.png, AssetName_2.png, …). What comes out the other end is a single events wire carrying everything, ready for the nodes downstream.

    How it works

    The node resolves your project_path + month to three derived paths: the order xlsx, the client-references folder, and the sprite-catalog root. It parses the spreadsheet into events (one per feature), counts reference files, and pushes a preview to the UI so you can read what it found without digging into the JSON. The web extension adds an events browser on this node and populates the feature/group dropdowns after the first queue.

    Two behaviors are worth knowing before they bite:

    • A blank month means "whichever month this project has" - it reads the first one. A named month the project doesn't hold raises an error rather than silently reading something else under that name.
    • The same strictness applies downstream to feature: a substituted answer renders, bills, and reports success indistinguishably from the one requested, so the pipeline refuses to substitute silently.

    The inputs and output

    Just two inputs, both strings, no widgets to fiddle with otherwise:

    • project_path - the client project folder. The tooltip is explicit: "the one that contains orders/ and reference-assets/". Not the orders folder itself, the folder containing it.
    • month - which month's .xlsx to read. Blank = the project's first month.

    The output is events (SYMBIOTICA_ORDER_EVENTS). This is a custom wire type, not a plain list - you don't read it directly, you wire it into the next stage. The natural consumer is Symbiotica Event Specs (which picks one event) or the Template Editor.

    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 API keys, no model downloads - this node is pure local file parsing (it needs openpyxl or similar to read xlsx, which the pack's deps cover). This is the cheapest node in the pack to run: zero cloud, zero cost.

    Common issues

    • "no order file" - you set a project path but it doesn't contain an orders/ folder with xlsx files, or you pointed at the wrong level. The error names what's missing.
    • "no events found" - the xlsx parsed but had no Feature rows. Check the sheet's column headers against the pack's expected shape (Feature / Asset Name / Canvas / Prompt).
    • Wrong month silently read - you left month blank and it grabbed the first one. If that's wrong, type the month.
    • The events browser panel didn't populate after a page reload - the README is honest about this: on a fully cached run the browser panel isn't re-pushed. Change any input (or re-parse) to repopulate it.

    The trap for newcomers: this node only parses. It doesn't render anything, doesn't show you images, and its output looks like a blob of JSON in the preview. Judge it by what comes out after you wire it into Event Specs and the rest of the lane - that's where the order becomes work.

    Categorysymbiotica/pipeline

    Inputs (2)

    NameTypeDefaultDescription
    project_pathSTRINGThe client project folder — the one that contains orders/ and reference-assets/
    monthSTRINGWhich month's order to read (the .xlsx files under orders/)

    Outputs (1)

    NameTypeDescription
    eventsSYMBIOTICA_ORDER_EVENTS