From 5d3381114d5932c6b9d0429c33c17c7a947dd6ef Mon Sep 17 00:00:00 2001 From: anshk Date: Mon, 30 Mar 2026 20:21:49 +0530 Subject: [PATCH] docs: added builder notes for task 3 --- Week-1/Task-3/builder/BuilderNotes.md | 104 ++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 Week-1/Task-3/builder/BuilderNotes.md diff --git a/Week-1/Task-3/builder/BuilderNotes.md b/Week-1/Task-3/builder/BuilderNotes.md new file mode 100644 index 0000000..9185d60 --- /dev/null +++ b/Week-1/Task-3/builder/BuilderNotes.md @@ -0,0 +1,104 @@ +# 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.