docs: finalize task-2 comparison report and capability mapping
This commit is contained in:
parent
17069ca8b8
commit
91d55fdc90
@ -1,60 +1,74 @@
|
||||
# Task: [Feature Name]
|
||||
# Task 2 Report: [Texture / Visual Surface Change]
|
||||
|
||||
## Objective
|
||||
What is the feature trying to do?
|
||||
Apply a texture or change the surface appearance of an object interactively.
|
||||
|
||||
## Vanilla three.js
|
||||
-Possible: Yes / Partial / No
|
||||
-Notes:
|
||||
-Key concepts:
|
||||
-Complexity: Easy / Medium / Hard
|
||||
## Vanilla Three.js
|
||||
- Possible: **Yes**
|
||||
- Notes: Requires using `TextureLoader` to load assets and manually assigning the texture to the material's `map` property.
|
||||
- Key concepts: `THREE.TextureLoader`, `Asset URL Management`, `Material Map`.
|
||||
- Complexity: **Easy but verbose** (Needs explicit code for every asset loader).
|
||||
|
||||
## R3F
|
||||
-Possible: Yes / Partial / No
|
||||
-Notes:
|
||||
-What R3F abstracted:
|
||||
-Complexity: Easy / Medium / Hard
|
||||
- Possible: **Yes**
|
||||
- Notes: Highly efficient. The `useLoader` hook (with `TextureLoader`) handles asset loading declaratively and integrates with React Suspense.
|
||||
- What R3F abstracted: `Loading callbacks`, `Declarative asset loading`, `Suspense integration`.
|
||||
- Complexity: **Easy** (Very concise, 1-2 lines of code).
|
||||
|
||||
## Thob Page Builder
|
||||
-Possible: Yes / Partial / No
|
||||
-Notes:
|
||||
-Builder steps:
|
||||
-Complexity: Easy / Medium / Hard
|
||||
- Possible: **Yes**
|
||||
- Notes: **Significantly faster** than code-based approaches for simple asset application. You simply select a file or link a URL in the UI, and the mesh updates instantly.
|
||||
- Builder steps: `Canvas > Mesh > Material > Map > Browse/URL`.
|
||||
- Complexity: **Minimal** (Completely No-Code).
|
||||
|
||||
## Comparison Summary
|
||||
-Possible in all 3? Yes / Partial / No
|
||||
- Possible in all 3? **Yes**.
|
||||
- Key abstraction difference:
|
||||
- Vanilla = imperative asset handling
|
||||
- R3F = declarative asset loading
|
||||
- Thob = UI-driven asset configuration
|
||||
|
||||
- Main differences:
|
||||
-Where Thob is better:
|
||||
- **Vanilla**: Gives full control, but requires several lines of code for a single texture.
|
||||
- **R3F**: The fastest way to write complex texture logic with simple code.
|
||||
- **Thob**: The fastest overall for visual users. No code required for initial mapping.
|
||||
|
||||
- Where Thob is better: **Applying a visual asset that you already have.**
|
||||
|
||||
- Where Thob is weaker:
|
||||
- **Asset error handling**. When a texture fails (like CORS/404 errors), it’s harder to debug than in code.
|
||||
- **Limited flexibility for complex material setups**. Applying different textures to different faces of a single object is not straightforward compared to code-based approaches.
|
||||
|
||||
- What feels awkward or unclear:
|
||||
- The CORS issues for external assets make it difficult to link textures that aren't already in the Thob library.
|
||||
|
||||
## Limitation Type (if any)
|
||||
- [ ] Editor UX limitation
|
||||
-[ ] Runtime limitation
|
||||
- [x] Runtime limitation (CORS/URL fetching)
|
||||
- [ ] Schema / data model limitation
|
||||
- [ ] Component limitation
|
||||
- [ ] Event system limitation
|
||||
-[ ] Asset pipeline limitation
|
||||
- [ ] Property binding limitation
|
||||
- [x] Asset pipeline limitation
|
||||
- [ ] Unknown / needs investigation
|
||||
|
||||
## Workaround
|
||||
-Is there a workaround?
|
||||
-If yes, what is it?
|
||||
- Is there a workaround? **Yes**. Ensure all assets are uploaded directly to the Thob project rather than linking from external URLs to avoid CORS blocks.
|
||||
|
||||
## Suggested Improvement
|
||||
-What should improve in Thob?
|
||||
- What should improve in Thob? **Improve the asset importer** to handle external URL fetching with a proxy to avoid CORS blocks. Provide more descriptive "Map Loading" feedback in the UI.
|
||||
- Is it:
|
||||
-editor
|
||||
-runtime
|
||||
-component
|
||||
-UX
|
||||
-schema/data
|
||||
- editor (Yes)
|
||||
- runtime (Yes)
|
||||
- component (No)
|
||||
- UX (Yes)
|
||||
- schema/data (Yes)
|
||||
|
||||
## Difficulty Estimate
|
||||
-Easy / Medium / Hard
|
||||
- **Easy**
|
||||
|
||||
## Business Value
|
||||
-Low / Medium / High
|
||||
- **High** (Asset application is a core part of 3D design workflows).
|
||||
|
||||
## Recommendation
|
||||
Should Thob support this better? Why?
|
||||
Thob is already **strong** in texture application. The speed advantage over R3F and Vanilla is clear for visual workflows. To make it production-ready, it should improve external asset handling and support more flexible material configurations.
|
||||
Loading…
x
Reference in New Issue
Block a user