Files
wizwar6e/packages/web/src/peek.ts
T
Eric WagonerandClaude Fable 5 6adcbe23b5 Credibility pass: the accretion sanded smooth
Blind reviews over d2b40ec..HEAD (engine / web / server+deploy). Orphaned
doc comments rejoined their functions; the swap-meet tradables collapsed
from four pasted deriveds to one (killing the "the's treasure" label);
FEAR's aura and banner now share the engine's own dreadDistance; the
long-press peek got one home; rulebook.ts stopped wearing JSON quotes;
process-named tests and war-story comments now state the constraints they
pin; the protocol doc caught up to its handlers; verify-ledgers.sh can
actually count failures; the runbook learned about the determinism gate
and the nightly backups. No behavior changes — 255 tests and all 48
production ledgers replay identically.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 10:58:08 -04:00

19 lines
505 B
TypeScript

// Press-and-hold to peek, mirroring the board's cell gesture. Touch has no
// hover, so every board fixture answers a 450ms hold with its tooltip.
const HOLD_MS = 450;
/** Wire the result's press/release to onpointerdown/-up/-leave. */
export function holdToPeek(fire: () => void) {
let timer: ReturnType<typeof setTimeout> | null = null;
return {
press() {
timer = setTimeout(fire, HOLD_MS);
},
release() {
if (timer) clearTimeout(timer);
timer = null;
},
};
}