Where a word ends, which is the whole of the code cases
A case like `snake_case` cannot be produced by changing letters: it has to know where one word ends and the next begins, and the answer is not spaces. `parseHTMLResponse` is three words, `HTTPServer` is two, `don’t` is one, `state-of-the-art` is four, and a page that only splits at spaces turns each of them into a single long token - which is where the surprises in other converters come from.
This page splits on four things: everything that is not a letter or a digit (a space, a line break, an underscore, a hyphen, a dot, a slash, a comma, a bracket, an emoji), a capital letter after a small one, a capital at the end of a run of capitals when a small word follows it, and a digit beside a letter when the switch says so. All four are printed word by word under the result, with the reason each word starts where it does, so you can check the split rather than trust it.