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>
19 lines
505 B
TypeScript
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;
|
|
},
|
|
};
|
|
}
|