anchor.diff:      Element myElement;
       SpriteLayer layer;
       ImageElement upload;
  +    CanvasElement uploadColorPreview;
       BaseController controller;
       //if you're almost there i'll count it, especially because of rounding errors
       int wiggleRoom = 5;
  
positive.code:     }
  
      void drawImagePreview() {
          upload = new ImageElement();
          myElement.append(upload);
      }
  
      void drawFileChooser() {
  
negative.code:                     if((upload.width - controller.doll.width).abs() > wiggleRoom) {
                          window.alert("Your uploaded part is width ${upload.width} instead of ${controller.doll.width}. Rejected.");
                          upload.src = null;
                          Renderer.clearCanvas(controller.canvas);
                          DollRenderer.drawDoll(controller.canvas, controller.doll);
                          drawCanvasColorPreview();
                      }else if((upload.height - controller.doll.height).abs() > wiggleRoom) {
                          window.alert("Your uploaded part is height ${upload.height} instead of ${controller.doll.height}. Rejected.");
                          upload.src = null;
                          Renderer.clearCanvas(controller.canvas);
                          DollRenderer.drawDoll(controller.canvas, controller.doll);
                          drawCanvasColorPreview();
                      }else {
                          Renderer.clearCanvas(controller.canvas);
                          DollRenderer.drawDoll(controller.canvas, controller.doll);
                          drawCanvasColorPreview();
                      }
                  });
              });
  