5.7 KiB

Builder Notes (Thob) — Task 3: Duplicate Object / Duplicate Group

Thob Observations from Task Notes

  • Possible: Yes
  • Implementation used: Duplicate shortcut for both single object and grouped structure.
  • What worked as expected:
    • Duplicating a single object creates a visible copy.
    • Duplicating a group also creates a full copied hierarchy.
    • Transforms are preserved at duplication time.
  • Key behavior observed:
    • Both object duplicate and group duplicate behave as copy-paste.
    • Duplicates are independent; no linking/reference relationship is maintained with source.
  • UX quality:
    • Shortcut-based duplication is fast.
    • Missing duplicate mode (linked vs independent) makes behavior limiting for synchronized edits.
  • Builder flow used:
    1. Create base object.
    2. Duplicate object using editor shortcut.
    3. Create grouped hierarchy.
    4. Duplicate the group.
    5. Verify copied transforms/structure and check whether source and duplicate remain linked.
  • Complexity: Medium
  • Main limitation signals: Editor UX + Schema/Data model.
  • Workaround status: Use independent duplicate copies only; no linked duplication path found.

Console Warnings/Errors Seen (Deduplicated) and Probable Meaning

warn: Permissions-Policy header unrecognized feature ('browsing-topics')

  • Type: Browser/header compatibility warning.
  • Probable meaning: Server sends a policy directive unsupported by current browser runtime.
  • Impact: Usually low for duplication behavior; mostly environmental noise.

warn: GetBindingData... method already registered (many IDs)

  • Type: Duplicate registration warning.
  • Probable meaning: Binding handlers are re-registered on rerender/reconnect without cleanup.
  • Impact: High log noise, duplicate callback execution risk, and possible unstable editor reactions.

warn: resetPOI method already registered

  • Type: Duplicate command registration.
  • Probable meaning: Camera/POI command pipeline attached multiple times.
  • Impact: One user action may run multiple times, causing state drift.

warn: update-static-component-prop method already registered

  • Type: Duplicate update-pipeline registration.
  • Probable meaning: Static prop update handlers are mounted repeatedly.
  • Impact: Duplicate writes and inconsistent property panel behavior.

warn: Component changing from uncontrolled to controlled (Popover / RadioGroup / undefined)

  • Type: React form-state warning.
  • Probable meaning: Controls mount with unstable/undefined value and later switch to controlled mode.
  • Impact: UI flicker, unstable inspector controls, and harder-to-trust edit state.

error: THREE.GLTFLoader: Invalid plugin found: missing name

  • Type: Asset loader/plugin configuration error.
  • Probable meaning: GLTF plugin object shape is invalid or missing required metadata.
  • Impact: Import pipeline may partially fail and generate secondary rendering issues.

warn: THREE.MaterialLoader: Undefined texture null

  • Type: Asset/material reference warning.
  • Probable meaning: Material references missing texture slot(s).
  • Impact: Incorrect materials or degraded visual fidelity; usually non-fatal.

info/warn: ReconnectingWebSocket reconnecting/open/syncing/...

  • Type: Transport/sync lifecycle logs.
  • Probable meaning: Session reconnect and state sync handshakes are occurring.
  • Impact: Usually informational, but repeated reconnects can amplify duplicate registration side effects.

error: Cannot read properties of null (reading 'contentWindow')

  • Type: Runtime exception.
  • Probable meaning: Message post attempted against iframe/window not mounted or already disposed.
  • Impact: Preview communication can fail and editor state can desynchronize.

warn: Icon component has been deprecated

  • Type: Deprecation warning.
  • Probable meaning: Legacy UI API still in use.
  • Impact: Low immediate risk; medium future maintenance risk.

error: R3F: Div is not part of the THREE namespace

  • Type: Critical render-tree composition error.
  • Probable meaning: DOM node rendered in R3F scene tree without proper bridge/extension.
  • Impact: Scene subtree can fail rendering, affecting reliability of duplication validation.

error: THREE.WebGLRenderer: Context Lost

  • Type: Graphics runtime error.
  • Probable meaning: WebGL context dropped (resource pressure, repeated remounts, browser/GPU reset).
  • Impact: Canvas interruptions and unreliable editor preview behavior.

error: Failed to load resource: 404

  • Type: Network/resource error.
  • Probable meaning: Asset/resource path missing or stale.
  • Impact: Missing resources can cascade into loader/material warnings.

warn/error: Konva has no node with type ambientLight/meshStandardMaterial/boxGeometry/mesh and layer width/height warnings

  • Type: Renderer mismatch/runtime warnings.
  • Probable meaning: Non-Konva scene nodes are being interpreted in a Konva path; invalid layer size updates applied.
  • Impact: Rendering fallback behavior and layout/render correctness risk.

Overall Read

  • Task objective is functionally reachable in builder: object and group duplication both produce full copies.
  • Behavior is strictly independent copy-paste; no linked duplicate mode is currently available.
  • Transform and structure preservation are acceptable at duplicate time, but advanced synchronized editing workflows are not supported.
  • Console profile indicates substantial runtime/editor noise (duplicate registrations, state-control warnings, renderer/path mismatches), which can reduce confidence in complex scene editing even though basic duplication works.