Message #3299

From: Melinda Green <melinda@superliminal.com>
Subject: Nested macros
Date: Wed, 24 Feb 2016 16:49:03 -0800

Upon doing some code clean-up and bug fixing regarding the new macro
set-up moves feature, it occurred to me that I could probably implement
nested macro definitions relatively cleanly if I could require that the
reference sticker patterns of the inner macros match those of the one
being created. Does that sound like it would be useful to you with that
restriction? The experience would be that once you begin macro creation
(<ctrl>m) and have selected your reference stickers, you can click the
buttons on the "Macros" tab to apply existing macros and the new moves
will be immediately executed and added to the new macro.

Here is an initial build containing the new feature:
http://superliminal.com/cube/mc4d-4-2b1.jar I would appreciate it if you
would try it out and give me feedback. It’s barely tested at all so if
you hit a problem that seems obvious, don’t assume that I know about it.
You can decide whether to reply on the list or privately to me. I
encourage you to reply on the list for any feedback regarding the UI,
and even for any bugs you find if you think other testers are likely to
encounter it.

Note that this build also includes a fix for the problem in which undo
moves during macro creation were simply broken. And although undo/redo
even works for inner macro invocations, it won’t undo/redo entire inner
macro moves at once meaning that you have to undo them one twist at a
time. (Or just click the "Reversed" button for that macro.) I can fix
that at the cost of a little more complexity but I first want to make
sure that people think the design of the new feature is generally useful
and correct.

Happy puzzling!
-Melinda