Program features: * consider a JavaScript driven web UI. * rendering and interface for sudoku puzzle * include separations * for all undefined squares, a tic-tac-toe is created which shades the impossible options white * selecting a number for a square requires double click on the appropriate tic-tac-toe square * single click on a tic-tac-toe square toggles a mark which indicates this value isn't possible (manual) * all possible options are shaded in one of 9 colors, which will match the coloring of the same numbers in the rest of the puzzle * single square undo (or at least reset) * on each selection, the tic-tac-toe grids in each undefined square are updated * define a puzzle (by setting the initial squares) * lock the puzzle once the squares are generated x include explanation of how to play in the page * prevent all known illegal moves - flash conflicting squares on illegal move attempt - shading for possible squares for a given number * save the puzzle somehow - wire to sudoku generator program 1 add credits section (for online references, etc) - track stats (click rate, order, etc) * manual linear undo (back button possible?) * expand undo to fix up 'unlikely' markers * fix undo so it works in copied window - fix rendering of unlikely -> impossible transition * fix copy in IE * add feature to clear the board (clear URL state) * add 'dynamic' link with href update to current board state URL * bookmarkable board states (with unlikely for *) * fix issue that causes 'unlikely' squares to be locked * preserve hidden state of warning div * fix IE issue where undone square has all subsquares selected (looks ugly) * fix boneheaded mistake in JS that causes all attempts to create a checkpoint to convert the size to small x verify solution when filled (currently implicit) - numbers which are already placed in all 9 squares are rendered in black x make "original" or "locked" squares more obvious - squares with only one possible value are flipped automatically (may cause chain reactions) x provide resolution changing options x preserve resolution option in checkpoints x fix resolution changing issues in Konqueror/Safari - make UI work with N-scale puzzles (4x4, 5x5, etc) x provide explanations for how the game works. - descriptions of what kinds of help is provided. * alternate rendering for boxes (numbers) * fix those ugly table borders x break up into external CSS and JS files * Fix issues that make this page ugly in Safari/Konqueror. - AJAX (server support specifics) Fetch puzzle with XMLHttpRequest into iframe and translate. Puzzle includes a signed payload with start time. On page disclosure of 'tracking' features. All resulting data is accessible (speed graphs, etc). Moves are sent to the server in the background with time info. Solution sent to server with signed start time.