Pixels one DOM_DELTA_LINE unit stands for. This is the factor THREE.js
OrbitControls applies for DOM_DELTA_LINE
(three/examples/jsm/controls/OrbitControls.js, newEvent.deltaY *= 16),
and our zoom math is vendored from that same control
(controls/luxar-orbit-controls/math/zoom.ts), so we stay consistent with
it. It is NOT the browsers' own step: Blink and WebKit use a
pixelsPerLineStep of 40, as does Facebook's normalize-wheel
(LINE_HEIGHT = 40, PAGE_HEIGHT = 800 — the source of our nominal page
height). Consequence, deliberately accepted: Firefox's 3-line notch becomes
48 px against Chromium's 100 px, closing the gap from ~32x to ~2x rather
than reaching parity. 40 would in fact land closer in absolute terms
(3 × 40 = 120 px, 1.2x over, against 48 px at 2.08x under); we keep 16 so
the zoom math and the delta feeding it come from the same vendored source.
Pixels one
DOM_DELTA_LINEunit stands for. This is the factor THREE.js OrbitControls applies forDOM_DELTA_LINE(three/examples/jsm/controls/OrbitControls.js,newEvent.deltaY *= 16), and our zoom math is vendored from that same control (controls/luxar-orbit-controls/math/zoom.ts), so we stay consistent with it. It is NOT the browsers' own step: Blink and WebKit use apixelsPerLineStepof 40, as does Facebook'snormalize-wheel(LINE_HEIGHT = 40,PAGE_HEIGHT = 800— the source of our nominal page height). Consequence, deliberately accepted: Firefox's 3-line notch becomes 48 px against Chromium's 100 px, closing the gap from ~32x to ~2x rather than reaching parity. 40 would in fact land closer in absolute terms (3 × 40 = 120 px, 1.2x over, against 48 px at 2.08x under); we keep 16 so the zoom math and the delta feeding it come from the same vendored source.