105 lines
5.7 KiB
Markdown
105 lines
5.7 KiB
Markdown
# 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.
|