Quick Answer
Why does Three.js lose its context after navigation?
Inspect renderer and resource lifecycles when context loss follows repeated SPA navigation. Removing scene objects is not complete GPU cleanup.
The 3D is running slowly on this device. The light version is smoother, with the same content.
Preparing the graphics. This can take a moment on the first visit.
Henry Lõiv
Web design & development
Writing on websites, interfaces and 3D on the web: how they are made and what to consider before you start.
Quick Answer
Inspect renderer and resource lifecycles when context loss follows repeated SPA navigation. Removing scene objects is not complete GPU cleanup.
Quick Answer
Use svh for a stable small viewport and dvh for a dynamically resizing one. Choose based on behavior, and leave room for longer content.
Quick Answer
Check muted playback, playsinline and browser restrictions on iPhone. Handle play() failures and provide a working manual-play fallback.
Quick Answer
A small GLB download can expand into large GPU textures. Check pixel dimensions, decoded memory and suitable GPU compression rather than file size alone.
Quick Answer
no-cors does not let JavaScript read a protected cross-origin response. Diagnose origin, preflight and server headers instead of hiding the error.
Quick Answer
VITE_ values used by client code can appear in the browser bundle. Keep secret API calls server-side and rotate credentials already exposed.
Quick Answer
Check og:image and use LinkedIn Post Inspector before sharing again. Refreshing a URL preview does not necessarily update an existing post.
Quick Answer
Check overlapping automatic and manual page_view events in GA4. Verify initial load, router navigation and browser back separately in DebugView.
Quick Answer
Use language alternates without automatically canonicalizing translations to the original. Check reciprocal hreflang and each language’s intended URL.
Some articles are only written in Estonian.
Quick Answer
Kontrolli Three.js ressursse ja renderdaja elutsüklit, kui viga tekib pärast SPA navigeerimist. Stseenist eemaldamine ei vabasta kõike automaatselt.
Quick Answer
svh arvestab väikese ja dvh muutuva vaateavaga. Vali mobiilipaigutuse kõrgus selle järgi, kas vajad stabiilsust või brauseririba jälgimist.
Quick Answer
iPhone’i video automaatkäivitust mõjutavad heli, playsinline ja brauseri reeglid. Lisa toimiv esitusnupp, mitte ära eelda autoplay õnnestumist.
Quick Answer
GLB allalaadimismaht ei võrdu GPU mälukuluga. Vaata tekstuuride mõõtmeid, lahtipakitud mahtu ja sobiva GPU-pakkimise võimalusi.
Quick Answer
no-cors ei anna JavaScriptile õigust võõra API vastust lugeda. Kontrolli serveri CORS-päiseid, päringu päritolu ja lubatud meetodeid.
Quick Answer
VITE_ väärtused võivad jõuda brauserisse ehitatud koodi. .env fail ei tee kliendipoolset API saladust privaatseks: vii salajane päring serverisse.