WebGL2, no engine.

Got it — pure WebGL2. For the JPL set, are you caching it in IndexedDB or refetching? 30 MB each load would be heavy.

Service worker cache, so repeat visits download nothing. Fresh catalogs come in the background once a day.