clay-borg/trials/2026-08-06-2213.md

18 lines
584 B
Markdown
Raw Normal View History

fix: a click target wearing a drag affordance made the controls look dead Tier S (a fix inside a boundary; chaos d8=7 from the previous roll stands for this continuation). Two observations from play that are ONE defect. `play again`, `end session`, `pass` and the move buttons carried `.pick`, which is cursor:grab. The stylesheet has .btn{cursor:pointer} BEFORE .pick{cursor:grab}, so grab won. A GRAB CURSOR INVITES A DRAG. A drag released over nothing posts nothing, so the player picked up the button, let go, and the page did nothing. It looked dead because the affordance told them to do the one thing that does not work. Reported as two separate things -- "the button shows a hand to pick up that it probably shouldn't" and "I can't start another game or stop the server" -- and the first causes the second. The click path itself was never broken: driving again->again and done->done through the JS harness posts correctly. The logic was fine and the invitation was wrong. Click targets now carry `.tap` -- pointer cursor, same press affordance. This extends CB-WP-0017's rule (interactive and inert must not look identical) to: click and drag must not look identical either. The test asserts both directions, because checking only that buttons lost `.pick` would pass for a page with no affordances at all. Registered F20 (applied) and F21. F21 IS THE ONE I COULD NOT REPRODUCE: dragging did not work until after the first note was saved. Ruled out the plausible mechanisms -- the gesture logic posts correctly against the served page, the drag ghost carries pointer-events:none so it cannot intercept the drop, and the markup is identical before and after since the 303 re-renders the same page from the same state. Remaining candidates are a <details> toggle shifting layout mid-drag, a first-load timing difference, or browser-level pointer capture. Reproducing it needs a browser, which no test here has -- the same gap F19 named. Recorded as unreproduced rather than given a speculative fix. And the fourth observation is confirmation, not a bug: "drawing my cards from the deck is not implemented, I did not need to do that" is exactly what CB-WP-0028 T04 determined and deliberately did not build. It is the first evidence that importing the card text closed the comprehension gap that produced the earlier click-the-deck request. make all: exit 0. 62 render tests, 26 cb-play. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 22:25:06 +02:00
# Trial log
What the player said while playing, bound to the position they said it at
(CB-WP-0027, ADR-0014). The recording beside this file is the position;
`state_hash` is what reaches it.
**These are raw notes and they stay here.** Nothing in this file travels to
`ground-game` (ADR-0014 D4) — a note reaches them only by being promoted to a
register finding, by a human, with the wording chosen then.
<!-- trial-log:begin -->
| n | round | step | state_hash | comment |
|---|---|---|---|---|
| 1 | 1 | Select | 47369fdf8d30 | Lets check the notes. |
<!-- trial-log:end -->