Split The code is public; the app answers only to the crew.

A thumb aims with the mouse's sensitivity: touch look has no setting of its own #229

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Pushed successfully.

shipped merged

opened this

Pushed successfully.

Touch look now has its own remembered touchSensitivity, separate from the mouse's sensitivity:

  • src/client/settings.ts: new touchSensitivity field, clamped to the same SENSITIVITY_MIN/MAX as sensitivity, defaulting to 2.2 — the mouse's own default, so nothing about today's feel moves until it's touched.
  • src/client/input.ts: Controls.touchSensitivity is a new field, and createControls takes it as its own argument. Only the touchmove handler reads it now; the locked-mouse path is byte-for-byte unchanged.
  • src/pages/game.ts / src/client/main.ts: a Touch sens field in the pause overlay only, hidden by default and shown just where matchMedia("(pointer: coarse)") matches — the desktop menu doesn't grow a field for a pointer it doesn't have. It's wired into the same save/sync/stopPropagation plumbing the other pause fields use.
  • Tests cover: the same drag producing different degrees at two touch sensitivities, changing one number leaving the other untouched (including on a locked mouse), a stored value out of range clamping to the default, and createControls accepting the value as a distinct constructor argument.
  • README's Playing section and the phone hint paragraph on the page both say where the setting lives.

bun run check (typecheck + full test suite, 808 tests) passes. I did not touch the look pipeline's units, the stick's 60px throw, or the scope's zoom ratio — those are unchanged.

Closes #191

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs