2026-04-07 11:12:36 +05:30

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:
    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.