~/talk

Building a full JS deep zoom image viewer

Talkat React Native EU 2022 · 2022-09-01..09-02· [javascript, react-native]
links:none on file
slides:none on file

Built a production deep-zoom floorplan viewer as a pure JS React Native component (under 500 lines) using backend-generated tile pyramids, proved first with react-native-maps then replaced by a custom tile layer driven by Reanimated 2 and gesture handlers. Solves centered-marker precision, virtualizes visible tiles to avoid OOM, handles JPEG/PNG and PDF pages as images, removes dependency on Google SDK (Google logo and lat/lon projection issues), works on low-end Android tablets with some missing UX like double-tap zoom.

AI-written summary · about

  1. 0:00Introduction and speaker intro
  2. 3:31Project background and goals
  3. 8:06Initial blueprint viewer v0
  4. 11:15Mobile interaction challenges
  5. 18:06Moving to image pyramids
  6. 21:56Deep Zoom basics explained
  7. 26:14Proof of concept with react native Maps
  8. 33:46Limitations of react native Maps
  9. 36:40Exploring alternatives
  10. 38:51Final production component
  11. 44:19Future improvements and next steps
  12. 46:05Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.