4.4 KiB
4.4 KiB
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:
- Add Perspective Camera component.
- Toggle Make Default.
- Create/prepare buttons for camera presets.
- Attempt to bind button actions to camera property changes.
- 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.