Releases: rfordinal/darktable-agentic
Release list
5.8.0+agentic.25 - retouch ellipse+path shapes, viewport variants
Ubuntu 24.04 (noble) .deb build of the agentic-mcp fork. Pairs with darktable-mcp v1.0.38 (https://github.com/rfordinal/darktable-mcp/releases/tag/v1.0.38) - install both together.
Highlights since v5.8.0-agentic.12:
- Retouch module: ellipse and path shape_type support (create/update/list), viewport-relative variants with full coordinate backtransform
- Mask groups: attach/detach existing shapes to a module's blend group, rename_mask, get_mask geometry read, delete_mask
- set_viewport / restore_viewport: programmatic darkroom zoom/pan with wait-for-pipe, fixes capture_viewport resolution cap
- add_path_mask_in_viewport + render_module_mask generic overlay renderer
- Blend params generic bind (opacity/blend_mode/mask_mode) usable on any module, not just retouch
- LUT tooling C-side support (get_conf_string, get_blend_params/set_blend_params)
- Several coordinate-frame (mask-space vs display-space) correctness fixes
See CLAUDE.md in the repo for full per-change detail.
5.8.0+agentic.12 - backtransform_point and retouch_update_shape Lua bindings
Fork of darktable 5.8.0 adding the darktable.develop Lua namespace used by darktable-mcp.
New in this build
-
dt.develop.backtransform_point(x, y[, len1][, len2])- converts a processed/display-frame normalized point into the pipe-input frame darktable's masks are actually stored in, using the samedt_masks_get_image_sizeplusdt_dev_distort_backtransformpath the GUI drag handlers use. Optional lengths (radius, feather) convert through a second offset point and normalize againstmindim(iwidth, iheight), matchingcircle.c's own convention.Without this, a programmatically placed mask point lands wrong whenever orientation, crop, rotate or lens correction is active. An EXIF-portrait raw swaps width and height on its own, which was enough to move a target from a neck to a chest.
-
dt.develop.retouch_update_shape(...)- move or resize an existing retouch circle in place, keeping its formid, rather than delete plus recreate. Geometry commits throughdt_dev_add_masks_history_item, the same mechanism ascircle.c's own drag-commit.
Both are registered alongside the existing retouch_add_shape / delete_shape / list_shapes bindings and run on the GUI thread via dt_lua_gtk_wrap.