I find the implementation of dragging really annoying compared to similar engines. What I'm used to is:
* click and drag will only operate in a single line, either horizontally or vertically
* click and drag will only perform the same operation (considering both original type and new type). In particular, if I've already filled in every other cell as water, dragging in "ship" mode should only fill in the empty cells, not overwrite the water.
* there should be "undo" support, both Ctrl-Z and U as well as a button
Another feature usually not found in similar engines, but really useful in order to regain some of the experience from solving them on paper:
* have a nearby text box for keeping notes; clear it when a new puzzle is started
* click and drag will only operate in a single line, either horizontally or vertically
* click and drag will only perform the same operation (considering both original type and new type). In particular, if I've already filled in every other cell as water, dragging in "ship" mode should only fill in the empty cells, not overwrite the water.
* there should be "undo" support, both Ctrl-Z and U as well as a button
Another feature usually not found in similar engines, but really useful in order to regain some of the experience from solving them on paper:
* have a nearby text box for keeping notes; clear it when a new puzzle is started