signals={
PDF[NormalDistribution[0,1]]->"(Subscript[Gauss, 1])",
PDF[NormalDistribution[0,2]]->"(Subscript[Gauss, 2])",
({{\[Piecewise], ({{0, #1<0}, {1, #1≥0}})}})&->"(Subscript[StepFunction, Up])",
({{\[Piecewise], ({{0, #1>0}, {1, #1≤0}})}})&->"(Subscript[StepFunction, Down])"};
kernels={DiracDelta->"DiracDelta",
PDF[NormalDistribution[0,0.1],#1]-PDF[NormalDistribution[0,1],#1]&->"DoG"};
SetOptions[EvaluationNotebook[],ImageSizeMultipliers->{1,1}];

(*Manipulate[
Block[{conv,s,k},
s[x_]:=signal[x];
k[x_]:=kernel[x];
conv=Convolve[s[x],k[x],x,y];

Grid[{{
Plot[{s[y],k[-y+a],s[y]*k[-y+a],({{\[Piecewise], ({{conv, y≤a}, {Undefined, True}})}})},{y,-5,5},
PlotRange->All,
PlotLegends->{"Signal s","Kernel k","s · k","conv"},
AxesLabel->{"x","*"},
Filling->{3->Axis}],
Plot[s[y],{y,-5,5},
PlotRange->All,
PlotLegends->{"Signal"},
AxesLabel->{"x","s"}]
},
{Plot[k[y],{y,-5,5},
PlotRange->All,
PlotLegends->{"Kernel"},
AxesLabel->{"x","k"}],
Plot[conv,{y,-5,5},
PlotRange->All,
PlotLegends->{"s * k"},
AxesLabel->{"x","s*k"}]
}}]
]
,{a,-3,3},{signal,signals},{kernel,kernels}]*)

s[x_]:=signals[[3,1]][x];
k[x_]:=kernels[[2,1]][x];
conv=Convolve[s[x],k[x],x,y];
animateStep[a_]:=Plot[{s[y],k[-y+a],s[y]*k[-y+a],({{\[Piecewise], ({{conv, y≤a}, {Undefined, True}})}})},{y,-5,5},
PlotRange->{-0.6,3.8},
PlotLegends->{"Signal s[τ] = "<>ToString[Simplify[s[τ]],StandardForm],"Kernel k[-τ+t] = (Subscript[DoG, 0.1, 1])[-τ+t]","s[τ] · k[-τ+t]","(s * k)[t]"},
AxesLabel->{"t,τ"},
Filling->{3->Axis},
ImageSize->422
];

Manipulate[
animateStep[a]
,{a,-3,4}]

(*Export[FileNameJoin[{NotebookDirectory[],"frames/t=00.png"}],Table[animateStep[t],{t,-3,4,0.2}],"VideoFrames",Antialiasing->True];*)

conv//Simplify

(∫_(-Infinity)^Infinity)k[t]\[DifferentialD]t