ARTFOLIO
Immersive 3D Exhibition · Creative Development & Technical Art — for the artist Julia Ternai
Five physical artworks turned into one continuous real-time environment — with the website conceived as a sixth installation.
- 4 input modes
- 29 MB payload
- 15.9 ms recovered
- EN / HU / IT
- Architected a persistent WebGL canvas with a chapter director. Two chapters stay mounted — the current one and the next, preloaded — while only one may write camera, lighting or audio. Shared instanced geometry belongs to the director, not the chapter, which killed a bug that added a full 145-object set on every scroll pass across a chapter boundary.
- Built four interchangeable input adapters — pointer, touch, keyboard, and opt-in MediaPipe hand tracking in a Web Worker — behind one interaction contract. Adding the fourth changed no shared code. Pinch is fingertip distance over palm size, so it works at any hand size or distance.
- Wrote the performance instrumentation before optimizing. A p95 probe reporting raw sample counts and validity checks caught three invalid measurements produced by the instrument itself, then measured a 15.9 ms per-frame gain from a material-path change.
- Cut the payload to 29 MB with a gltf-transform and headless-Blender pipeline — a 72 MB sky to 143 KB, a 16.3 MB rock set to 1.04 MB — and kept scene modules out of the main bundle by isolating tuning constants in import-free files.
- React
- TypeScript
- Three.js
- R3F
- GSAP
- Lenis
- Web Audio
- MediaPipe
- Zustand
- Vite

