Features
Added persistent undo/redo history for macros, so undo history can now survive saving and reloading.
Added zoom interpolation, making zoom in/out transitions smoother instead of snapping instantly.
Added a Kill All Macros control for quickly stopping active macro playback (Ctrl + Alt + Delete) by default.
Added Group Node support to the C++ macro editor renderer.
Added socket connection swapping in the macro editor. Dragging one connected socket onto another can now swap their connections.
New variable nodes now spawn instantly after creation, matching the function node workflow.
Bug Fixes
Fixed undo/redo inside container nodes only working once.
Fixed recording and Ctrl+Z unexpectedly kicking users out of container nodes.
Fixed macros being able to cancel themselves when Cancel was set to Any Keyboard. Macro-generated key presses are now ignored by the cancel system, so only real user input can stop the macro.
Fixed function nodes not correctly running nodes inside themselves, including incorrect sleep timing and print nodes not firing.
Fixed function run toggles not saving correctly.
Fixed renamed functions not updating all related function nodes instantly.
Fixed global function and variable toggles not behaving correctly.
Fixed variable nodes sometimes causing the macro editor grid to turn gray until restarting Macro Mesh.
Fixed macros saved with zero nodes not being openable again.
Fixed copy/paste between macros where nodes appeared pasted visually but disappeared after saving and reloading.
Fixed input lag in games when the macro creation page was open.
Improved zoom rendering performance under heavy GPU load.