thank you! Yes the rune drawing can be hard, i actually had to lower it's matching radius a bit to improve performance in browser, so a final version of the game may be a bit easier.
The method for matching is far from optimal, but I didn't have the time to come up with something better. Each rune has a line2d with a set of points matching the sprite loosely. When the player clicks they generate another line2d which is just a series of points following the mouse. Once the mouse button is lifted I took the generated array and added points in a radius around it (otherwise you'd need to have pixel perfect accuracy hitting the runes points, which are not always where you'd expect them)- this value I exported so you can adjust how lenient the matching is. Once I have a 'thickened' array I check to see if the Vector2s match and add them to a separate array of matching points if the point had not already been matched. The match percent is just the size of the matching array in comparison to the rune array. The biggest source of headache came from not having the points being snapped to the grid, so there are several checks that round all the points so they don't have any decimal values. It feels like every step of this process could be done better and is likely why the game crashes or stutters in chrome, but I had to move on once I got something remotely working. I hope this description was clear enough for you and that I didn't leave anything out