Nice parts!
I decided long ago that I would no longer consider a bed slinger machine to be viable without automated mesh leveling and a dual Z-axis. Additionally, my Ender3 V2's all got upgraded filament feeders mounted directly above the hot-end assembly and that crazy Bowden tube was cut down to a couple of inches of filament guide tube. This makes it a quasi-direct extruder. Since doing this, prints have been much more uniform and reliable and I have only had to replace a nozzle once due to a severe clog, and that was probably due to overcooking the filament during prolonged pre-heat cycles (don't do that
) I've literally yet to have a failed print otherwise. The modifications increase the cost of the printer pretty substantially, but IMHO, they are worth every penny. Also, touch screens are over-rated for displays that small. They just limit the amount of information one can display or make it difficult to operate
Corners can be weird on a lot of automation processes. Especially when higher speeds come into the equation. With CNC cutters, it usually manifests as burning of the material, or rounding of the corner to account for the abrupt change in direction at speed. It's all physics. The heavier the head and the faster the change in direction, the more tricky this can be to overcome, as the travel must slow down. As you found, it seems that in the case of 3D printing, the effect of the ramp down to the corners results in heavier extrusions/drool at those features. Ramp speeds/acceleration/deceleration settings can be altered to give an acceptable result, but sometimes the design of the part is better altered a bit to avoid the problematic features if possible.
It's definitely nice that you got the filament change command to work. But another way to do that for those parts would be to just have a black program and a green program. It would require generating the g-code for the complete part and from that, creating separate files for each color through some manual editing, but it would negate the need for any babysitting of the machine. Maybe something for others who want to do this type of thing to keep in mind if that capability isn't already present (or working properly) on their machines.