diff --git a/Week-2/Task-1/r3f/src/App.css b/Week-2/Task-1/r3f/src/App.css
index e69de29..d87f28f 100644
--- a/Week-2/Task-1/r3f/src/App.css
+++ b/Week-2/Task-1/r3f/src/App.css
@@ -0,0 +1,41 @@
+.app-container {
+ width: 100vw;
+ height: 100vh;
+ position: relative;
+ background-color: white;
+ overflow: hidden;
+}
+
+#controls {
+ position: absolute;
+ top: 20px;
+ left: 20px;
+ z-index: 10;
+ display: flex;
+ gap: 10px;
+}
+
+button {
+ padding: 8px 16px;
+ cursor: pointer;
+ background: #f0f0f0;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ font-weight: 500;
+ transition: all 0.2s;
+}
+
+button:hover {
+ background: #e0e0e0;
+}
+
+button.active {
+ background: #333;
+ color: white;
+ border-color: #333;
+}
+
+.canvas-wrapper {
+ width: 100%;
+ height: 100%;
+}
diff --git a/Week-2/Task-1/r3f/src/App.jsx b/Week-2/Task-1/r3f/src/App.jsx
index 71ffef9..557d2f4 100644
--- a/Week-2/Task-1/r3f/src/App.jsx
+++ b/Week-2/Task-1/r3f/src/App.jsx
@@ -1,5 +1,55 @@
+import React, { useState } from 'react';
+import { Canvas } from '@react-three/fiber';
+import { OrbitControls, PerspectiveCamera } from '@react-three/drei';
+import './App.css';
+
+const materials = {
+ black: { color: "black", roughness: 1, metalness: 0 },
+ silver: { color: "#C0C0C0", roughness: 0.3, metalness: 1 },
+ gold: { color: "#FFD700", roughness: 0.4, metalness: 1 },
+};
+
+function Scene({ variant }) {
+ return (
+ <>
+