chrisboyle / sgtpuzzles

Android port of Simon Tatham's Puzzles
https://chris.boyle.name/puzzles
Other
586 stars 167 forks source link

Mosaic: undo multi-cell drags atomically #542

Open JohnGlassmyer opened 2 years ago

JohnGlassmyer commented 2 years ago

in Mosaic, i most frequently find myself painting (black or white) multiple cells at once (by simple dragging or long-press dragging), rather than painting individual blocks one at a time (by simple tapping or long-pressing).

i see these multiple-block drags as single moves, single intentional impulses, and so when i realize i've made a mistake in one of them i expect the entire drag to be reverted with a single press of the Undo button. i expect a single press of the Undo button to reverse a single move or intentional impulse.

however, when i press Undo after one of these multi-block drags, it only undoes one of the multiple blocks at a time. i have to press Undo as many times as there were blocks in that drag move.

this causes me to lose my short-term memory of which or how many moves i need to undo, as the multiple blocks painted in each drag run together with and are confused with the multiple blocks painted in other drag and/or single-block moves.

i would like multi-block drag moves to be remembered and subsequently undone atomically, as single moves. that way, my short-term memory of how many moves or intentional impulses were wrong, and need to be undone, would be more effectively put to use.