The on-screen circular input disc let both the mouse and the gamepad drive the knob outside the visible circle. - Gamepad: each stick axis was clamped to [0,1] independently, so a full diagonal push reached the square corner. Clamp the stick *vector* to the unit disc (radially symmetric) before mapping to [0,1]; covers both sticks. - Mouse: the circular variant clamped in normalised [0,1]^2 but the canvas drew the knob across the full non-square panel against the inscribed circle, so the disc rendered as an ellipse that spilled past the rim. Map both the pointer and every drawn position (knob/pins/markers/trail/flash) through the inscribed-circle geometry, and disc-clamp the auto-drift. |
||
|---|---|---|
| .. | ||
| osc-bridge | ||
| public | ||
| src | ||
| tests/e2e | ||
| .gitignore | ||
| index.html | ||
| ONBOARDING.md | ||
| package.json | ||
| playwright.config.ts | ||
| tsconfig.json | ||
| vite.config.ts | ||