Atsiverk kaip filmo premjera, nusėsk kaip režisieriaus pastaba.
Pirmas kadras paleidžia plačiai — display-cinema tipografija, pilna drobė, girdimas iškvėpimas. Antras kadras — intymus tekstas. Abu registrai priklauso tam pačiam filmui.
Šeši balso principai. Jie valdo kiekvieną teksto eilutę, kiekvieną sekcijos lūžį, kiekvieną tylą. Kinematografinis užmojis — leidimas būti taupiems.
Pirmas kadras paleidžia plačiai — display-cinema tipografija, pilna drobė, girdimas iškvėpimas. Antras kadras — intymus tekstas. Abu registrai priklauso tam pačiam filmui.
Feeldreamy kalba viena violetine kalba. Studija kalba visu auroros spektru — tirkizinė, violetinė, rožinė, kreminė. Tėvas talpina vaiką, o ne kartoja jį.
Ilgos pradinės sakinio dalys nustato sceną. Trumpi atsakymai užfiksuoja pjūvį. Kiekviena pastraipa — vienas kadras.
Vienas hero kiekviename puslapyje. Labai mažai CTA. Dosnus letterbox. Į kinematografišką registrą uždirbame tylėdami tarp kadrų.
Pradedame su intencija. Kadras — įrodymas. Tai, kas neuždirba kitos sekundės, iškerpama iš montažo.
Problemą patvirtiname ir paklausą uždirbame iš istorijos dar prieš parašant pirmąją kodo eilutę. Laikas, sugaištas ne tam dalykui, — tikroji kaina. Kinematografinis užmojis — leidimas pataikyti aukščiau, ne blefuoti.
5 stotelių chromatinis gradientas ant 2 stotelių neutralios bazės. Auroros spalvos yra šviesinės — aukšta chroma, vidutiniškai aukštas šviesumas — ir niekada nepasirodo kaip plokščios užpildos, tik kaip šviesa prieš tamsų paviršių. Neutralumai neša tekstą ir chromą.
Space Grotesk display tikslams — siauresnis, vėsesnis grotesque, vizualiai išsiskiriantis nuo Feeldreamy Sora. Inter kūnui. JetBrains Mono etiketėms ir šaderio užrašams. Visi variable, naudojama tik wght ašis.
display-cinema kiekviename puslapyje — hero <h1>.+0.18em tarpai — pvz. STUDIJA · 01 / 05.font-feature-settings: 'tnum' 1 visur, kur jie pasirodo lentelėse.latin-ext padengia visus reikalingus diakritikus.
Visos kreivės yra cubic-bezier — jokių spyruoklių CSS. Spyruoklės gyvena tik R3F per lerp. Kiekvienas primityvas deklaruoja savo savybės kontraktą, trukmę ir kreivę.
Fonu plaukianti šaderio spektro rotacija, begalinė
linearPelės žiedo poslinkis
cubic-bezier(0.16, 1, 0.3, 1)Sekcijos dolly slinkties metu
linearSekcijos skirtuko šluota
cubic-bezier(0.65, 0, 0.35, 1)Sapno objekto suskirstymas į taškus
cubic-bezier(0.83, 0, 0.17, 1)Elementas įžengia į žiūros lauką
cubic-bezier(0.22, 1, 0.36, 1)Auroros gradiento teksto šimeris
ease-in-outKortelės hover
cubic-bezier(0.2, 0.8, 0.2, 1)Sapno objekto kvėpavimas
ease-in-outMygtuko paspaudimas
cubic-bezier(0.4, 0, 1, 1)View Transitions API
cubic-bezier(0.65, 0, 0.35, 1)
Vykdymo metu reguliuoja drei <PerformanceMonitor>: ilgalaikis FPS žemiau 40 paleidžia onDecline, pakopa krenta — efektai šalinami tvarka.
Kai prefers-reduced-motion: reduce sutampa, hero drobė niekada nesumontuojama. Pelės žiedas išjungtas. Aurora teksto šimeris krenta į statinį gradientą. Lens flare šluostės virsta 60ms perėjimais. Dalelių išsklaidymas pakeičiamas 180ms opacity keitimu.
Kiekvienas Auroros komponentas, atvaizduotas gyvai. Failų keliai ir vienos eilutės vaidmenys. Visas inventorius — montažo medžiaga.
Pilnos drobės, suapvalintas, stiklo kraštinės konteineris — „spaudos rinkinio" rėmas.
src/components/aurora/Frame.astro Pasirinktinis letterbox propas užfiksuoja 16:9 santykį. Surface-deep užpildas, surface-edge plona linija.
Section suteikia kiekvienam blokui vertikalų ritmą: padding-block svyruoja 5rem → 12vh → 9rem pagal nutylėjimą, su pasirinktiniais compact arba loose variantais.
src/components/aurora/Section.astro Plotis: siauras (64rem) · standartinis (80rem) · platus (96rem) · pilnas. Tarpai: compact, default, loose.
src/components/aurora/LensFlareDivider.astro Slinkties valdoma šluota per animation-timeline: view(). Krinta į statinę gradiento liniją sumažinto judesio režime.
src/components/aurora/AuroraStreak.astro Švelnesnė, begalinio šimerio alternatyva LensFlareDivider. Naudojama tarp posekcijų.
src/components/aurora/Pill.astro Mono didžiosios žymos. Tonai: default, outline, glow (kreminis tekstas ant surface-deep su violetiniu žiedu).
src/components/aurora/Button.astro Trys variantai. Cinema: violetinis→rožinis gradientas su bloom hover. Ghost: plona kraštinė, šviesėja į kreminę. Link: aurora pabraukimas auga ant fokuso.
Stiklo kortelė pakyla 4px, įgyja violetinį žiedą ir paleidžia švelnų bloom šešėlį.
src/components/aurora/Card.astro Stiklo kortelės primityvas. Surface-deep 80% su backdrop-blur. Polimorfinis article / div / a.
src/components/aurora/Stat.astro Didelis display skaičius virš mono etiketės. Pasirinktinis accent apverčia reikšmę į aurora gradientą.
src/components/aurora/FounderCard.astro Portretas + outline pill + esmė + žetonų eilė + skaitymo nuoroda. Hover pakelia ir sušildo bloom šešėlį aurora-pink atspalviu.
Tavo sapnas reiškia daugiau, nei manai.
Sapnų analizės DI SaaS. Papasakok sapną — gausi aštuonių žingsnių apmąstymą: emocinę architektūrą, pasikartojančius simbolius, mėnulio fazę ir klausimą, su kuriuo verta pabūti. Pagrįsta, ne pranašaujanti.
src/components/aurora/ProductShowcase.astro 2-stulpelių produkto pristatymas. Naršyklės karkasas kairėje, tekstas + statai + CTA dešinėje. Karkaso vidus naudoja violetinį radialinį žybsnį.
src/components/aurora/TimelineItem.astro Eilutė vertikalioje laiko juostoje. Taškas, mono periodas, vaidmuo, organizacija, kontekstas. current uždega tašką aurora gradientu.
Aistringas inovacijoms ir verslui. Mėgsta nardyti į kriptovaliutų ir akcijų grafikus. Įamžina akimirkas kamera.
src/components/aurora/PullQuote.astro Redakcinis pull-quote. Aurora-gradient kabutės ženklas viršuje kairėje, display tekstas, mono šaltinio eilutė.
Dreamchasers, MB · Vilnius, Lietuva · 2026
src/components/aurora/ContactBlock.astro El. pašto eilutė, LinkedIn duetas, teisinis blokas. Aurora gradiento pabraukimas auga ant hover kiekvienai nuorodai.
src/components/aurora/hero/HeroSceneIsland.tsx R3F drobė. Valdo slinkties progresą, pelės sekimą, pakopų detekciją ir fallback vartus. Hidruotas client:visible. Gyvas viršelis šio dosjė viršuje — tai ir yra komponentas.
src/components/aurora/hero/BloomCursor.tsx DOM lygmens linzės žiedas. Hidruotas client:idle. Aktyvus visame šiame puslapyje — pajudink pelę ir pamatysi švelnų cyan→pink aurelę (išjungta sumažinto judesio arba liečiamuose įrenginiuose).
src/components/aurora/hero/shaders/aurora.glsl.ts Viršūnių + fragmentų šaderiai pateikti kaip TS moduliai — minifikuojami kartu su salos paketu. ~140 eilučių su Ashima Arts simplex triukšmu.
Pilnos drobės kanvas užima hero. Pasirinktinis fragmentų šaderis tapo auroros juosteles ant kosminio dugno. Ledinio stiklo ikozaedras kvėpuoja centre. Pelė pridėjus žiedo centrą šaderiui. Slinkties metu kamera važiuoja į priekį, o sapno objektas išsiskaido į kitos sekcijos turinį. Žemiau: ta pati scena atvaizduota pusės viewporto dydyje kontroliuojamoje aplinkoje.
Pilno ekrano kvadratas. fBm triukšmas valdo spalvų mišinį tarp teal → violet → pink → cream. uMouse prideda švelnų bloom centrą, uMouseStrength jį silpnina. Spalvų uniformai iš anksto apskaičiuojami iš OKLCH žetonų.
Vienas suapvalintas ikozaedras drei <Float> apvalkale. <MeshTransmissionMaterial> suteikia ledinio stiklo efektą: transmission 1, thickness 0.9, IOR 1.4, chromatic aberration 0.08, backside on.
DollyRig lerpina kamerą z nuo 5.0 iki 1.4 ir FOV nuo 38 iki 52 per pirmuosius 100svh. Po hero išėjimo scena išmontuojama per IntersectionObserver — GPU grįžta į idle.
Paketas: ~256 KB gzipped visai hero salai (three.js dominuoja). Už hero ribų svetainė siunčia ~14 KB judesio. Kaina sąžininga ir mes ją priimame.
// HeroSceneIsland.tsx — uniformų perdavimas
const uniforms = useMemo(() => ({
uTime: { value: 0 },
uResolution: { value: new THREE.Vector2(width, height) },
uMouse: { value: new THREE.Vector2(0.5, 0.5) },
uMouseStrength: { value: 0.6 },
uHueA: { value: HUE_A.clone() }, // aurora-teal
uHueB: { value: HUE_B.clone() }, // aurora-violet
uHueC: { value: HUE_C.clone() }, // aurora-pink
uHueD: { value: HUE_D.clone() }, // aurora-cream
uCosmos: { value: COSMOS.clone() }, // surface-cosmos
}), []); // aurora.glsl.ts — fragmento branduolys
vec2 uv = (gl_FragCoord.xy - 0.5 * uResolution) / uResolution.y;
vec3 p = vec3(uv * 1.2, uTime * 0.06);
float n1 = fbm(p + vec3(0.0, 0.0, uTime * 0.08));
float n2 = fbm(p + vec3(2.7, 5.1, -uTime * 0.05));
vec2 mPos = (uMouse - 0.5) * vec2(uResolution.x / uResolution.y, 1.0);
float md = distance(uv, mPos);
float bloom = exp(-md * 4.0) * uMouseStrength;
float t = smoothstep(-0.5, 0.5, n1 + bloom * 0.6);
vec3 ab = mix(uHueA, uHueB, t);
vec3 cd = mix(uHueC, uHueD, smoothstep(-0.4, 0.6, n2));
vec3 col = mix(ab, cd, smoothstep(-0.2, 0.4, n1 - n2));
col += vec3(0.78, 0.74, 0.95) * bloom * 0.7;
gl_FragColor = vec4(col, 1.0); <Canvas> žemiau 5% perimavimo. Snapshot AVIF pakeičia kaip fiksuotą foną.Auroros išdėstymas pirmiausia redakcinis: siauri stulpeliai prozai, platūs etapai produktų pristatymams. Kinematografinės rėmo proporcijos remiasi 16:9; konteinerio ribos įsijungia ties plataus lūžiu.
clamp(3rem, 6vh, 5rem) Glaustas sekcijos paddingas (block)
clamp(5rem, 12vh, 9rem) Standartinis sekcijos paddingas (block)
clamp(7rem, 16vh, 12rem) Hero / dosjė sekcijos paddingas (block)
max-w 64rem (1024px) Redakcinis teksto stulpelis
max-w 80rem (1280px) Numatytasis puslapio plotis
max-w 96rem (1536px) Hero, showcase, platus turinys
22px Stiklo kortelės, rėmai
999px Pill'ai, mygtukai, kontakto nuorodos
clamp(1.75rem, 3vw, 2.5rem) Vidinis sekcijos tarpas
≥ 600px Maži telefonai → phabletai
≥ 760px Planšetės — pasirodo header nav, founder 2-col
≥ 960px Maži nešiojami — ProductShowcase tampa 2-col
≥ 1280px Numatytasis darbastalis — konteinerio ribos
≥ 1536px Kinas — atsiveria platus konteineris
„Rėmas" iš spaudos rinkinio. Visada pilnas savo stulpelyje.
Kinematografinis registras yra opt-in. Kiekvienas judesys turi sumažinto judesio kelią, kiekvienas spektro tonas turi patikrintą kontrasto porą, o kiekvienas interaktyvus elementas turi kreminį fokuso žiedą prieš kosmosą, atitinkantį 3:1 ne tekstui AAA.
Kiekvienas fokusuojamas elementas rodo 2px solid var(--focus-ring) su 4px poslinkiu. Kreminė vertė pereina 16,1 : 1 prieš kosmosą — 3 : 1 ne tekstui AAA, matomumas garantuotas.
<nav> <ul>.Hero <h1> — tikras DOM, niekada drobės viduje. Three.js laiko vizualumą; semantika gyvena apdangoje. <main>, <header>, <footer>, <nav> naudojami dokumentuotai.
Brandbook'as — kanonas. Komponentai keliauja iš šio puslapio; žetonai gyvena aurora.css; tekstas pasirašytas studijos. Ilgesnis dokumentavimas — markdown šaltinyje.