5.7 KiB
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:
- Create base object.
- Duplicate object using editor shortcut.
- Create grouped hierarchy.
- Duplicate the group.
- 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.