Well, anyway, I've gone ahead and sketched out the code for jumping, It'll add squares recursively in the direction of the mouse pointer, if the jump is in one of the cardinal directions.
It'll add the squares out to the position of the mouse pointer, and check as it does so if they are in the dictionary of movable squares (including flyable or swim-able squares). If the last square is a land square and the other squares were viable, it will return a visual path and the player can confirm it. Otherwise no path is returned and the jump is impossible.
For swimming I'm going to have to add a "is_swimming" property to the character (monster or player) and allow them to move normally through the water at walk speed. They will have to spend a turn to enter the water and to get out. They won't be able to attack or use items when swimming (unless they are an aquatic creature) and there will be some chance of items becoming damaged. It makes me think it would be a good idea to have a pack item which can store some inventory, which can be thrown like a thrown attack. It would be possible to throw it much further than you could jump, so it might be good to throw a pack of scrolls or whatever across the water first before swimming.
I'll have to be careful with how the code handles both situations, as I don't want the player to count as swimming when they jumped over a small area of water. I think having jumps occur only within one movement phase, while swims require at least three will stop any crossover. The "is_swimming" property will be added when the player goes in to the water and be removed on the turn they come out. It'll help to handle the animations for the 3d models too. If the character is swimming they can't jump, and can't move on to any non water square without doing a leave water action, which they can do if adjacent to a land tile. It may still be possible to loot corpses found in the water, or search adjacent squares for loose items.
I'm really looking forward to a player swimming down a long flooded corridor and rounding a corner to see a giant pike fish, or whatever swimming towards them. Maybe they can find a nearby ledge to get out of the water, or maybe they can swim back around the corner to where hopefully their companions are waiting with ranged weapons ready to shoot the big fish. Maybe they could get some lovely fresh fish out of the encounter.
I had thought of adding crawling, for moving through areas blocked with spiderwebs, etc... but I think I'll just follow the usual trope of having to destroy them using fire or weapon attacks.