Here is an update for this. The preview is a bit faster now. You can see the processing time with the checkmark. The filter takes approx 40 seconds on a 5800 x 3500px picture:
Added a few things here and there…
I still have the “double application” bug in the preview (only with presets), it’s only really annoying with the “Roll the DIce!” preset, which randomizes a lot of things, and is quite slow. Didn’t have the time to look into it, I guess i’m saving it for last!

BTW, i had to remove almost all of the
floor(u(min-max))
to convert floats to integers because it was so damn slow (Now these sliders don’t update with status, but that’s ok for now)… Is there any way to get random integers faster, using “u”?
Code 25/04/23
#@gui Uglify : uglify, uglify_preview(0)
#@gui : note = note("<small>Author: <i><a href="http://prawnsushi.free.fr">Prawnsushi</i></a>. Latest Update: <i>2023/25/04</i>.</small>")
#@gui : sep = separator()
#@gui : Write settings on picture = int(0,0,1)
#@gui : note = note{"<small>Use original input image resolution or choose processing resolution (i.e. Half res + Upscale 2x). Beware: Preview lies.</small>"}
#@gui : Original Resolution = int(1,0,1)
#@gui : Processing Resolution = int(1000,500,5000)
#@gui : Upscale 2x (Iterations) = _int(0,0,5)
#@gui : sep = separator()
#@gui : - Presets = choice(0,"Default","1 - From Scratch","2 - Soft","3- Cracked","4 - Black","5 - Faded Black")
#@gui : sep = separator()
#@gui : Pre-Process = int(1,0,1)
#@gui : - Sharpening = int(0,0,500)
#@gui : - Blur = float(0,0,10)
#@gui : - Local normalization = float(0,0,3)
#@gui : sep = separator()
#@gui : Sloppiness = int(1,0,1)
#@gui : - Distort = float(3,0,20)
#@gui : - Blur = float(3,0,50)
#@gui : - Blend Mode = choice(13,"add","and","average","blue","burn","darken","difference","divide","dodge","exclusion","grainextract","grainmerge","green","hardlight","hardmix","hue","interpolation","lighten","lightness","linearburn","linearlight","luminance","multiply","negation","or","overlay","pinlight","red","reflect","saturation","screen","shapeaverage","softburn","softdodge","softlight","stamp","subtract","value","vividlight","xor")
#@gui : - Strength = float(0.5,0.0,1.0)
#@gui : sep = separator()
#@gui : Watering = int(1,0,1)
#@gui : - Smoothing = int(12,0,40)
#@gui : - Iterations = int(1,0,10)
#@gui : Fuzzy Frame Size = int(30,0,350)
#@gui : - Frame Blur = int(20,0,150)
#@gui : - Frame Strentgh = float(0.5,0,5)
#@gui : Plasma Seed ( -1 : Random ) = int{-1,-1,999999}
#@gui : - Plasma Saturation = int(-100,-100,100)
#@gui : - Plasma Blur = float(0,0,50)
#@gui : - Blend Mode = choice(7,"add","and","average","blue","burn","darken","difference","divide","dodge","exclusion","grainextract","grainmerge","green","hardlight","hardmix","hue","interpolation","lighten","lightness","linearburn","linearlight","luminance","multiply","negation","or","overlay","pinlight","red","reflect","saturation",screen","shapeaverage","softburn","softdodge","softlight","stamp","subtract","value","vividlight","xor")
#@gui : - Plasma Strength = float(0.6,0,1)
#@gui : sep = separator()
#@gui : Cracks = int(1,0,1)
#@gui : Sharpening = int(150,0,500)
#@gui : - Shock Filter = int(1,0,1)
#@gui : Light Relief (0 means all off) = float(0.15,0,1)
#@gui : - Light2 = float(0.02,0,1)
#@gui : - Light3 = float(0.02,0,1)
#@gui : sep = separator()
#@gui : Sketch = int(1,0,1)
#@gui : - Likeness = int(25,0,30)
#@gui : - Threshold Min = int(0,0,255)
#@gui : - Threshold Max = int(255,0,255)
#@gui : - Thickness = int(2,0,40)
#@gui : - Sketch strength = float(1,0,1)
#@gui : --- Messy lines = float(0.9,0,1)
#@gui : - Blend Mode = choice(22,"add","and","average","blue","burn","darken","difference","divide","dodge","exclusion","grainextract","grainmerge","green","hardlight","hardmix","hue","interpolation","lighten","lightness","linearburn","linearlight","luminance","multiply","negation","or","overlay","pinlight","red","reflect","saturation",screen","shapeaverage","softburn","softdodge","softlight","stamp","subtract","value","vividlight","xor")
#@gui : note = note("<small>Setting Sktech Strength to 0 disables Messy lines too.\n Messy lines uses 'Breaks' by David Tschumperlé.</small>")
#@gui : sep = separator()
#@gui : Noise = float(3,0,6)
#@gui : Canvas = float(0.3,0,1)
#@gui : Canvas style = int(0,0,100)
#@gui : Color = color(255,255,255,0)
#@gui : sep = separator()
#@gui : Post-Process = int(1,0,1)
#@gui : Emboss = float(1.5,0,5)
#@gui : Mix Original Hue/Sat = float(0.5,0,1)
#@gui : Brightness = float(0,-100,100)
#@gui : Contrast = float(0,-100,100)
#@gui : Gamma = float(0,-100,100)
#@gui : Hue = float(0,-100,100)
#@gui : Saturation = float(0,-100,100)
#@gui : sep = separator()
#@gui : - Old Presets = _choice(0,"Default","1 - From Scratch","2 -Soft","3 - Cracked","4 - Black","5 - Faded Black")_0
uglify :
com,origres,procres,dccires,preset,bst,bstsharp,bstblur,locnorm,\
filt,dist,distblur,distmerge,diststr,wc,bilsize,bilrep,fuzz,fuzzblur,\
fuzstr,plsmseed,plsmsat,plsmblur,plasmerge,plastr,cracks,sckrad,sck,lgtone,\
lgttwo,lgthree,sketch,sklike,cutmin,cutmax,linthick,linestr,brkstr,skmerge,\
noistr,cnvs,cvmod,cvr,cvg,cvb,cva,post,emboss,huestr,\
bri,con,gam,hue,sat=${1-54}
m "BlendMode : $""=__mode" BlendMode "add","and","average","blue","burn","darken","difference","divide","dodge","exclusion","grainextract","grainmerge","green","hardlight","hardmix","hue","interpolation","lighten","lightness","linearburn","linearlight","luminance","multiply","negation","or","overlay","pinlight","red","reflect","saturation","screen","shapeaverage","softburn","softdodge","softlight","stamp","subtract","value","vividlight","xor","error"
m "BlendModeP : $""=__modep" BlendModeP "add","and","average","blue","burn","darken","difference","divide","dodge","exclusion","grainextract","grainmerge","green","hardlight","hardmix","hue","interpolation","lighten","lightness","linearburn","linearlight","luminance","multiply","negation","or","overlay","pinlight","red","reflect","saturation","screen","shapeaverage","softburn","softdodge","softlight","stamp","subtract","value","vividlight","xor","error"
m "BlendModeL : $""=__model" BlendModeL "add","and","average","blue","burn","darken","difference","divide","dodge","exclusion","grainextract","grainmerge","green","hardlight","hardmix","hue","interpolation","lighten","lightness","linearburn","linearlight","luminance","multiply","negation","or","overlay","pinlight","red","reflect","saturation","screen","shapeaverage","softburn","softdodge","softlight","stamp","subtract","value","vividlight","xor","error"
to_rgba
nm[0] ORIG
ORIGW={0,w}
ORIGH={0,h}
if !$origres
res=$procres,$procres
rr2d[ORIG] $res,0,6
fi
n 0,255
if $bst
if $bstblur blur $bstblur fi
if $bstsharp sharpen $bstsharp fi
if $locnorm normalize_local $locnorm,$locnorm fi
fi
[ORIG] nm. REND
if $filt
if $diststr
[ORIG] nm. FILT
local[REND,FILT]
usrmod=$dist,$distblur
if [$usrmod]!=[0,0]
if $dist apc. "deform $dist" fi
if $distblur blur. $distblur fi
blend[REND,FILT] ${__mode{$distmerge+1}},$diststr
n[REND] 0,255
fi
done
fi
fi
if $wc
if $plastr
[ORIG] nm. PLAS
local[PLAS]
if $plsmseed>-1 srand $plsmseed fi
plasma 1,2,5
if $plsmsat!=0 adjust_colors 0,0,0,0,$plsmsat fi
if $plsmblur>0 blur $plsmblur fi
done
blend[REND,PLAS] ${__modep{$plasmerge+1}},$plastr
fi
#~ fi
#~ if $wc
if $fuzz
[ORIG] nm. FUZZ
local[FUZZ]
fc 0,0,0
negate
frame_fuzzy $fuzz
if $fuzzblur blur $fuzzblur,0 fi
deform $fuzz
spread {$fuzz/2},{$fuzz/2}
split c rm. . negate. a c
if $fuzstr!=1
mul $fuzstr
fi
done
blend_median[REND,FUZZ]
fi
fi
local[REND]
if $cracks
if $sckrad
deform 1.5 sharpen $sckrad,$sck dilate_circ 1.5 sharpen $sckrad,$sck
fi
if $lgtone
repeat 3
fx_light_relief $lgtone,$lgttwo,$lgthree,0,0.2,50,50,20,0.084,0,0
blur 2 erode_circ 3 sharpen $sckrad
done
fi
fi
if $wc
if $bilrep>0
repeat $bilrep
deform {0,w/1000}
bilateral $bilsize,$bilsize,$bilsize,$bilsize
done
fi
fi
done
if $post
if $huestr
[ORIG] nm. HUE
[ORIG] nm. SAT
b[HUE,SAT] 5
blend[HUE,REND] hue,$huestr
blend[SAT,REND] saturation,{$huestr}
fi
fi
if $sketch
if $linestr>0
[ORIG] nm. LINE
local[LINE]
r 50%,50%,1,6
deform {0,w/2000}
rolling_guidance {31-$sklike},20,0
r 200%,200%,1,6
gradient_norm negate
if $brkstr>0
+fx_breaks. 1,5,20,0,3
blend[-1,-2,LINE] multiply,$brkstr
fi
if $linthick erode_circ. $linthick spread {$linthick/10} dilate_circ. 3 fi
n. $cutmin,$cutmax
sharpen. 100
spread. 1.7
done
split[REND] c
a[1,2,3] c
blend[LINE,REND] ${__model{$skmerge+1}},$linestr
a[REND] [-1],c
fi
fi
normalize[REND] 0,255
keep[REND]
if $post
usrmod=$bri,$con,$gam,$hue,$sat
if [$usrmod]!=[0,0,0,0,0]
adjust_colors[REND] $bri,$con,$gam,$hue,$sat
fi
fi
if $dccires
repeat $dccires
r 200%,200%
done
fi
if $noistr
fx_noise $noistr,0,11,1,0,50,50
fi
if $cnvs
+fc 255,255,255
noise. 50,2
to_gray.
. .
if $cvmod
__wat=$cvmod,1,45
else
__wat=0,0,0
fi
parallel " blur_x. 30 water. $__wat sharpen. 50 spread. 1.7 "," blur_y.. 30 water.. $__wat sharpen.. 50 spread.. 1.7 "
*. ..
keep[0,-1] n. 0,255
+gradient. xy,1 -a[-2,-1] c
*. {$cnvs/100}
warp[REND] .,3,1,1,1
fi
+fc[REND] $cvr,$cvg,$cvb,$cva
move[-1] 0
blend[0,REND] alpha
nm[0] REND
keep[REND]
if $post
if $emboss
fx_emboss_relief 5,0,0.5,$emboss,1,0,1
fi
fi
if $com
expand_y 35,0
shift 0,35
text "${1--1}",10,30,12,1,255
text ${__mode{$distmerge+1}}" "${__modep{$plasmerge+1}}" "${__model{$skmerge+1}},10,50,20,1,255
fi
uglify_preview :
__output=${1--2}
preset,old_preset={[$5,${-1}]}
if $preset==1
variables=0,1,1000,0,1,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,-1,-100,0,23,0,0,0,0,0,0,0,0,0,0,255,2,0,0,22,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0
elif $preset==2
variables=0,1,1000,0,2,1,0,2,0,1,20,10,7,0.4,1,12,2,127,42,0.365,-1,0,0,11,0.5,1,1,0,0.01,0.02,0.02,1,30,0,255,5,1,0,22,6,0,0,255,255,255,255,1,0,0.8,0,0,9,0,0
elif $preset==3
variables=0,1,1000,0,3,0,0,0,0.3,1,3,3,13,0.5,1,12,1,0,20,0.5,-1,-100,0,37,0.755,1,500,1,0.027,0.02,0.02,1,25,0,255,2,1,0.9,22,6,0.3,0,255,255,255,255,1,1.5,1,0,0,31,0,0
elif $preset==4
variables=0,1,1000,0,0,1,0,0,2.3736,1,3,3,13,0.5,1,23,2,30,20,0.5,-1,80,0,7,0.2,1,0,1,0.01,0.02,0.02,1,28,0,255,2,1,0.9,22,6,1,11,255,255,255,255,1,1.1,0,0,0,-30,0,-100
elif $preset==5
variables=0,1,1000,0,0,1,308,0,2.3736,1,3,3,0,0.5,1,23,2,350,1,0.5,-1,100,0,10,1,1,0,1,0.2,0.02,0.02,1,29,0,255,2,0.9,1,22,6,1,19,134,110,71,255,1,1,0,0,0,13.4,0,-100
fi
if $preset
if $preset==$old_preset
if [$__output]!=[$variables]
__output=${1-4},0,${6--2}
fi
else
__output=$variables
fi
fi
com,origres,procres,dccires,preset,bst,bstsharp,bstblur,locnorm,\
filt,dist,distblur,distmerge,diststr,wc,bilsize,bilrep,fuzz,fuzzblur,\
fuzstr,plsmseed,plsmsat,plsmblur,plasmerge,plastr,cracks,sckrad,sck,lgtone,\
lgttwo,lgthree,sketch,sklike,cutmin,cutmax,linthick,linestr,brkstr,skmerge,\
noistr,cnvs,cvmod,cvr,cvg,cvb,cva,post,emboss,huestr,\
bri,con,gam,hue,sat=$__output
uglify $__output
u "{"$com"}""{"$origres"}""{"$procres"}""{"$dccires"}""{"$preset"}""{"$bst"}""{"$bstsharp"}""{"$bstblur"}""{"$locnorm"}"\
"{"$filt"}""{"$dist"}""{"$distblur"}""{"$distmerge"}""{"$diststr"}""{"$wc"}""{"$bilsize"}""{"$bilrep"}""{"$fuzz"}""{"$fuzzblur"}"\
"{"$fuzstr"}""{"$plsmseed"}""{"$plsmsat"}""{"$plsmblur"}""{"$plasmerge"}""{"$plastr"}""{"$cracks"}""{"$sckrad"}""{"$sck"}""{"$lgtone"}"\
"{"$lgttwo"}""{"$lgthree"}""{"$sketch"}""{"$sklike"}""{"$cutmin"}""{"$cutmax"}""{"$linthick"}""{"$linestr"}""{"$brkstr"}""{"$skmerge"}"\
"{"$noistr"}""{"$cnvs"}""{"$cvmod"}""{"$cvr,$cvg,$cvb,$cva"}""{"$post"}""{"$emboss"}""{"$huestr"}"\
"{"$bri"}""{"$con"}""{"$gam"}""{"$hue"}""{"$sat"}""{"$preset"}"