Loops, clicks, and the small print of running a page
A second round of making Floati run real pages the way other browsers do. The headline is a classic: a for loop now hands each turn its own copy of the counter, so the everyday pattern of making a little function inside a loop - a click handler per row, a timer per item - remembers the right value instead of every one of them seeing the last. Real clicks now behave like real clicks: they run 'capture' listeners on the way down, report which phase they are in, and identify themselves as genuine rather than script-made, so delegation and click-guards work. Math gained the functions and constants it was missing, the error that Promise.any is meant to hand you - carrying the list of what failed - now exists, and reading an element's parent no longer stops one step short at the top of the page.