This is a submission for DEV's Summer Bug Smash: Clear the Lineup powered by Sentry.

Project Overview

I am building a browser-based text removal workspace where a user uploads an image, paints over unwanted text or objects, and sends the resulting mask to an image-editing pipeline.

The mask editor uses three stacked <canvas> elements:

a base canvas for the uploaded image;