Nodes/Comfyui_TTP_Toolset/TTP_CoordinateSplitter
ComfyUI Node Runs on cloud

TTP_CoordinateSplitter

Turn tile positions into conditioning coordinates

By TTPlanetPig·Created 2 years ago·Updated 29 days ago· 1,028
TTP_CoordinateSplitter
  • Positions
  • Coordinates

This is pure plumbing, and it's fine to describe it that way - it exists to bridge two halves of TTPlanetPig's original ("TTP Tile 1.0") tiled-upscale workflow that otherwise wouldn't speak the same data format. The README's own description is short and to the point: "This node converts position information into coordinates and connects them to the corresponding positions."

What it does, concretely. TTP_Image_Tile_Batch outputs a POSITIONS list describing where each cut tile came from in the source image. If you want to apply per-tile conditioning (a different prompt's influence restricted to each tile's region, using ComfyUI's own "Conditioning (Set Area)" mechanism) as part of a tiled generation, you need that positional data reshaped into the coordinate format the conditioning nodes expect. That's this node's entire job: Positions in, Coordinates out, both LIST types.

Why this exists as its own node instead of being folded into something bigger. Regional/area-based conditioning - restricting a piece of prompt influence to a rectangle on the canvas - predates most of today's fancier regional-attention tricks, and ComfyUI's own "Conditioning (Set Area)" node is still the mechanism underneath it. This node's job is narrowly to reformat tile positions into that mechanism's coordinate expectations, so you don't have to hand-write the conversion yourself every time you build a tiled-conditioning workflow.

Where it fits in the chain. TTP_Image_Tile_BatchPOSITIONSTTP_CoordinateSplitterCoordinates → the coordinates input on TTP_condsetarea_merge (or its _test variant). In parallel, your per-tile prompts get encoded and batched separately (typically via TTP_condtobatch) into that same merge node's conditioning_batch input. The merge node then stamps each conditioning to its matching area and combines everything into one CONDITIONING you feed to your sampler.

Install. ComfyUI Manager, search "Comfyui_TTP_Toolset", or cd ComfyUI/custom_nodes && git clone https://github.com/TTPlanetPig/Comfyui_TTP_Toolset, then restart. It's a data-reshaping node only - no models, no extra dependencies, nothing else to fetch once the pack itself is installed.

Do you actually need this node? Only if you're building the TTP Tile 1.0-style regional-conditioning workflow by hand - a different prompt's influence per grid tile, applied through TTP_condsetarea_merge. If you're using Smart Tile 2.0 instead, per-tile prompting is handled automatically further up the chain (via TTP Smart Tile QwenVL Prompt Set Builder and the composite/prompt override nodes), and you won't touch this one at all. It's specifically the fixed-grid workflow's plumbing, not something every Smart Tile user needs to know about.

Common issues. Because this node's whole purpose is reformatting one list into another list that a downstream node expects, the failure mode to watch for isn't really "this node is broken," it's "the list I fed it didn't come from where I think it did." Make sure the Positions input is actually the POSITIONS output of the exact TTP_Image_Tile_Batch run you're using elsewhere in the same graph - if you regenerate the tile batch with different tile_width/tile_height and forget to reconnect this node too, the coordinates it produces will describe a grid that no longer matches your actual tiles, and downstream area-conditioning will apply to the wrong regions without throwing an obvious error.

CategoryTTP/Conditioning

Inputs (1)

NameTypeDefaultDescription
PositionsLIST

Outputs (1)

NameTypeDescription
CoordinatesLIST