{"id":"deliberate-double-tap","name":"Deliberate double tap","kind":"mechanic","version":"0.1.0","summary":"Recognizes two deliberate nearby taps while rejecting drags, long presses and cancelled gestures.","license":"MIT","attribution":"Copperwind Arcade","share":true,"tags":["touch","gesture","input"],"from":{"game":"lantern-ferry","studio":"Copperwind Arcade"},"entry":"src/double-tap.ts","files":[{"path":"LICENSE","sha256":"582c84ddec05cc35d361d9e77c7588bf9687809af01fcb18ef2f6b7309de2831","bytes":1074},{"path":"README.md","sha256":"58c888162bf18e4805f34c9108f688d88818d5ef07b10484a91584746778103d","bytes":1091},{"path":"preview/demo.js","sha256":"ccceaaa4a3a5123e1d3aeb1602fdc829425e61a5d029e6ca45fa26a5ce3eb78f","bytes":1721},{"path":"preview/demo.ts","sha256":"b7aba89425401c05aa496636a4e29d24a95c5040b0eb305192dc079f46dc3d6b","bytes":1479},{"path":"preview/index.html","sha256":"8a99df8f200c67d2f0a1a4febdc1f3395474a27d9c725238089b2be2f6785a38","bytes":1271},{"path":"src/double-tap.ts","sha256":"85ca0ab0b25aaaa9a1f4af8926ed30c733f5d1cdd910a81b01644a5f4e85e314","bytes":1039},{"path":"tuning.json","sha256":"9360ac999d78536be82d7f7c646a38a113ea0e6f4ffdd031f707267e6f9e7fcd","bytes":73}],"preview":{"page":"preview/index.html"},"requires":{"packages":{}},"contract":{"inputs":{"description":"Feed start/move/end with finite CSS-pixel coordinates and monotonic milliseconds; end returns true on the second tap. Call cancel on blur, interruption or a second finger. Configure nonnegative spatial thresholds and positive timing thresholds."},"state":{"description":"Local input recognizer; the game decides whether the resulting action is permitted."},"netplay":"local"},"provenance":{"source":"original","notes":"Original studio code extracted with part_new. MIT sharing authorized by the studio owner; no game models, generated media or whole-game source included."},"cost":{"bytes":7748}}
