I have a simple suggestion - one of those "easier said than done" sorts of ideas. From my knowledge of Frame and Piston, I know the width of frame that any single piston can push is 14 pixels in either direction, a total of 29 possible pixels wide. diagram:
============== = ============== frame
||| piston
If I were to add extra frame either side of the current frame, it would not be pushed or pulled - it would be essentially ignored. So I have thought of a crazy little idea: what if pushed frame searched recursively (if each peice of frame searched individually) for the next pixel of frame? This would be similar to the Instant-Conducter spark travel, so only with the "On-Push" event would the search be done - minimising lag of course! Perhaps it would look so obviously unrealistic with a tiny piston pushing a wide peice of matter, but shouldn't we leave the realistic-ness to the particular save? I have two obvious places where the unrealistic piston push would be helpful:
A) The scanning printers of multiple colour decks that got FP (by Amphealy)
B) Of course I have a personal use for the wider piston push - I am working on a Self Replicator, and at the moment it is pushing wide components into place, which causes a bit of a headache!.
For a wide range of different and similarly complicated Powder Toy machines, we need a new Frame system. I suggest Recursive Frame-Work.
What if...you still were limited 29 pix. of frame for each piston, BUT, you could group all the pistons in one place? So like a 3 pix. thick piston pushing 78 pix. of frame.
Large lumps of piston are sort of a fail at the moment! Draw like you would in paint, and it would not work. And deciding the direction to push! oh, the headaches...
Seriously though, I am not sure - I am no DEV. Either way, the Frame system would be improved.