Message #319

From: Don Hatch <>
Subject: Re: [MC4D] Macros
Date: Wed, 16 Aug 2006 11:19:16 -0700

On Sat, Aug 12, 2006 at 01:05:20PM -0700, Melinda Green wrote:
> Don Hatch wrote:
> > Regarding an arbitrary number of reference stickers… it would make sense.
> > 3 is always sufficient, so in the original
> > implementation I made it always 3 for simplicity– if you want 2 or 1 instead,
> > you can just click one of the reference stickers twice
> > (e.g. 24, 27,27 as Remi described), or 3 times, which is kind of ugly
> > but it works.
> > Even a 0-reference-stickers macro makes sense, since
> > sometimes the orientation of the cube doesn’t matter at all–
> > e.g. a checkerboard macro.
> >
> > I think allowing a variable number of reference stickers
> > would make the concept a bit harder to learn initially
> > ("click 3 reference stickers" is a nice clear non-intimidating
> > solid chunk for a newbie to bite off;
> > "click reference stickers and hit ctrl-m when you’re done"
> > is a more confusing by comparison). But, once the concept and
> > workflow is learned, I think variable number of reference stickers
> > would be nicer to use.
> >
> What are the ramifications when using fewer reference stickers with your
> PolygonManager API? Would I simply copy the last reference however many
> times needed to supply 3 refs or what?
Yeah, I think that would work fine if the underlying function
wants 3. And for a zero-reference-sticker
macro, just pick any canonical sticker and repeat it 3 times.

> I intend to implement these and other niceties in subsequent versions. I
> just wanted to get feedback on the basic functionality first to make
> sure that I’m not building on top of a stupid or broken design.
It looks good to me.

> > - macro names with ‘@’ in them are silently lost when saved/loaded,
> > I think
> I kept the ‘@’ delimiters that were used in the original C
> implementation that you or Jay wrote though I suppose I could remove
> that but then you would not be able to use the ‘(‘ key that denotes the
> beginning of the reference data. It seems like there needs to be some
> forbidden character so I suppose that ‘@’ is as good as any but I’m very
> open to suggestions.
Ooh that sucks. I forgot we had that limitation in the C version.
I’d do some escapification thing, e.g. encode @ as two @’s maybe.