Homework 3: Graphics using SVG and Canvas

Assigned: 9/21/2021; Due 10/5/2021 at 3:05pm ET



In this assignment, you will be creating a simple editor for graphics. The complication is that it must support both graphics using SVG objects ("drawing") and graphics using a canvas ("painting"). Since these are not particularly compatible, they will be on different layers, that the user can individually turn on and off, so the user will only see and edit on one layer at a time. This is supposed to mimic (to a tiny extent) a hybrid editor like Adobe Photoshop. You should leave the HW2 code in its current folder, but you will have a new HW3 folder in which you put this homework's content, and you can now have the CREATE YOUR OWN link on the web pages go to the new homework 3 code instead (that is, it is fine if one can no longer reach the HW2 code by clicking on links). Hopefully, your code from homework 2 will be useful in implementing the behaviors for homework 3.

As with the previous two homeworks, you must implement homework 3 without using external packages - just regular JavaScript (and html and css), including what you have written for previous assignments.

We feel this homework is a little harder than the previous ones, so you have two weeks to finish it.