docs: task1 builder notes

This commit is contained in:
anshk 2026-04-07 11:12:36 +05:30
parent af093fa87a
commit 0fb22a1c6e

View File

@ -0,0 +1,75 @@
# Builder Notes (Thob) — Task 1: Camera Preset Switching
## Thob Observations from Task Notes
- **Possible:** Partial
- **Implementation used:** Perspective Camera component with Make Default toggle, plus attempt to bind UI buttons for preset switching.
- **What worked as expected:**
- Perspective Camera can be set as default view.
- Static/default camera setup is achievable quickly.
- **Main limitation observed:**
- Button-to-camera prop wiring is not intuitive.
- Could not make button interaction fully functional end-to-end for preset switching.
- **Builder flow used:**
1. Add Perspective Camera component.
2. Toggle Make Default.
3. Create/prepare buttons for camera presets.
4. Attempt to bind button actions to camera property changes.
5. Validate if preset switching works reliably.
- **Complexity:** Hard (for interaction wiring), Easy (for static camera setup).
- **Main limitation signals:** Editor UX + Event system + Runtime stability concerns.
- **Workaround status:** Partial workaround only (use default/static camera view; advanced preset switching done outside current builder flow).
## Console Warnings/Errors Seen (Deduplicated) and Probable Meaning
### warn: `Found both blacklist and siteRules — using siteRules`
- **Type:** Configuration precedence warning.
- **Probable meaning:** Two rule sources are present and runtime is choosing one (`siteRules`) over another (`blacklist`).
- **Impact:** Usually not fatal, but indicates potentially conflicting configuration paths.
### warn: `... changing from uncontrolled to controlled` and `RadioGroup is changing from uncontrolled to controlled`
- **Type:** React state-management warning.
- **Probable meaning:** Form/UI controls mount without stable values and later receive controlled values.
- **Impact:** Can cause inspector/control instability and unpredictable panel interactions.
### warn: `Permissions-Policy header: Unrecognized feature: 'browsing-topics'`
- **Type:** Browser/header compatibility warning.
- **Probable meaning:** Response includes an unsupported Permissions-Policy directive.
- **Impact:** Low impact on core scene behavior; mostly environment noise.
### warn: `Unchecked runtime.lastError: The message port closed before a response was received`
- **Type:** Browser runtime/extension messaging warning.
- **Probable meaning:** A message channel closed before callback response.
- **Impact:** Usually low for core feature validation, but adds debugging noise.
### warn: `GetBindingData<id> method already registered` (repeated)
- **Type:** Duplicate registration warning.
- **Probable meaning:** Binding handlers are being attached multiple times (rerender/remount/reconnect path).
- **Impact:** High log noise, risk of duplicated updates, and potential event binding instability.
### warn: `update-static-component-prop method already registered`
- **Type:** Duplicate command/update pipeline warning.
- **Probable meaning:** Static prop update handler is registered repeatedly.
- **Impact:** Can trigger repeated prop writes and inconsistent behavior while testing button bindings.
### warn: `resetPOI method already registered`
- **Type:** Duplicate command registration warning.
- **Probable meaning:** Camera/POI reset handler is attached multiple times.
- **Impact:** Camera control actions may execute more than once and drift state.
### error: `Failed to load resource: the server responded with a status of 404`
- **Type:** Network/resource error.
- **Probable meaning:** Requested asset/resource ID is missing, stale, or unavailable.
- **Impact:** Missing dependencies can break or partially block expected editor behavior.
### error: `THREE.WebGLRenderer: Context Lost`
- **Type:** Graphics runtime error.
- **Probable meaning:** WebGL context dropped due to resource pressure, remount cycles, or browser/GPU reset.
- **Impact:** Preview can freeze/black out, making interaction validation unreliable.
## Overall Read
- Task 1 goal is partially achievable in builder: default camera setup works, but interactive preset switching through button binding remains difficult.
- Logs show a strong pattern of duplicate registration warnings around binding and prop update paths, which aligns with the observed interaction wiring problems.
- UI controlled/uncontrolled warnings and intermittent WebGL/context/network issues further reduce confidence while testing button-driven camera behavior.
- Product priority for this task should focus on reliable action-to-prop binding flow and registration lifecycle cleanup.