Compare commits

...

2 Commits

Author SHA1 Message Date
cb1004584e docs: update task-3 comparison report 2026-03-31 00:14:55 +05:30
07132cce1f docs: update task-3 builder exploration notes 2026-03-31 00:14:55 +05:30
2 changed files with 112 additions and 42 deletions

View File

@ -1,60 +1,79 @@
# Task: [Feature Name] # Task 3 Report: [Hover Interaction (Visual Feedback)]
## Objective ## Objective
What is the feature trying to do? When the user hovers over the 3D object, something changes visually (e.g., color, scale).
## Vanilla three.js ## Vanilla Three.js
-Possible: Yes / Partial / No - Possible: **Yes**
-Notes: - Notes: Requires setting up a `Raycaster`, calculating **Normalized Device Coordinates (NDC)** for the mouse, and manually toggling states inside a `mousemove` event listener.
-Key concepts: - Key concepts: `THREE.Raycaster`, `mousemove`, `NDC calculation`, `Manual State Management`.
-Complexity: Easy / Medium / Hard - Complexity: **Medium** (High math/boilerplate).
## R3F ## R3F
-Possible: Yes / Partial / No - Possible: **Yes**
-Notes: - Notes: Extremely intuitive. Built-in `onPointerOver` and `onPointerOut` props handle everything declaratively. State management is simple with `useState`.
-What R3F abstracted: - What R3F abstracted: `Raycaster computation`, `Normalized Coordinates`, `Event-to-Mesh mapping`.
-Complexity: Easy / Medium / Hard - Complexity: **Easy** (Very concise, 5-10 lines of code).
## Thob Page Builder ## Thob Page Builder
-Possible: Yes / Partial / No - Possible: **No (for hover interaction)**
- Notes: - Notes:
-Builder steps: - Hover interaction is not supported in the current UI
-Complexity: Easy / Medium / Hard - Click trigger exists but did not produce consistent results during testing
- Interaction system appears limited or unstable for dynamic visual feedback
- Complexity: **Limited** (interaction features not fully functional)
---
## Comparison Summary ## Comparison Summary
-Possible in all 3? Yes / Partial / No
-Main differences:
-Where Thob is better:
-Where Thob is weaker:
-What feels awkward or unclear:
## Limitation Type (if any) - Possible in all 3? **No** (hover interaction not supported in builder)
- Main differences:
- **Vanilla**: Powerful but requires manual setup
- **R3F**: Simplest and most reliable interaction system
- **Thob**: Limited interaction support; hover missing and click behavior unclear
- Where Thob is better:
- **Static visual prototyping**
- Where Thob is weaker:
- **Interaction system reliability**
- Lack of hover support
- Unclear event-to-property binding
- What feels awkward or unclear:
- Interaction triggers are visible but behavior is not always predictable
---
## Limitation Type
- [ ] Editor UX limitation - [ ] Editor UX limitation
-[ ] Runtime limitation - [x] Runtime limitation (event execution unclear)
- [ ] Schema / data model limitation - [ ] Schema / data model limitation
- [ ] Component limitation - [ ] Component limitation
-[ ] Event system limitation - [x] Event system limitation
- [x] Property binding limitation
- [ ] Asset pipeline limitation - [ ] Asset pipeline limitation
-[ ] Unknown / needs investigation
---
## Workaround ## Workaround
-Is there a workaround?
-If yes, what is it? - No reliable workaround found for hover interaction
- Click interaction may require further investigation or configuration
---
## Suggested Improvement ## Suggested Improvement
-What should improve in Thob?
-Is it:
-editor
-runtime
-component
-UX
-schema/data
## Difficulty Estimate - Improve reliability of event execution (e.g., onClick behavior)
-Easy / Medium / Hard - Introduce hover interaction support (`onHoverStart`, `onHoverEnd`)
- Provide clearer feedback when event actions fail
## Business Value ---
-Low / Medium / High
## Recommendation ## Recommendation
Should Thob support this better? Why?
To enable interactive 3D experiences, the builder should strengthen its event system, ensuring reliable execution of click triggers and adding support for hover-based interactions.

View File

@ -0,0 +1,51 @@
# Builder Exploration Notes — Task 3: Hover Interaction
## Capability Gap Identified
- **Hover Events**: No visible support for `onPointerOver` / `onPointerOut` (hover) in the interaction panel
- **Click Behavior**: `onClick` trigger is present in UI, but actions did not produce visible results during testing
- **Visual Logic**: No clear way to connect user interaction to visual state changes (e.g., color/scale)
- **Interaction Experience**: Scene appears static due to lack of responsive feedback
---
## Observations
- Interaction UI exists but execution behavior is unclear or inconsistent
- Hover-based interaction is not exposed as a first-class concept
- Click interaction may require additional configuration or may be unstable in current environment
---
## Comparison vs Code
- **Vanilla**:
- Requires raycasting and mouse tracking
- Fully controllable but complex
- **R3F**:
- Hover interaction is simple using `onPointerOver` / `onPointerOut`
- Very intuitive and minimal code
- **Thob**:
- Hover interaction not available
- Click interaction present but did not behave as expected during testing
---
## Key Insight
The builder currently lacks clear support for continuous pointer-based interactions (like hover) and shows limitations in reliably executing event-based visual updates.
---
## Product Perspective
Hover interactions are essential for user feedback (highlighting, selection cues). The absence or instability of such interactions limits the builders ability to create engaging 3D experiences.
---
## Verdict
Strong for **static visual setup**
Limited for **interactive behavior (hover and dynamic feedback)**