# Week 1 — General Notes & Personal Summary ## Milestone Recap: Tasks 1–4 * **Task 1 (Material Color)**: Handled color changes imperative (Vanilla), declarative (R3F), and UI-driven (Thob). * **Task 2 (Texture Mapping)**: Successfully applied checkerboard and URL-based textures. **Thob speed was the highlight here.** * **Task 3 (Hover Feedback)**: Identified a **major gap**—Hover is standard in code but missing from the builder UI. * **Task 4 (Click Toggle)**: Discovered that the `onClick` interaction engine is currently **unstable/broken** in the builder. --- ## Top Reflections ### Speed vs. Control * **The Thob Advantage**: Setting up a 3D scene (adding a cube + lighting + texture) in the builder is **lightning-fast**. What takes a 10-minute Vite setup in Vanilla takes **2 minutes** in the Thob UI. * **The Interactivity Threshold**: As soon as we moved from "Static Visuals" to "Interactive Behavior," the strength shifted back to **R3F**. The builder's UI for interactions exists, but the execution logic isn't there yet. ### Declarative vs. Imperative * Writing the **Raycaster** manually in Vanilla felt outdated and boilerplate-heavy compared to the clean **`onPointerOver`** props in R3F. * **Insight**: Thob would benefit immensely by mirroring R3F's declarative event model (simple triggers linked to property changes). --- ## Critical Discoveries (The "Interaction Blackout") The most valuable part of this week's sprint was identifying that: 1. **Hover (PointerOver/Out)**: Is not just "hidden"—it's currently missing as a first-class feature in the Thob engine. 2. **Click (Interaction Dispatcher)**: Is unreliable. Even when wired correctly in the UI, it doesn't always fire in the runtime. 3. **CORS/Asset Linking**: External URL textures are prone to browser blocking, making internal "Project Library" uploads the only safe path for now. ---