Seems to restore, saving okay

Saving string looks okay. Final restore test looked like it worked, but it's late, so that gets a pass. Really wanted to save & restore via buttons but adding event listeners ruined functionality, as did extracting keyval functions into the prototype. Not sure why. Reverted to working version. le sigh.
Minor fn extract, game save info

Extracted the lexing functionality into its own function. Put game save keys onto the html (no use looking in the code if I forget). I may cut out the string representation of the game state in the box. It's a minor change luckily. Next is parsing, which could be a bit complex to ensure that shapes aren't violating expectations.
prep for merge; checks square userInput
merge resolution
incomplete, for diff comp
Shifting space with incomplete

Still not done with the restore functionality, but I'm to leave this computer and need the newest version.

Short circuited the square validation. Better to ignore it until the two piece rectangles are set and I'll take their guidance.
Seems to restore

This version seems to parse all the shapes for brokeness. I guess I could enshrine it in a formal test. Not sure how to capture failures etc without complicating the current message passing or a formal testing framework (no diff :)
Minor tidy

Deleted some output statements related to debugging and switched back to pretty squares. This is likely the end of the line for this project for an indefinite future. Sounds - the incepting idea for this project - are trivial to add but unnecessary. Hint AI is a major undertaking and not conducive to my current time. I bet there'll be another in the soon future as I tweak the readme or whatever. It's been fun.