PIXEL_FORGE▮

SOVEREIGN IMAGE SUITE · 9 GROUPS · 40 ENGINES · SINGLE FILE · SZ-2

SOURCE

CHAIN: —
TRIAD SWAP needs 2 extras (3 total). GHOST BURN needs 1. LEGION uses as many as you add (up to 3).

CONTROLS

Even passes go positive, odd passes negative. DRIFT stops the math cancelling out — that's where the unexpected outcomes live. Set it to 0 for clean cancellation.
Runs the shell map in reverse. Feed it a SINGULARITY output to partially recover the original — the bit-cracks stay.
Six stages, each off at zero. FLOW STRENGTH displaces every pixel along the image's own luminance gradient, turned by FLOW ROTATION — at 0 it pulls straight downhill, near 1.57 it runs perpendicular and the picture shears sideways along its own contours. IMAGE DRIVE scales that push by local brightness so lit areas smear further than shadow. DECONVERGENCE drags R and B diagonally apart with black fill, CRT multiplies a sine down the rows, BITPLANE isolates the top bit of luma into hard black/white and blends it back, and ABYSS FILL hunts pure-black pixels and floods them with a diagonal interference pattern — so it only bites once deconvergence or CRT has crushed something to zero. The script ran STRENGTH 6.0, which barely moves a pixel; 60 upward is where it starts to read. NOISE FIELD swaps the gradient for a sine-hash field on NOISE SEED.
Each column pools into ledges where edges spike, sorts darkest-to-top, and casts an overhang shadow on the layer beneath. Low EDGE THRESH = more, thinner ledges.
No reference loaded = palette gets pulled from the working image. Load a reference to graft one image's colour DNA onto another.
LOAD A SOURCE IMAGE — OR A PALETTE REF ABOVE — TO SAMPLE FROM
no swatches yet
Every swatch you keep gets used — no averaging, no median cut. NEAREST RGB swaps each pixel for its closest swatch. LUMA RAMP sorts the swatches darkest→brightest and maps them onto brightness bands instead, so hand-picked colours read as a graded ramp. PALETTE CYCLE rotates which swatch each match lands on (wraps at your swatch count) — same match map, different skin. Sampling reads from the palette ref if one is loaded, otherwise from the source.
WASH squeezes the tonal range, LIFT slides it up. The original script ran WASH 0.10 / LIFT 220 — everything crushed into a near-white band with the outlines doing all the work. Dial those in if you want that exact look back.
Sobel edge detection burns outlines to the palette's darkest colour, then Bayer-dithers the rest into a limited print palette. UME is the Arts of ウメ street-scene set. Crank PIXEL SIZE for chunkier blocks.
Picks two colours as axes in RGB space, splits every pixel into "how much A / how much B / whatever's left", displaces those three planes independently, then rebuilds. RGB jitter and yellow-blue jitter are the same operation with the axes already chosen — this lets you choose them. TRUE keeps the axes literally the colours you picked; because two nearby hues are a skewed basis, the inverse amplifies their difference and you get fringe colours that were never in the source. ORTHO runs Gram-Schmidt first so axis B becomes "B with A's component removed" — well behaved, closer to a normal aberration. The log prints the angle between your two axes and the resulting amplification: 90° is a clean opponent split at ×1.0, tight pairs like pink/orange sit near 28° and ×2.1. WAVE runs opposite on A and B so they scissor apart down the frame; JAG is sine-hash per row, so the same seed tears identically every run.
Three edge engines folded into one. CANNY = filled contour map. WHITE LATTICE = grid of both-axis edges. LINE DRIFT = the dual-pass walker that traces horizontal then rotates 90° and traces again, so it catches lines both ways. SIGMA drives Canny width and lattice noise gate; STEP / FLOOR / REACH only affect LINE DRIFT. REACH is the distance window a link is allowed to span — outside it the walker skips, which is what keeps the scribble from turning into a hairball.
Adaptive quadtree analyses edge, tone, colour and gradient variance at multiple scales, splits where complexity warrants, distributes importance-weighted vertices biased toward edges. Delaunay triangulation, centroid colour sampling, flat pseudo-normal shading. Zero random. NODES and DEPTH control mesh density — crank both for detail, drop both for chunky low-poly. MIN CELL sets the smallest triangle. EDGE BIAS pulls vertices onto detected boundaries.
Splits the frame four ways wherever colour variance runs above DETAIL THRESHOLD, then floods each leaf with its average colour. Lower threshold = more splits = finer grain. STROKE WEIGHT 0 = pure flat tiles; 1+ paints the grid in GRID COLOR.
Quadtree blocks get stacked STACK times, each shaken by a sine-hash TREMOR offset and screen-blended, dimming slightly per layer. High tremor + high stack = a vibrating ghost swarm.
Recursive quadtree renders one glyph per cell, sized to the cell — detailed areas split into small dense glyphs, flat areas stay big. Lower threshold = splits harder = denser.
Recursive cells shift on a sine/phi interference wave; the deepest cells collapse to 1-bit. PHASE moves the whole wave — scrub it for different shatter patterns off the same image.
Needs 2 extra images loaded above (3 total). Builds one detail map from the host, then cycles pixel blocks A→B→C→A at matched coordinates. All three come out cross-contaminated; this shows the host's result.
Three layers stacked on a paper plate. GHOST WASH pulls only source pixels below GHOST DARKEN and blooms them into soft grey pools. MID BLOOM does the same for the deep tones with a directional drag. BLACK STROKES take Sobel magnitude on a pre-blurred copy, soft-threshold it into ink weight, drag it, then pool the clusters darker. Original daemon constants are the defaults here.
Each cycle blurs wider, slams contrast, then hard-thresholds to pure black or white. Three passes is the original — the shapes simplify and the mid-tones die, which is the point. Set PAPER TONE to 240 for the original plate.
Two tracks off one frequency split. FREQ CUTOFF sets the low-pass: everything under it becomes the wash (squeezed into the SQUEEZE band, fattened by BRUSH WIDTH, then smeared by repeated darker-offsets). Everything over it becomes the ink. Splatters launch off Sobel edges above EDGE THRESHOLD, fly along the gradient angle for LAUNCH VEL pixels, then shed accelerating gravity drips — and they get composited into the ink before the kinetic cycles, so the drift stretches droplets and strokes together instead of pasting spray on top. DNA ADAPT reads the source's own luminance, chaos and variance and rescales CHANCE, VEL MAX, DRIP COUNT and SPREAD per image — dark and busy sources splatter harder. Turn it off to hold your slider values literally. All scatter is sine-hash, so the same image at the same settings lands identically every run.
Kinetic bleed: blur, drag by DRIFT, multiply back into itself so the ink eats its own edges. Contrast ramps every cycle, the threshold climbs, and on even cycles a sine-hash noise field screens in as starvation speckle. Set PAPER TONE 245 for the original. STARVATION 0 kills the speckle entirely.
The seal erodes with a sine-hash scatter, so the same glyph at the same size always wears the same way — no reroll between runs. EROSION 0 leaves it clean.
Walks 18 brightness thresholds, traces the contour at each, and floods the fracture lines with molten gold — dark bronze in the shadows climbing to pale gold in the highlights.
OVERCLOCK screens the aura onto itself N times. 0 is a soft glow, 2+ is the neon punch.
Classic print halftone. MONO = single-ink newspaper. CMYK = four rotated dot screens at offset press angles (C15° M75° Y0° K45° from base). DUO = two-color risograph. DOT PITCH sets the grid spacing, SCALE controls maximum dot radius. OVERPRINT uses multiply blending so inks mix like real printing. INK colors only affect MONO and DUO modes.
Load 1 extra image above — it's the ghost. Each pass masks the host's shadows, glows the ghost hotter, and composites it into the dark areas, pushing the threshold deeper into the blacks so the ghost bleeds further out every iteration.
Load up to 3 extra images — each haunts the host in sequence, every ghost hiding in the shadows the previous one left. GHOST DEPTH caps how many of the loaded extras get used.
SOVEREIGN maps image gradients to directional katakana — each glyph follows the edge angle at that cell. Color-quantized to BANDS levels. Uses system Japanese font (Hiragino / Yu Gothic on iOS/Mac).
ATLAS rasterises each glyph in the ramp ONCE into an offscreen strip, then blits by luminance — fast even at 400 cols. GAMMA controls the tone curve; higher values push more cells toward the dark (dense) end of the ramp.
Port of Gglitch.py — TEARS random rectangular chunks get swapped (with optional flip), then the R and B channels are offset independently for chromatic bleed. All scatter is sine-hash deterministic.
Port of the GLYPH_FORGE MATRIX engine. Maps brightness to VGA block characters at a fixed grid — no quadtree, just a clean tonal slate. FOREGROUND tints monochrome output when COLORIZE is off.

OUTPUT

engine output — long-press to save
DOWNLOAD PNG
CHAIN loads this output back in as the source so the next engine stacks on top. DOWNLOAD or long-press the image to save.