diff --git a/Week-2/Task-3/thob/notes.md b/Week-2/Task-3/thob/notes.md index e69de29..212c8d6 100644 --- a/Week-2/Task-3/thob/notes.md +++ b/Week-2/Task-3/thob/notes.md @@ -0,0 +1,28 @@ +# Thob Observations: Task 3 - Product Option Switcher + +### Thob Observations from Task Notes +* **Possible**: Yes, implementing a geometric "Product Option" switcher that toggles the visibility of different 3D primitives (Cube/Sphere) via a central UI. +* **Implementation used**: Structured a `RadioGroup` with a `For` loop to generate selection items. The selection state was linked to the `Visible` property of the corresponding Mesh nodes (Cube/Sphere) using conditional logic. +* **What worked as expected**: Instantaneous visibility toggling. The builder engine handles "hiding/showing" meshes smoothly without losing their material or transform data. +* **Main limitation observed**: Managing multiple distinct meshes (instead of just changing a material) increases the complexity of the Layers panel since each option requires its own Mesh node and geometry. +* **Builder flow used**: UI Flex -> RadioGroup -> For Loop -> Visibility Binding on Mesh nodes in the 3D scene. +* **Complexity**: Medium. Requires understanding "Visibility" state-binding and how to map specific Radio IDs to specific object visibility. +* **Main limitation signals**: Cluster of `GetBindingData` redundancy logs and localized **Application Crashes** when interacting with specific primitive geometries like the Cylinder. +* **Workaround status**: Fully native; achieved through standard visibility toggles in the Properties panel. + +### Critical Failures & Application Crashes +* **Geometric Property Crash**: A hard application crash (**Unexpected Application Error**) was observed when modifying properties of the **Cylinder geometry**. + * *Error Trace*: `TypeError: Cannot convert a Symbol value to a number`. This suggests a breakdown in the builder's internal math/conversion logic when handling cylinder-specific parameters. +* **Module Refresh Error**: Occasional failure to fetch dynamically imported modules (`builder._projectId-...js`). + * *Effect*: Breaks the editor's interactive state and requires a full page refresh to recover. + +### Console Warnings/Errors Seen (Deduplicated) and Probable Meaning +1. **Redundant Logic Registration**: `GetBindingData... method already registered`. + * *Probable Meaning*: Triggered by the **For-loop** logic. The engine attempts to re-attach visibility listeners for all objects every time the selection is updated. +2. **GPU Crash**: `THREE.WebGLRenderer: Context Lost`. + * *Probable Meaning*: Rapidly toggling visibility of different geometries appears to tax the memory/context management of the builder's renderer, occasionally leading to a context loss. +3. **Loading Error**: `404 Not Found (builder path)`. + * *Probable Meaning*: Temporary failure to load internal builder thumbnails or non-essential project state files. + +### Overall Read +Task 3 demonstrates that Thob is effective for "Product Discovery" and "Part Selection" workflows where a user might want to swap entire components (like a Sphere for a Cube). While the logic is robust, the high volume of redundant console messages suggests the internal observer system is over-active during visibility state changes.