diff --git a/Week-4/Task2.md b/Week-4/Task2.md new file mode 100644 index 0000000..6f97b5b --- /dev/null +++ b/Week-4/Task2.md @@ -0,0 +1,49 @@ +# Divya Week 4 — Visual Priority Recommendations + +## 3 Quick Wins + +### 1. Asset Pipeline Validation & Feedback +- **Problem**: Texture uploads larger than 5MB fail silently without informing the user. +- **Why it matters**: It creates "Invisible Walls" for professional designers, leading to wasted time troubleshooting missing assets. +- **Recommendation**: Implement a simple file-size check and "Error Toast" notification when an upload is rejected. +- **Expected user impact**: Immediate reduction in "Unreliable Asset" complaints and faster authoring loops. +- **Confidence level**: High (This is a standard frontend validation). + +### 2. $Context Syntax Dropdown / Autocomplete +- **Problem**: Binding UI triggers to Mesh IDs requires memorizing proprietary `$context` syntax. +- **Why it matters**: It is the single biggest friction point during the "Logic Linking" phase of building a configurator. +- **Recommendation**: Add a simple "Logic Picker" dropdown in the Binding panel that pre-fills valid $context paths. +- **Expected user impact**: Drastic reduction in "Interaction Drift" and a much lower learning curve for new designers. +- **Confidence level**: High. + +### 3. Configurator Default State Persistence +- **Problem**: Active selections (like a chosen planet texture) reset to default on browser refresh. +- **Why it matters**: Makes "Reviewing" or "Sharing" specific configurations impossible during the build process. +- **Recommendation**: Store the active variant indices in the local editor session or URL params. +- **Expected user impact**: Improves the "QA and Review" workflow for design teams. +- **Confidence level**: Medium. + +## 2 Medium Features + +### 1. The "Selection Manager" Logic Primitive +- **Problem**: Managing mutual exclusivity (Single-Select) across 10+ parts is currently manual and fragile (State Explosion). +- **Why it matters**: This is the #1 requirement for complex retail configurators (e.g., choosing 1 wheel out of 20 options). +- **Recommendation**: Build a "Selection Group" node. Any mesh added to this group follows a "Radio Button" rule automagically. +- **Scope estimate**: 1–1.5 weeks. +- **Risk**: Low product risk; high engineering leverage. + +### 2. Material Variant Block (Atomic UI) +- **Problem**: Creating a color switcher requires building individual buttons and linking manual visibility logic. +- **Why it matters**: It’s the most common task but also the most repetitive. +- **Recommendation**: A dedicated UI component that automatically generates buttons for every Variant defined on a Material. +- **Scope estimate**: 2 weeks. +- **Risk**: Requires a tight bridge between the Material Schema and the UI Engine. + +## 1 Deeper Architecture Concern +- **Problem**: Absence of Native 3D Raycasting (Interaction Engine). +- **Why it matters**: Without the ability to click 3D objects directly, Thob is a "UI Overlay" tool rather than a truly immersive 3D experience. Interaction remains shallow and limited to 2D buttons. +- **Why it is deeper than a quick fix**: This requires integrating a robust Pointer/Event system into the core Three.js render loop and exposing it through the Editor's Node system. +- **What kind of spike or investigation is needed**: A technical spike on "Pointer Event Propogation" in the Thob Fiber layer to see how to expose onClick and onPointerOver triggers to the user. + +## Final Recommendation +- If only 1 visual/product-facing thing should be built first, it is the **Selection Manager Logic Primitive**. Direct interaction is the ultimate goal, but a "Selection Manager" would immediately unlock the ability to build massive, professional configurators that are currently too "Fragile" to maintain.