BeetleBlocks icon indicating copy to clipboard operation
BeetleBlocks copied to clipboard

Clear vs Reset

Open bromagosa opened this issue 11 years ago • 3 comments

Shouldn't we split the current "clear" behavior into two separate blocks?

Clear also resets colors, position and rotation, which is more than what the block name suggests.

I realized it would be nice to split it up when trying to make an animation, where you want to remove all objects but not reset the beetle's position.

bromagosa avatar Dec 31 '14 11:12 bromagosa

Good comment - there are several things to consider related to "clear" and "go home". We have generally thought of "clear" as a way to reset everything except for the content of lists. I generally teach the recording of position and rotation via the use of "push" and "pop". The state of the beetle is now more explicit and we should definitely think about the behavior and category of all these blocks... "clear" could possibly go into the 'control' category as it handles position and other states at the same time. "Push" and "pop" could also get separated into push and pop specific state variables with a pull down menu for example ("push" - position, rotation, color, etc..), this might also create more confusion, though... Let's discuss this on the 9th!

gitduks avatar Dec 31 '14 12:12 gitduks

For now, let's rename it into "reset" and move it to the control category.

bromagosa avatar Jan 08 '15 15:01 bromagosa

I've been thinking about this for a long time, and now I think I'm quite sure having [ reset ] under control is just wrong.

This is a hard to place block, because it affects both shapes in the scene and the Beetle's position, so it should be at the same time in movement and shapes. Since, clearly, the most radical thing it does is to erase your shapes, it should definitely not be under movement, otherwise users may click on it thinking it will innocently move the beetle somewhere else, and see all their shapes disappear.

control is a category meant to hold blocks that control the execution flow. That is why we find conditional structures, hat blocks, message broadcasting and so on in there.

So, I'd vote for moving it into the shapes category. What are your thoughts?

bromagosa avatar Jun 02 '16 08:06 bromagosa