## Update 1

• Set up and did a little bit of styling on website
• Set up a html canvas for the 2D maze and started a javascript script for it
• Implemented method headers for the four methods of maze creation and a rough system for drawing a maze

### To-Do for Next Update:

• Draft and finalize final proposal [Do ASAP]
• Complete functions for 2D maze and add more user options
• Edit the maze drawing code so that the walls are thin and not full blocks

## Update 2

• Edited the 2D maze drawing code such that the walls are now thin.

### To-Do for Next Update:

• Draft and finalize final proposal [Do ASAP]
• Complete functions for 2-D maze and add more user options

## Update 3

• Completed the recursive backtrack method for the 2D maze
• Completed a more polished draft of the proposal (and hopefully close to final draft)

### To-Do for Next Update:

• Complete remainder of 2D maze functions
• Set up 3D maze display

## Update 4

• Redid how the maze was stored to make it easier to draw and generate
• Completed the recursive division method, Prim's Algorith, and the Growing Tree for the 2D maze
• Created 3D.js file as a copy of 2D.js; converted the generation and cell object to 3D

### To-Do for Next Update:

• Write a solve function for 2D and 3D
• Update proposal based on feedback

## Update 5

• Completed depth-first solver for 2D and 3D mazes
• Updated proposal and scrapped 4D

### To-Do for Next Update:

• Add 2D maze controls to solve and move maze
• Set up 3D maze display

## Update 6

• Add WASD controls to allow the user to solve the 2D maze
• Added colored cells for the 2D maze to denote start, end, solution, visited, and current position
• Decided to use three.js for 3D maze display; can display the outer surface of a rectangular prism

### To-Do for Next Update:

• Add 2D maze controls to move maze
• Figure out method to view and solve 3D maze

## Update 7

• Added mouse controls to zoom and translated 2D maze
• Added buttons and text boxes below the maze canvas to alter Growing Tree parameters and maze size for 2D and 3D maze
• Decided to do a focused layer system for the 3D maze
• Added controls to toggle between normal 3D view and focused layer view
• Added controls to increment and decrement the layers
• Added mouse controls to rotate and zoom the 3D maze

### To-Do for Next Update:

• Implement way to detect which face is being viewed so that the focused layer can be applied to each face
• Implement a 3D user solving

## Update 8

• Bug fixes with mouse controls on Firefox and IE
• Added way to detect current face for 3D maze
• Finished focused layer system for the 3D maze
• Added way to solve 3D maze with WASD and focused layer system

### To-Do for Next Update:

• Clean up code, comment code, and fix bugs
• Final documentation
• Final presentation

## Update 9

• Commented Code
• Updated Website
• Finished final documentation
• Finished final presentation

• DONE!