five-on-it / apps/client/src/renderer/gallery-camera
apps/client/src/renderer/gallery-camera
The galleries' free camera (?kit-gallery, ?vehicle-gallery, ?anim-gallery): an orbit camera over the ground that goes anywhere, since a gallery may hold hundreds of things, some a few metres across and some a few kilometres.
WASDor the arrow keys pan over the ground, the way the view faces, faster the higher it is;Shiftpans four times as fast.- The wheel, or
QandE, zooms in and out. - The left button dragged orbits and tilts; the right button dragged pans, the ground following the mouse however high the camera is.
1–3set the height over where it looks (the gallery's own three);Fgoes back to what the gallery first looked at (its focus).- Its speed (from a quarter to eight times:
+doubles it,-halves it, the panel's slider sets it,gallery-ui.ts) scales the panning, the zoom and the wheel; each gallery keeps its own in the browser (loadSpeed), so a big one stays fast.
The keys are read on the window, so the canvas need not have the focus (it takes it anyway), except while something is typed in a field (typingIn): a search never moves the camera.
Its near plane follows its distance (nearPlane): a 24-bit depth buffer tells two surfaces apart only by a share of the distance squared over the near plane, so with the near plane at half a metre a city seen from 420 m flickers wherever two surfaces lie less than about 2 cm apart (the paint on a road, a roof's skylight); a fiftieth of the distance tells them apart to a millimetre or so at every height.