CONCEPTConcept — not a commissioned project

HYPERSOLID: a concept studio site built as one real-time 3D scene

HYPERSOLID is a fictional creative-technology studio, and this is the site VITON13 built for it as a concept to show range. The whole page is one real-time 3D scene in three.js: a glass tesseract rotating in four dimensions, a camera that scrolling moves through five chapters, a ring of eight live shader worlds and a soundtrack generated in the browser.

Concept site · WebGL · English · 2026

Open the live project
The HYPERSOLID home page in a desktop browser frame with the phone version beside it: a glass tesseract with rainbow-sheened edges floats in teal haze among particles above the headline “We build worlds you can open in a browser.”, under the name HYPERSOLID in large white type and the line “Solid ideas in more than three dimensions.”
live shader worlds in the 3D work gallery, none of them a video
8
median frame rate in 14 states on a MacBook with Apple M5 (lowest 55.7)
60 fps
main script gzipped, three.js included (0.77 MB raw)
0.21 MB
Lighthouse performance of the live demo, mobile / desktop
91 / 94

Task

VITON13 builds concept sites to show its range in genres where it has no client project to point to yet. HYPERSOLID is the most technical of them: the site of a fictional creative-technology studio that makes immersive web, real-time 3D, XR and installations, in the genre where the whole page is one 3D scene and the interface is text laid over it. The studio, its projects and its address are invented, and the site is in English.

The brief we set ourselves had two halves. The scene had to make the studio’s case on its own: an emblem, worlds, transitions and music made for this site and computed on the visitor’s device, not played back from a video. And it still had to be a usable website: real text over the canvas, keyboard navigation, a calmer version for visitors who ask for reduced motion and a static version for browsers without WebGL.

What we did

One address with 12 views: a scroll story in five chapters, the work gallery, eight project pages, About and Contact, each with its own hash route (#/work, #/work/aurora-dome and so on) so it can be linked and opened directly. The emblem is a tesseract, a four-dimensional cube that rotates in 4D and is projected into 3D every frame. Its edges are glass tubes with a thin-film rainbow sheen, surrounded by GPU particles (7,000 on a desktop, 2,400 on a phone) and shafts of volumetric light.

The five chapters are the studio statement, the tesseract unfolding into six capability panels, a tunnel built from its edges, the work and a contact prompt. The gallery is a 3D ring of eight invented projects: a planetarium aurora, a sneaker-drop arena game, a WebXR museum of lost sounds, a generative festival identity, a weather sculpture, a scent configurator, a data ocean and a holographic menu. Every card is a live raymarched shader world. A shader transition carries the card into its project full screen, with the idea, role, stack, three paragraphs, three stills captured from the world itself and a link to the next project.

The soundtrack is four procedural tracks generated with the Web Audio API. Sound stays off until the visitor switches it on, and the audio code loads only then. About holds a five-line manifesto and four working steps; Contact shows an example address marked as not monitored and a link to the author’s portfolio for real enquiries.

How it works

The site is written with three.js 0.186 and bundled with esbuild into a static folder with relative URLs, so it runs from any path: on the portfolio it lives at /demos/hypersolid/. Post-processing adds bloom, chromatic aberration, depth of field, light rays, tone mapping, a vignette and grain. The device decides one of three quality tiers: the full scene on a desktop, a lighter scene on phones and low-power machines, and a static page with the same content when WebGL is missing. When frames slow down, the engine lowers the resolution of the heavier worlds rather than dropping frames, and rendering pauses while the tab is hidden.

Every view has real HTML text over the canvas: headings, links and project texts that a screen reader can read and a keyboard can reach, with Tab, Enter, Esc and the arrow keys in the gallery. With reduced motion, camera flights become crossfades. The first paint is a preloader written into the HTML itself, before any script or stylesheet arrives; it draws the logo edge by edge as it counts the loaded files. The build contains no texture, 3D model, video or audio file: only code, two variable fonts, the icons and a social preview image.

What exists now

What exists now is a working concept at tarasovvitalii.com/demos/hypersolid/: one address with 12 views, eight shader worlds and four procedural tracks, built on 23–24 September 2026. On 24 September the engine’s own frame counter was read in 14 states (the five chapters, the gallery and all eight worlds) in headless Chrome on a MacBook with an Apple M5, at 1600 × 1000 on a Retina scale: the median was 60 fps and the lowest reading 55.7. The main script, three.js included, is 0.77 MB, or 0.21 MB gzipped; the whole deployed folder is 1.1 MB.

Lighthouse, run three times per device on the live address the same day, gave accessibility 100 and best practices 100 on mobile and desktop, and performance 91 on mobile and 94 on desktop (medians). The page transfers 0.4 MB on load, CLS is 0, and LCP is 2.8 s on mobile and 0.9 s on desktop. SEO is 63 on purpose: the demo is marked noindex, so the page meant to be found in search is the portfolio’s case page about it.

What this does not prove

HYPERSOLID is a concept VITON13 built to show range, not a commissioned project. The studio, its eight projects and its example address are fictional: the site has no client, no domain of its own, no users, no traffic and no enquiries, and it claims no clients, awards or press. It has no enquiry form and no analytics, so it proves nothing about conversion, and it does not show that we have shipped WebXR, an installation or any of the other invented projects: they exist only as shader worlds on this site.

The frame rate comes from one machine with a recent Apple chip, in headless Chrome, on one day. It says nothing about older laptops or phones, and it holds partly because the engine lowers the resolution of heavy worlds. Lighthouse measures loading, not how smoothly the 3D scene runs, and its mobile test slows the processor and the network but not the graphics chip. The demo is kept out of search on purpose, so it has no search results to show.

How to check a web studio’s portfolio

SEO review

On 24 September 2026 Lighthouse (three runs per device, medians) gave the live demo performance 91 on mobile (LCP 2.8 s, 0.4 MB) and 94 on desktop (LCP 0.9 s), with accessibility and best practices at 100 on both. SEO is 63 because the demo is marked noindex, nofollow in the page and in the server header: it is a concept, and the page meant for search is its case on the portfolio, listed in the sitemap in four languages.

Checked on 24 September 2026: 12 pages rendered in Chrome the way a search crawler sees them, plus Lighthouse 13 on the home page.

Lighthouse, home page

Performance
Mobile91Desktop94
Accessibility
Mobile100Desktop100
Best practices
Mobile100Desktop100
SEO
Mobile63Desktop63

On-page and technical checks

  • Unique page titlesin place12/12
  • Title length 30–65 charactersmissing2/12
  • Meta descriptions 70–170 charactersin place12/12
  • One H1 per pagepartly6 × H1
  • Page language declaredin placeen
  • Mobile layout without sideways scrollin place390 px
  • Images with alt textin place100%
  • Broken internal linksin place0
  • Canonical URLmissing0/12
  • Open Graph title and imagein place12/12
  • Structured data (JSON-LD)missing0/12
  • sitemap.xml and robots.txtpartly1/2

In place across the 12 views of the one address: a title of its own for every view, the en language declared, no sideways scroll at 390 px, alt text on 100% of images (the stills in the project pages), 0 broken links among 16 link targets, and an Open Graph title with a 1200 × 630 image; robots.txt sits at the domain root. Partly in place: each view shows one H1, but the document holds six, one per view template, and all 12 views share one meta description of 150 characters.

If the site were a real studio’s and had to be found: remove noindex; give each view a real URL path instead of a hash route, so search engines see the projects as separate pages, each with its own title of 30–65 characters (only 2 of 12 fit now), description, canonical URL and Open Graph image; add JSON-LD (Organization, CreativeWork for each project, BreadcrumbList) and list the pages in sitemap.xml; and keep the headings of hidden views out of the document until they open. On both devices Lighthouse took LCP from a line of footnote text, because it does not count a WebGL canvas, so the scene’s own first frame needs a separate check.

Services this case shows

Describe the task on the service page; a written scope, timeline and price come back within one working day.

Discuss a similar project

More cases

All cases