Split The code is public; the app answers only to the crew.
90° of view, take it or leave it: no field-of-view setting, and a phone sees the least of the map #210
Sign in to join this conversation.
Split The code is public; the app answers only to the crew.
Give the person a field of view they choose, remembered like sensitivity, without letting it change how fast the mouse turns.
HIP_FOV = 90insrc/client/zoom.ts:16is a constant, andfovFor(weapon, scoped)returns it for everything that is not a scope. The camera already takesfovas data (renderer.ts:138,project.ts:41), so the plumbing exists and only the choice is missing. It matters most where the screen is smallest: a phone held in landscape at 360 px shows the same 90° as a 27-inch monitor, and a player who wants the wider view every CS player runs cannot have it.The trap is sensitivity. #198 made the scope's mouse speed follow
screenShare(fov)— turning slower when the view is tighter. A chosen hip FOV must not ride that curve, or every existing sensitivity in the world silently changes the day this ships.Done looks like
fovinsrc/client/settings.ts— integer, clamped 70–110, default 90, anything else falling back to the default — remembered exactly likesensitivityandtouchSensitivity, with a test for the out-of-range, non-numeric and missing cases.fovFortakes the chosen hip FOV; a scope still returns the weapon'szoom, so an AWP at 40° is 40° whatever the hip is set to. A test covers both.screenShareoff the weapon's zoom and not off the hip choice.observe.ts, the bots andsaved.tsare untouched, so a resumed match and the arena see exactly what they see today.bun run checkgreen, with tests that fail without the change.Files I expect to change
src/client/settings.ts,src/client/zoom.ts,src/client/main.ts,src/pages/game.ts.src/client/settings.test.ts,src/client/zoom.test.ts(or whereverfovForis covered),src/pages/game.test.ts.README.md— Playing.Risks
renderer.ts); deciding whether the gun scales with the chosen FOV is a judgement — make one, say which, and keep it stable rather than letting the gun swim.Crew
vesper — the camera, the input curve and the overlay.