尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Browse a photo gallery with hand gestures in the browser
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Browse a photo gallery with hand gestures, right in the browser. Webcam optional: every gesture also works with keyboard and mouse.
Try it live → Desktop Chrome or Edge. Hand tracking runs on your device; the camera feed never leaves it.
Recorded on an earlier build.
| Pose | Motion | What it does |
|---|---|---|
| ✋ Open palm | Move your hand | Cursor follows; the photo under it is outlined |
| 👆 Point | Dip the fingertip | Select the photo under the cursor, or press the button under it |
| 👌 OK sign (thumb touches index, other three fingers up) | Over a photo | Grab it. A curled-finger pinch 🤏 won't grab |
| 👌 then move back | Move your whole hand away from the screen | The photo grows; open your fingers to let go |
| ✊ Fist | Move up or down | Scroll the grid |
On a first visit, a short tour teaches these one at a time and moves on as you do each one. Replay it from ⓘ → Take the tour, or add ?tour to the URL.
| Gesture | Keyboard | Mouse |
|---|---|---|
| Move palm | Arrow keys | Hover |
| Point and tap | Space | Click |
| OK sign, move back | Enter (Esc closes) | Double-click |
| Fist scroll | Page Up / Down, Home / End | Scroll wheel |
With photos selected, Remove (or the Delete key) and Clear appear next to the title. Remove can be undone (Undo or Ctrl/Cmd+Z), and nothing is really deleted. The gallery is usable before hand tracking loads, and if the camera is blocked, missing or busy, a small card says which and how to fix it.
One index.html: vanilla HTML, CSS and JavaScript, no framework, no build step. MediaPipe Hands (pinned, from a CDN) finds 21 points on the hand in each camera frame; everything after that is this file.
Reading the hand
For everyone, not just webcam owners
prefers-reduced-motion removes decorative animation but keeps hand-driven movement, because that is the interface.alert() on every failure.Light on the machine. In Chromium at 4× CPU slowdown, the page's own work per frame (not counting the hand model) went from ~14 ms to ~2 ms when idle, and from ~22 ms to ~9 ms with a hand moving:
Details
<script>.index.html in Chrome or Edge. Nothing to install or build.If your browser blocks the camera on file://, serve the folder instead (python3 -m http.server, then visit http://localhost:8000).
58 end-to-end tests in tests/ run in Chromium on every pull request. Playwright is used only for testing; the site itself has no dependencies.
Hand tracking is tested without a webcam: the tests swap MediaPipe's model for a stand-in that feeds simulated hand landmarks (hand() in tests/helpers.js). The page's real gesture code therefore runs as it would with a hand in front of the camera. Chromium's fake webcam covers the camera states.
npm install
npx playwright install chromium # first time only
npm test
MIT © 2026 Divyanshi Rajauria
Designed and built by Divyanshi Rajauria, with AI assistance.
Independent educational demo. Not affiliated with, endorsed by, or connected to Apple Inc. or iCloud.