ubc-carnap-team / Rudolf

Truth Tree Widget for Carnap
2 stars 3 forks source link

Implement undo #12

Closed McTano closed 4 years ago

McTano commented 5 years ago

The user should be able to undo actions. We can keep a history of the tree's state so we can step back through it.

It may be worth exploring adding the ability to undo some arbitrary actions, like re-opening a closed branch. However, this would require more complex logic, and may not be feasible. In the case of reopening a closed branch, for example, we would have to decide how to properly handle decomposed nodes above the closed branch, which would now require appending children to the branch. It is probably not worth it to do this, as handling it correctly may involve doing some of the student's work for them.

drgilbert commented 5 years ago

Unfortunately, I think it might be important to implement the undo for things like closing a branch. We can quite easily imagine a student mistakenly thinking that they have obtained a contradiction (many students make this mistake with things like thinking \exists \neg \phi is a negation of \exists \phi). It seems we need to allow students to realize these mistakes and remedy them prior to the submission of their trees. Of course, this really applies more to the individual "Testing" mode than to the more interactive practice mode constructions, where perhaps it is not such a big deal to do some work for them.