As soon as you changed any gate layouts, it stopped being a gate level emulation of a 4004.

It's just a 4004 emulator (with extra steps). The gate level simulation is of a different device that emulates a 4004.

To be fair, the whole program is amazing as a logic simulator implementation, I'm just nitpicking.