Didn't write a single line of code today. Spent the whole day buried in the PRD and TRD instead, and by the end of it I realized this was somehow the most exhausting day so far anyway.

The pitch is simple enough: connect same-colored dots with clicks on a grid. One sentence. But the second I tried to break that sentence into an actual buildable spec, I hit a wall almost immediately. First thing that tripped me up was what "clicking a dot" even means. Does it only mean the colored endpoints, or can you click any cell in the same row/column to extend a path? Until that's pinned down you can't even say whether a path is allowed to bend. Felt dumb not catching something this basic sooner, but you really don't see it until you try to write it down.

That became the pattern for most of the day — fix one rule, and the thing next to it breaks. Trim (undoing part of your own path) versus self-intersection was a particularly annoying one. If your own path happens to sit somewhere in the middle of a straight-line click extension, is that a trim or is it just blocked? Ended up landing on: it's only a trim if the clicked cell is exactly an existing point on your path, otherwise the whole click is invalid, full stop. Took longer than it should have to get there.