building-advanced-visual-websites
SKILL.md
Building Advanced Visual Websites
When to use this skill
- When the user asks for "Advanced UI", "3D effects", "WebGL", "Three.js", or "Shaders".
- When creating high-end portfolios or immersive brand experiences (like Apple/Riot Games/Agency sites).
- When implementing physics-based animations, glassmorphism, or complex scroll interactions.
- When performance is critical for heavy visual loads (GPU acceleration usage).
Workflow
- Technology Selection:
- Core: React Three Fiber (R3F) for declarative 3D.
- Shaders: TSL (Three Shading Language) or GLSL via
drei/shaderMaterial. - Animation: GSAP (Timeline control) or Framer Motion (UI transitions).
- Post-Processing:
react-postprocessingfor Bloom, Depth of Field, Noise.
- Scene Setup:
- Initialize
<Canvas>with proper pixel ratio (dpr={[1, 2]}) and shadows. - Configure
OrbitControlsorScrollControlsfor navigation.
- Initialize
- Optimization Strategy:
- Use
InstancedMeshfor repeating objects (>100 instances). - Enable
useFrameloops selectively; avoid heavy logic in the render loop. - Draco compress all GLTF models.
- Use
- Integration:
- Overlay HTML UI using
<Html>from@react-three/dreior standard absolute positioning on top of the Canvas.
- Overlay HTML UI using
Instructions
Liquid Glass & Shader Effects
To achieve the "Liquid Glass" look:
- Material: Use
MeshPhysicalMaterial. - Settings:
transmission: 0.95(Glass transparency)roughness: 0.1(Smoothness)thickness: 1.5(Refraction depth)ior: 1.5(Index of Refraction)
- Lighting: High-contrast environment map (
Environmentfrom drei) is crucial for reflections.
React Three Fiber (R3F) Helper
- Canvas: The root entry point.
- Hooks:
useThree(): Access camera, scene, renderer.useFrame((state, delta) => ...): Run code every frame (animation loop).useLoader(GLTFLoader, '/path'): Load 3D assets.
Performance Rules
- Do not create new materials or geometries inside
useFrame. - Do dispose of heavy assets when unmounting (R3F handles most, but be careful with custom textures).
- Do use lazy loading (
Suspense) for heavy 3D models.
Resources
Weekly Installs
2
Repository
pauloviccs/vicc…screatorGitHub Stars
3
First Seen
13 days ago
Security Audits
Installed on
trae2
gemini-cli2
claude-code2
github-copilot2
codex2
kimi-cli2