> With any luck the person who wrote Slice will pipe up...? how's that going to help? :-)
an aside - someone could look at adding a flag to Stack to NOT increase the dim of the positions so you could stack to increase the connections dim w/o increasing the positions dim. seems useful. but i'm avoiding the original issue - is Slice broken or not? i've just been doing some headache-inducing drawings here. let's start w/ Slab(0) because it is a logical subset of the "Slice" function. i think the crux of the problem is that logically Slab(0) works in connection space, and connections aren't at all tied to any X,Y,Z axis - think of a set of quads wrapped around an airplane wing. the positions array can be completely irregular, but Slab can do something reasonable because it is working along connection dimensions which are regular. so chris is absolutely right when he says that dimension numbers - at least in Slab - aren't tied to any particular position axis. the problem is that Slice does the same thing with connections that Slab(0) does, and then in addition it has to decrease the dimensions of the positions. i think that i decided a long time after writing Slice that really it should have an additional input - the position dimension to be removed - to behave correctly. that's because unlike connections, position dimensions ARE fixed to an axis. dimension 0 in a 3-vector is always X, etc. i just went through a bit of doodling on paper to reconvince myself that this is still true - that the problem has no right answer for all cases because as it stands the module is underspecified. (i'd be glad to accept counter-arguments here.) this also solves the case when the positions aren't regular. you could reasonably want the projection of the object along any of the possible axes, independently of what connection dimension you are removing. randy asked "else what" for the case where the deltas aren't orthogonal to the axes - but again that would be clear because the user could specify it. this might still be sidestepping the question of what the default behavior ought to be if you don't specify the position dimension to remove, but if it picks the "wrong" one then it's less of an issue if you can explicitly override it. [but i didn't go back and add this input, so now i'm trying to reconstruct why not - if i came up with a good argument for why it isn't needed, if i found new problems w/ it, or if i just got busy and let it drop.] nancy