Add darktable style probe and pytest integration/slow markers so CI and
machines without a working darktable-cli setup skip the full workflow test.
Co-authored-by: Cursor <cursoragent@cursor.com>
Import all built-in modules explicitly, remove dead ImageMagick branch,
and call finalize_gmic_output in gmic_grayscale for resume parity with gmic.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the verbose recipe catalog with a compact agent reference (modules,
ImageMagick ops, G'MIC commands, combines) and add the Indians Aichelberg
tone-mapping pipeline with gmic variants and xcf export.
Co-authored-by: Cursor <cursoragent@cursor.com>
Allow readable step folders and xcf_stack layer labels via p.step(..., step_id=...)
while keeping the per-module auto counter unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace prior_steps and runs_last with inputs=[...] step refs so GIMP
export waits only on listed layers. Add rezepttest pipeline and
bokeh-oktagon recipe.
Co-authored-by: Cursor <cursoragent@cursor.com>
Defer xcf_stack to the final pipeline step via runs_last, expose per-image
timeout (default 120s), accept XCF output when gimp-console hangs on quit,
and discover .xcf outputs for resume.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use gimp-console when available, GIMP 3 Script-Fu API, and temp .scm
batch files so layer stacking works without a display.
Co-authored-by: Cursor <cursoragent@cursor.com>
Catalog of single-step and composite/pipeline recipes for agents to
expand into pipelines, with human notes, recipe inclusion, and xcf_stack.
Co-authored-by: Cursor <cursoragent@cursor.com>
Collect prior pipeline step outputs per image and stack them into XCF files via headless GIMP Script-Fu.
Co-authored-by: Cursor <cursoragent@cursor.com>
Delegate expected output filenames to modules so resume works for rembg
and composite; normalize G'MIC multi-frame output; add OpenRouter style
reference support with tests. Add Crusaders, orange, and team gallery
pipelines plus SOUL/AGENTS context files.
Co-authored-by: Cursor <cursoragent@cursor.com>