Nodes/ComfyUI-Field/Field Scatter
ComfyUI Node

Field Scatter

A ComfyUI node in AKURATE/Fields/Generate with 25 inputs and 2 outputs.

By jeremieLouvaert·Created 2 months ago·Updated 4 days ago· 1
Field Scatter
  • reference_image
  • reference_mask
  • fill_mask
  • mask
  • preview
◄shapecircle►
◄density8.0►
◄size0.350►
◄sides5►
◄star_ratio0.50►
◄stamp_aspect1.00►
◄rotation0►
◄rotation_jitter0.00►
◄fill1.00►
◄size_jitter0.00►
◄position_jitter0.00►
◄value_jitter0.00►
◄falloff0.000►
◄aa_width1.0►
◄seed0►
◄distributionnative►
◄coverage0.50►
◄invertfalse►
◄width512►
◄height512►
◄mask_min0.00►
◄mask_gamma1.00►
CategoryAKURATE/Fields/Generate

Inputs (25)

NameTypeDefaultDescription
shapeCOMBOcircleStamp shape, one exact SDF per cell
densityFLOAT8.01–64Lattice cells across the reference dimension S=max(H,W); square cells at every aspect (as Field Tile)
sizeFLOAT0.3500.01–2Stamp radius (rect: half-height) in CELL units -- 1.0 = one full cell width. Clamped by the 3x3-neighbourhood reach cap, with a console note, if requested too large
sidesINT53–12polygon / star point count
star_ratioFLOAT0.500.1–0.95Inner/outer radius ratio, star only. Clamped to the achievable range for `sides` (see console note)
stamp_aspectFLOAT1.000.25–4rect only. Native half-width = size*stamp_aspect (cell units); sdf_rect is natively anisotropic, no gradient correction needed
rotationFLOAT0-360–360Per-instance base rotation, degrees. Inactive on circle
rotation_jitterFLOAT0.000–1Per-cell rotation offset, fraction of a full turn. Inactive on circle
fillFLOAT1.000–1Probability a given cell is occupied. 0 = empty, 1 = every cell stamped
size_jitterFLOAT0.000–1Per-cell size reduction (shrink only), fraction of `size`
position_jitterFLOAT0.000–1Per-cell centre offset, fraction of the cell's half-width
value_jitterFLOAT0.000–1Per-cell output-value reduction, fraction of full strength (1.0). Applied after the falloff quintic
falloffFLOAT0.0000–1Authored soft edge width, fraction of S. 0 = hard
aa_widthFLOAT1.00–4Antialias width, pixels. Active when falloff is <= one pixel
seedINT00–4294967295Active when 0 < fill < 1, any jitter > 0, or fill_mask is wired
distributionCOMBOnativenative: raw combined output. uniform: PIT-normalised against this field's own probe grid. Forced native when the configured output is provably binary (falloff=0, value_jitter=0, aa_width=0)
coverageFLOAT0.500–1Fraction of the frame above the midpoint
invertBOOLEANfalseFlip the output
widthINT51216–8192Output width, ignored if a reference is wired
heightINT51216–8192Output height, ignored if a reference is wired
reference_imageoptIMAGEIf wired, H/W/B and device come from this and the manual width/height widgets are ignored
reference_maskoptMASKAs reference_image, lower priority if both are wired. SIZE-ONLY: supplies H/W/batch/device and never touches the field -- use fill_mask to modulate placement.
fill_maskoptMASKSpatially modulates PLACEMENT probability: effective fill = fill × (mask_min + (1−mask_min)·m^mask_gamma), read once per lattice cell at the cell's centre. White = full fill, black = mask_min×fill (0 = no stamps). Stamps land whole or not at all: edges are honoured at cell resolution and stamps can overhang by their own reach -- keep mask features at least two cells wide. With distribution=uniform the masked-out area is remapped to a mid-grey, not black (the PIT ranks the whole frame). Frame 0 used for batches. NOT the same as reference_mask, which only supplies size/batch/device.
mask_minoptFLOAT0.000–1Placement floor where fill_mask is black. 0 = thin out to nothing; raise it to keep some stamps everywhere (the slice-3 floor-not-gate taste). Only active when fill_mask is wired.
mask_gammaoptFLOAT1.000.25–4Contrast curve on fill_mask before the floor. 1.0 = linear (skips the op entirely); >1 pulls feathered mid-greys toward the floor. Only active when fill_mask is wired.

Outputs (2)

NameTypeDescription
maskMASK—
previewIMAGE—