darkly 0.5.0

A GPU-native paint engine on wgpu: brushes, layers, blend modes, masks, selections, and undo.
Documentation
name: Charcoal
category: Dry Media
nodes:
  1:
    type: pen_input
    port_defaults:
      spacing: 0.02
  2:
    type: paint_color
  3:
    type: split_color
  4:
    type: shape
    params:
      algorithm: 2
    port_defaults:
      amplitude: 0.5
      frequency: 3.0
      rotation: 5.750458
      softness: 0.32
  5:
    type: multiply
  6:
    type: stamp
  7:
    type: paint
    port_defaults:
      flow: 0.5
      size: 0.12
  8:
    type: image
    params:
      scale: 500.0
      texture_name: paper
  9:
    type: levels
    port_defaults:
      in_low: 0.72
  10:
    type: curve
    params:
      curve:
      - - 0.0
        - 0.8
      - - 1.0
        - 0.6
  11:
    type: curve
    params:
      curve:
      - - 0.0
        - 0.0
      - - 1.0
        - 0.35
  12:
    type: curve
    params:
      curve:
      - - 0.0
        - 0.0
      - - 0.46
        - 0.53
      - - 1.0
        - 1.0
  13:
    type: switch
    port_defaults:
      select: 1.0
connections:
- '1.drawing_angle -> 13.in_0_scalar'
- '1.position -> 7.position'
- '1.pressure -> 10.input'
- '1.pressure -> 11.input'
- '2.color -> 6.color'
- '3.luminance -> 12.input'
- '4.mask -> 5.b'
- '5.result -> 9.input'
- '6.dab -> 7.rgba'
- '8.color -> 3.color'
- '9.output -> 6.tip'
- '10.output -> 9.in_low'
- '11.output -> 7.flow'
- '12.output -> 5.a'
- '13.out_scalar -> 4.rotation_input'
exposed_ports:
  '1.stabilize': {}
  '7.size': {}
  '7.opacity': {}
  '4.rotation':
    label: Rotation
    description: Spin the shape around its centre. Wire a changing signal into Rotation Input instead if you want it to move as you draw.
    icon: fa-solid fa-rotate
  '13.select':
    label: Lock Rotation
    description: Routes one of two inputs to the output. If the chosen input is unconnected, downstream falls back to its own port default.
    icon: fa-solid fa-lock
  '7.flow': {}