feat: immerse the portfolio in a chromatic synthwave night

Carry rose, violet, coral, electric blue and cyan through the interface, road, terrain, signs and atmosphere. Add a Blender-authored paint edition and matching runtime fallback captures. Interpolate atmospheric color on a small sky lattice and enrich existing speed effects without another rendering pass.

Preserve approved copy, project media, metadata, navigation contracts and adaptive audio. Verified with typecheck, client/SSR builds, validated prerendering, artifact and transfer checks, responsive Chrome interaction, fallback checks and Intel-backed performance sampling.
This commit is contained in:
2026-09-05 13:17:53 +03:00
parent 43e510341e
commit 5d5935a1f8
24 changed files with 693 additions and 130 deletions

View File

@@ -1,6 +1,6 @@
import * as THREE from 'three';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
import grandTourerUrl from '@/assets/nightdrive-grand-tourer-expressway.glb?url';
import grandTourerUrl from '@/assets/nightdrive-grand-tourer-chromatic.glb?url';
import type { SceneResourceBag } from '@/scene/resources';
import type { SceneDetailMode } from '@/scene/types';
@@ -94,8 +94,8 @@ export function createCar(
const bodyMaterial = resources.own(
'material',
new THREE.MeshStandardMaterial({
color: 0x304e68,
emissive: 0x091725,
color: 0xa72c73,
emissive: 0x2c0822,
emissiveIntensity: 0.42,
roughness: 0.36,
metalness: 0.68,
@@ -104,8 +104,8 @@ export function createCar(
const shoulderMaterial = resources.own(
'material',
new THREE.MeshStandardMaterial({
color: 0x365b77,
emissive: 0x0a1b2a,
color: 0x793fb2,
emissive: 0x211032,
emissiveIntensity: 0.36,
roughness: 0.3,
metalness: 0.74,
@@ -475,11 +475,11 @@ function createAuthoredCar(
material.isMeshStandardMaterial &&
(object.name === 'car-body' || object.name === 'body-haunches')
) {
material.emissive?.setHex(0x0b2738);
material.emissiveIntensity = 0.26;
material.emissive?.setHex(0x491034);
material.emissiveIntensity = 0.16;
}
if (material.isMeshStandardMaterial && object.name === 'rear-glass') {
material.emissive?.setHex(0x041725);
material.emissive?.setHex(0x0f143d);
material.emissiveIntensity = 0.31;
}
if (object.name === 'rear-light-bar' && material.isMeshStandardMaterial) {