Whilst your trialing G code senders have you looked at CNCJS yet? It has a really clean and friendly interface which I really like. The only reason I don’t use it is it doesn’t support 3 axis probing, which I know you don’t use. It still has macros and a bunch of cool features.
I also have macros for tool changes courtesy of @neilferreri