@@ -11,16 +11,18 @@ const Scene = () => {
1111 useCursorInteraction ( )
1212
1313 return (
14- < MouseCameraController >
15- < GradientSkybox />
16- < SceneLighting />
17-
18- { /* Futuristic Platform */ }
19- < Platform />
20-
21- { /* Minimal floating shapes */ }
22- < FloatingShapes />
23- </ MouseCameraController >
14+ < >
15+ < MouseCameraController >
16+ < GradientSkybox />
17+ < SceneLighting />
18+
19+ { /* Futuristic Platform - Hidden for now */ }
20+ { /* <Platform /> */ }
21+
22+ { /* Minimal floating shapes */ }
23+ < FloatingShapes />
24+ </ MouseCameraController >
25+ </ >
2426 )
2527}
2628
@@ -46,14 +48,24 @@ const HeroSection = () => {
4648 { /* Navbar */ }
4749 < nav className = "navbar" >
4850 < div className = "navbar__content" >
49- < a href = "mailto:austinthemichaud@gmail.com" className = "navbar__link" >
50- austinthemichaud@gmail.com
51- </ a >
52- < a href = "https://www.linkedin.com/in/austin-michaud-9b25aa141/" target = "_blank" rel = "noopener noreferrer" className = "navbar__link" >
53- LinkedIn
54- </ a >
55- < a href = "https://github.com/foobar404" target = "_blank" rel = "noopener noreferrer" className = "navbar__link" >
56- GitHub
51+ < div className = "navbar__links" >
52+ < a href = "mailto:austinthemichaud@gmail.com" className = "navbar__link" >
53+ austinthemichaud@gmail.com
54+ </ a >
55+ < a href = "https://www.linkedin.com/in/austin-michaud-9b25aa141/" target = "_blank" rel = "noopener noreferrer" className = "navbar__link" >
56+ LinkedIn
57+ </ a >
58+ < a href = "https://github.com/foobar404" target = "_blank" rel = "noopener noreferrer" className = "navbar__link" >
59+ GitHub
60+ </ a >
61+ </ div >
62+ < a href = "/assets/resume.pdf" download = "Austin_Michaud_Resume.pdf" className = "navbar__resume-btn" >
63+ < span > Download Resume</ span >
64+ < svg width = "16" height = "16" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" strokeWidth = "2" >
65+ < path d = "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" > </ path >
66+ < polyline points = "7,10 12,15 17,10" > </ polyline >
67+ < line x1 = "12" y1 = "15" x2 = "12" y2 = "3" > </ line >
68+ </ svg >
5769 </ a >
5870 </ div >
5971 </ nav >
@@ -68,11 +80,16 @@ const HeroSection = () => {
6880 gl = { {
6981 antialias : false ,
7082 alpha : true ,
71- powerPreference : "default"
83+ powerPreference : "high-performance" ,
84+ preserveDrawingBuffer : false ,
85+ failIfMajorPerformanceCaveat : false
86+ } }
87+ dpr = { [ 1 , 2 ] }
88+ onCreated = { ( { gl } ) => {
89+ gl . setClearColor ( '#000000' , 0 )
7290 } }
73- dpr = { 1 }
7491 >
75- < Suspense fallback = { null } >
92+ < Suspense fallback = { < LoadingFallback /> } >
7693 < Scene />
7794 </ Suspense >
7895 </ Canvas >
@@ -105,14 +122,72 @@ const HeroSection = () => {
105122 < h1 className = "hero__title" >
106123 Austin Michaud
107124 </ h1 >
108- < div className = "flex justify-center items-center mt-8" >
125+
126+
127+ { /* Floating Tech Bubbles */ }
128+ < div className = "tech-bubbles" >
129+ < div className = "tech-bubble" >
130+ < img src = "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/blender/blender-original.svg" alt = "Blender" />
131+ < span className = "tooltip" > Blender - 3D modeling and animation for XR assets</ span >
132+ </ div >
133+ < div className = "tech-bubble" >
134+ < img src = "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/godot/godot-original.svg" alt = "Godot" />
135+ < span className = "tooltip" > Godot Engine - Open-source game engine for XR development</ span >
136+ </ div >
137+ < div className = "tech-bubble" >
138+ < svg width = "32" height = "32" viewBox = "0 0 100 100" fill = "none" >
139+ < circle cx = "50" cy = "50" r = "50" fill = "#DC2626" />
140+ < text x = "50" y = "70" textAnchor = "middle" fontSize = "45" fill = "white" fontWeight = "bold" > XR</ text >
141+ </ svg >
142+ < span className = "tooltip" > WebXR - Web-based extended reality experiences</ span >
143+ </ div >
144+ < div className = "tech-bubble" >
145+ < svg width = "32" height = "32" viewBox = "0 0 100 100" fill = "none" >
146+ < path d = "M50 10L80 80H20L50 10Z" fill = "#EF2D5E" />
147+ < path d = "M35 65L50 35L65 65H35Z" fill = "#FFF" />
148+ </ svg >
149+ < span className = "tooltip" > A-Frame - Web framework for building VR experiences</ span >
150+ </ div >
151+ < div className = "tech-bubble" >
152+ < img src = "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/threejs/threejs-original.svg" alt = "Three.js" />
153+ < span className = "tooltip" > Three.js - JavaScript 3D library for interactive graphics</ span >
154+ </ div >
155+ < div className = "tech-bubble" >
156+ < svg width = "32" height = "32" viewBox = "0 0 100 100" fill = "none" >
157+ < circle cx = "30" cy = "30" r = "15" fill = "#4A90E2" opacity = "0.8" />
158+ < rect x = "55" y = "15" width = "30" height = "30" rx = "5" fill = "#7B68EE" opacity = "0.8" />
159+ < polygon points = "20,85 35,60 50,85" fill = "#FF6B9D" opacity = "0.8" />
160+ < path d = "M65 85L85 65L85 85Z" fill = "#50E3C2" opacity = "0.8" />
161+ </ svg >
162+ < span className = "tooltip" > ShapesXR - Professional XR creation platform</ span >
163+ </ div >
164+ < div className = "tech-bubble" >
165+ < svg width = "32" height = "32" viewBox = "0 0 100 100" fill = "none" >
166+ < defs >
167+ < linearGradient id = "gravityGrad" x1 = "0%" y1 = "0%" x2 = "100%" y2 = "100%" >
168+ < stop offset = "0%" stopColor = "#FF4081" />
169+ < stop offset = "50%" stopColor = "#9C27B0" />
170+ < stop offset = "100%" stopColor = "#3F51B5" />
171+ </ linearGradient >
172+ </ defs >
173+ < circle cx = "50" cy = "50" r = "45" fill = "url(#gravityGrad)" opacity = "0.9" />
174+ < path d = "M30 30Q50 15 70 30Q70 50 70 70Q50 85 30 70Q30 50 30 30Z" fill = "#FFF" opacity = "0.9" />
175+ < circle cx = "50" cy = "40" r = "8" fill = "url(#gravityGrad)" />
176+ < path d = "M40 55L50 65L60 55" stroke = "url(#gravityGrad)" strokeWidth = "3" fill = "none" strokeLinecap = "round" />
177+ </ svg >
178+ < span className = "tooltip" > Gravity Sketch - VR design and modeling tool for 3D creation</ span >
179+ </ div >
180+ </ div >
181+
182+ < div className = "flex justify-center items-center mt-14" >
109183 < button
110184 className = "btn btn--secondary"
111185 onClick = { handleScrollToNext }
112186 >
113187 Scroll
114188 </ button >
115189 </ div >
190+
116191 </ div >
117192 </ section >
118193
0 commit comments