Core Sample
Собрано как единый мир: замёрзшая Земля в 1000 единиц в поперечнике, увиденная с орбиты. Курсор стирает иней; глобус поворачивается к городу, где была каждая работа; финал — корабль и архив, к которому он летит.
Архив — дом на палубе в темноте, с историями на стенах; до него нужно долететь. Физический движок и дом загружаются только тогда, когда вы их попросите.
Взаимодействие с переводом автобиографично: автор работал переводчиком на контрактах, где терминология должна быть точной. Буровая компания тоже из жизни.
Стек: Three.js WebGPU (запасной WebGL2), шейдеры TSL, компилируемые в WGSL и GLSL, GSAP и Lenis на одном тикере, физика Rapier с ленивой загрузкой, Cloudflare Pages. Весь текст живёт в файлах контента; каждый 3D-ресурс опционален и имеет процедурную замену.
Звук синтезируется в браузере: холодный дрон, отфильтрованный шум ветра, запланированный треск. Ничего записанного, ничего лицензированного.
Квантовая луна перемещается, если за ней не следить.
Заявленную производительность можно проверить на месте: откройте сайт с #stats — живые fps, вызовы отрисовки и треугольники. Измерено: около 1,1 МБ до нажатия Enter, меньше 100 вызовов отрисовки в кадре чтения.
Измерения
Код продакшен-сборки, измеренный во время сборки. До нажатия Enter первый визит загружает ещё текстуры Земли и шрифты — на них приходится остаток 1,1 МБ. Откройте сайт с #stats, чтобы увидеть живой FPS, вызовы отрисовки и треугольники.
| Файл | Размер | Gzip |
|---|---|---|
| Критический путь | 1447 KB | 430 KB |
| main.js | 1272 KB | 375 KB |
| main.css | 63 KB | 12 KB |
| site.js · RU | 39 KB | 13 KB |
| site.js · EN | 28 KB | 11 KB |
| projects.js · RU | 11 KB | 4 KB |
| cv.js · RU | 9 KB | 4 KB |
| universe.js · RU | 7 KB | 3 KB |
| projects.js · EN | 6 KB | 3 KB |
| cv.js · EN | 6 KB | 3 KB |
| universe.js · EN | 5 KB | 2 KB |
| rolldown-runtime.js | 0 KB | 0 KB |
| Загружается по требованию | 2424 KB | 898 KB |
| rapier.js | 2182 KB | 810 KB |
| panel.js | 51 KB | 19 KB |
| site.js · KK | 40 KB | 13 KB |
| chess.js | 38 KB | 13 KB |
| voyage.js | 31 KB | 13 KB |
| panel.css | 16 KB | 4 KB |
| projects.js · KK | 11 KB | 4 KB |
| cv.js · KK | 9 KB | 4 KB |
| editor.js | 9 KB | 4 KB |
| game.js | 7 KB | 3 KB |
| ClusteredLighting.js | 7 KB | 3 KB |
| universe.js · KK | 7 KB | 3 KB |
| tour.js | 5 KB | 2 KB |
| typing.js | 2 KB | 1 KB |
| guestbook.js | 2 KB | 1 KB |
| frostTiles.js | 2 KB | 1 KB |
| chess.css | 2 KB | 1 KB |
| reels.js | 2 KB | 1 KB |
| manifest.js | 1 KB | 0 KB |
| perfHud.js | 1 KB | 0 KB |