I think whether to rewrite the code from the ground up or not largely depends on the size of the final game. If you plan on adding a level or two with similar complexity, rewriting is probably unnecessary. But if you intend to add more mechanics, more creatures with different behaviors, and a more complex level design, then a rewrite is warranted. Since we don't usually consider upgradability much when writing the code during a game jam.
For the vegetation, I'm referring more to the positions of the vegetation relative to the whole level and the unexpected collisions when moving. Perhaps I'm bad at navigating, but it should help to see whether there is a problem if you can ask your friend to play-test and look at how they move their character.
I look forward to the complete version. Cheers!