← All ideas
  • Published 1 Aug 2026

Curve Mapping Interface Sockets for Geometry Nodes

Geometry Nodes should support exposing editable curve mappings through node-group interfaces.

▶ Problem: The node tree should rerun after a curve edit. Modifying the curve directly in the geometry node tree is annoying because it does not update in real time. Editing the curve closes the F9 menu and counts as an operation, so the F9 menu cannot be reopened.

▶ The solution is already present in Blender in the bevel tool in edit mode. It exposes the curve directly without any of the problems I noted.

▶ Blender already has curve editors for: Float Curve Vector Curves RGB Curves. Blender exposes Bevel custom profiles in both Edit Mode and the Bevel modifier. The missing part is the ability to expose equivalent controls from a Geometry Nodes group.

▶ Proposed behavior: A curve-mapping interface input should appear as an editable graph in:
the Geometry Nodes modifier panel; Adjust Last Operation for Geometry Nodes tools; group nodes and nested node groups. The mapping must also be available as a Group Input socket so it can be consumed inside the node tree.

▶ Possible socket types: Float Curve Vector Curves RGB Curves Alternatively, one generic Curve Mapping socket could store the mapping type.

▶ The existing Float Curve, Vector Curves, and RGB Curves nodes could instead gain a curve-mapping socket, provided their embedded editor remains available when the socket is connected for setting default values.

▶ Use case: A Geometry Nodes tool or modifier may expose an artist-friendly profile curve control.

▶ Expected support group-interface defaults; per-modifier values; tool redo values; undo and redo when hovering the F9 menu or the curve graph with the mouse; nested node groups; copying and saving;

▶ The primary request is a socket-compatible curve-mapping value that can be exposed through Geometry Nodes interfaces and edited from the tool or modifier UI.

100%

Development Status: Open

Upvote 7 Downvote 0
crimsom
1 Aug 2026

6 Comments

karnup101

It would be nice if, in addition to float curves, vector curves, and rgb curves, there were also boolean curves, matrix curves, rotation curves, and integer curves (where the smooth curve is dotted, and the other curve is stepped, which transforms from smooth depending on the float to integer modes (round, ceiling, floor, and truncate))

1
maxime1

Already in development since last year projects.blender.org/blender/blender/pulls/141264

I think it's in pause atm because they have to come up with broader designs about node groups in general (this feature is "typed closures", but they're also thinking about ways to have node groups handle dynamic arbitrary inputs, custom defaults etc...)

crimsom Author

The closure suggestion does not replace the requested feature.

Even where a closure-based setup permits editing a curve outside an inner node tree, it does not currently provide the required curve editor or graph in:

  • the Geometry Nodes modifier;
  • the F9 redo panel;
  • geometry Nodes 'N' pannel settings.

As of August 3, 2026, Blender has a work-in-progress pull request, #141264, specifically for curve-mapping and color-ramp inputs. It adds sockets to the Color Ramp, Float Curve, Vector Curves, and RGB Curves nodes and implements those widget sockets as subtypes of closure inputs. I cannot make it work in vanilla Blender 5.2, so I do think group nodes cannot show the graphs. They can only expose the available sockets.

samueloates

I think this is already being developed as subtypes of the closure socket for the float curve and also vector and RGB curves and color ramp.

karnup101

while it is not possible to embed the Curve Mapping Interface in the node group, you can place the float curve, vector curve, or color curve node in the closure zone and connect a socket from the closure zone to a socket from the node group to change the curve value not inside the node tree but outside.

karnup101

such sockets would be useful for procedural grease pencil modifiers based on geometry nodes, for example, the thickness modifier, in which, when the custome curve checkbox is enabled, the heading can be configured via the interface.