AggregationEventPlot//ClearAllOptions[AggregationEventPlot]=Options[ArrayPlot];AggregationEventPlot[rule_][src_tgt_,opts:OptionsPattern[]]:=Enclose@Block[{x=Boole@src["On"],y=Boole@tgt["On"],bounds,size,pad,arrayPlotOpts=FilterRules[{opts,Mesh->All},Options[ArrayPlot]]},bounds=CoordinateBounds@Keys[y];size=(#2-#1+1)&@@@bounds;(*size=Table[Max[Max[size]+1,5],2];y=CenterArray[SparseArray[Normal@KeyMap[#-bounds[[All,1]]+1&]@Join[y,KeyComplement[{y,x}]+1]],size];x=CenterArray[SparseArray[Normal@KeyMap[#-bounds[[All,1]]+1&]@x],size];*)y=PadRight[SparseArray[Normal@KeyMap[#-bounds[[All,1]]+1&]@Join[y,KeyComplement[{y,x}]+1]],size+1];x=PadRight[SparseArray[Normal@KeyMap[#-bounds[[All,1]]+1&]@Join[<|{0,0}->0|>,x]],size+1];x=PadLeft[x,size+2];y=PadLeft[y,size+2];pad=With[{p=Max[size+2]-#},If[EvenQ[p],{p,p}/2,(p+1)/2-Floor[size/Max[size]]]]&/@Dimensions[x];x=ArrayPad[x,pad];y=ArrayPad[y,pad];Column[{ArrayPlot[x,arrayPlotOpts],Framed[ArrayPlot[y,ColorRules->{1->Black,2->Red},arrayPlotOpts],OptionValue[PacletSymbol["Wolfram/Multicomputation","MultiEvaluate"],"EventFrameOptions"]]},OptionValue[PacletSymbol["Wolfram/Multicomputation","MultiEvaluate"],"EventColumnOptions"]]]