The toolbox
How it works
Start with the techniques the painter actually uses, then go as deep as you like.
Used in the painter
Read these first
Every page below explains a piece of the live painter pipeline. Open /painter, run a map, then come back here to understand what each knob did.
Getting started
New to the map generator? Read this first: what a run does, what the knobs mean, and how to make a map you actually want.
Wave scheduling (anchor-BFS)
Picks the most-constrained tile first, then ripples outward so neighbours always exist before they're needed.
Painted seams
Author rivers, paths, and biome transitions on the canvas; the constraint compiler turns brushstrokes into per-tile masks.
Exterior anchor + boundary painter
Each new tile is generated against a 256-px strip of its already-rendered neighbour, locking edges without locking interiors.
Bootstrapped seeds
The seed image is produced by the same pipeline as the output — kills the style drift you get from foreign-pipeline seeds.
IP-Adapter v2 + ControlNet
Style locked at ipa=0.6 (CLIP), structure conditioned via ControlNet Tile / Union — the combo that crossed the seam-quality gate.
Differential diffusion
Per-pixel timestep schedule replaces hard mask binarisation, so painted features blend instead of cutting.
Tiled VAE & latent normalisation
Per-tile latents are batched, normalised against the anchor's statistics, then decoded — kills tone drift across same-biome tiles.
Palette match (post-process)
Free +0.55 on the seam quality gate. CPU histogram match against the anchor tile, runs in <100ms.
Seam diagnostics
Tier 0 pixel checks (ΔE, gradient, palette, pHash) reject 70% of bad tiles for free; VLM only sees the ambiguous 30%.
Glossary
Plain-language definitions for the terms surfaced in the painter UI — denoise strength, anchors, seams, ΔE, and more.