chore: added buildernotes for task2
This commit is contained in:
parent
36a9fbbb09
commit
ecb7fc26fb
141
Week-1/Task-2/builder/BuilderNotes.md
Normal file
141
Week-1/Task-2/builder/BuilderNotes.md
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
# Builder Notes (Thob) — Task 2: Parent-Child-Grandchild Hierarchy
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
- This task extends Task 1 from a 2-level hierarchy (parent-child) to a 3-level hierarchy:
|
||||||
|
- Sun (parent)
|
||||||
|
- Earth (child)
|
||||||
|
- Moon (grandchild)
|
||||||
|
|
||||||
|
## Expected Behavior
|
||||||
|
|
||||||
|
- Moving/scaling Sun should affect Earth and Moon.
|
||||||
|
- Moving/scaling Earth should affect Moon but not Sun.
|
||||||
|
- Moving/scaling Moon should affect only Moon.
|
||||||
|
- Local orbit controls should remain stable when parent transforms change.
|
||||||
|
|
||||||
|
## Evaluation
|
||||||
|
|
||||||
|
### Are transforms predictable?
|
||||||
|
|
||||||
|
- **Observation:** Partially predictable.
|
||||||
|
- **What seems to work:** Basic parent inheritance generally works.
|
||||||
|
- **Risk area:** Multi-level nested local edits can become hard to trust, especially when parent scale and child position both change.
|
||||||
|
|
||||||
|
### Is it easy to reason about local vs inherited motion?
|
||||||
|
|
||||||
|
- **Observation:** Not always.
|
||||||
|
- **Reason:** In the visual editor, it is not always explicit whether a value is local to the selected object or the result of parent inheritance.
|
||||||
|
- **Impact:** Harder debugging when Moon behavior is unexpectedly affected by Sun/Earth changes.
|
||||||
|
|
||||||
|
### Does the builder make hierarchy understandable?
|
||||||
|
|
||||||
|
- **Observation:** Partially.
|
||||||
|
- **Positive:** Creating parent-child links is quick and intuitive.
|
||||||
|
- **Gap:** Understanding final motion in deeper hierarchies needs better transform visibility and clearer hierarchy debugging tools.
|
||||||
|
|
||||||
|
## Builder Flow Used (Task 2)
|
||||||
|
|
||||||
|
1. Create Sun mesh as root object.
|
||||||
|
2. Add Earth as child of Sun.
|
||||||
|
3. Add Moon as child of Earth.
|
||||||
|
4. Validate transform inheritance at each depth level.
|
||||||
|
5. Test local edits on Earth and Moon independently.
|
||||||
|
|
||||||
|
## Main Limitation Signals
|
||||||
|
|
||||||
|
- Editor UX: Limited visibility into local vs world/inherited transform values.
|
||||||
|
- Runtime/Component: Nested transform interactions can be difficult to reason about as hierarchy depth increases.
|
||||||
|
|
||||||
|
## Workaround Attempt
|
||||||
|
|
||||||
|
- Keep transforms simple and incremental.
|
||||||
|
- Test one hierarchy level at a time before combining all levels.
|
||||||
|
- Avoid aggressive parent scaling before child/grandchild positioning is finalized.
|
||||||
|
|
||||||
|
## Suggested Product Improvements
|
||||||
|
|
||||||
|
1. Show explicit local and world transform values side-by-side.
|
||||||
|
2. Add hierarchy debugging mode to highlight inheritance path (Sun -> Earth -> Moon).
|
||||||
|
3. Add transform source indicators (local override vs inherited contribution).
|
||||||
|
4. Improve nested pivot stability when parent scale and child position are both edited.
|
||||||
|
|
||||||
|
## Console Logs from Builder Webpage
|
||||||
|
## Console Warnings/Errors Seen (Deduplicated) and Probable Meaning
|
||||||
|
|
||||||
|
### warn: `No HydrateFallback element provided to render during initial hydration`
|
||||||
|
- **Type:** SSR/CSR hydration warning.
|
||||||
|
- **Probable meaning:** UI expects a fallback during hydration but none is configured.
|
||||||
|
- **Impact:** Can cause temporary blank/flash states and inconsistent first paint in editor panels.
|
||||||
|
|
||||||
|
### warn: `Component is changing from uncontrolled to controlled` (Tabs / Popover / RadioGroup / undefined)
|
||||||
|
- **Type:** React state-management warning.
|
||||||
|
- **Probable meaning:** Components mount with no stable value (`undefined`) and later receive a controlled value.
|
||||||
|
- **Impact:** Property panel controls may behave inconsistently (selection reset, unexpected toggles, unstable form state).
|
||||||
|
|
||||||
|
### warn: `Permissions-Policy header: Unrecognized feature 'browsing-topics'`
|
||||||
|
- **Type:** Browser/header compatibility warning.
|
||||||
|
- **Probable meaning:** Server sends a policy directive not recognized by the current browser.
|
||||||
|
- **Impact:** Usually low for scene behavior; mostly noise unless strict policy handling is required.
|
||||||
|
|
||||||
|
### warn: `GetBindingData... method already registered` (many IDs)
|
||||||
|
- **Type:** Duplicate registration warning.
|
||||||
|
- **Probable meaning:** Binding handlers are registered repeatedly across rerenders/reconnects without cleanup.
|
||||||
|
- **Impact:** High log noise, potential duplicate updates, performance degradation, and confusing transform propagation behavior.
|
||||||
|
|
||||||
|
### warn: `resetPOI method already registered`
|
||||||
|
- **Type:** Duplicate command registration warning.
|
||||||
|
- **Probable meaning:** POI reset handler attached multiple times.
|
||||||
|
- **Impact:** Same action can fire multiple times; camera/selection state may drift.
|
||||||
|
|
||||||
|
### warn: `update-static-component-prop method already registered`
|
||||||
|
- **Type:** Duplicate command registration warning.
|
||||||
|
- **Probable meaning:** Static prop update pipeline is attached repeatedly.
|
||||||
|
- **Impact:** Duplicate property writes and unstable editor state during transform edits.
|
||||||
|
|
||||||
|
### error: `THREE.GLTFLoader: Invalid plugin found: missing name`
|
||||||
|
- **Type:** Asset loader/plugin error.
|
||||||
|
- **Probable meaning:** A GLTF loader plugin is passed with invalid shape or missing `name` field.
|
||||||
|
- **Impact:** Model import/plugin extension paths may fail partially and emit follow-up rendering issues.
|
||||||
|
|
||||||
|
### warn: `THREE.MaterialLoader: Undefined texture null`
|
||||||
|
- **Type:** Material/asset reference warning.
|
||||||
|
- **Probable meaning:** Material expects a texture reference but receives `null`.
|
||||||
|
- **Impact:** Missing/incorrect material rendering; usually non-fatal but degrades visual fidelity.
|
||||||
|
|
||||||
|
### error: `Cannot read properties of null (reading 'contentWindow')`
|
||||||
|
- **Type:** Runtime exception.
|
||||||
|
- **Probable meaning:** Code attempts to post/sync to an iframe/window that is not mounted or already disposed.
|
||||||
|
- **Impact:** Sync/preview communication can break, causing editor-preview mismatch.
|
||||||
|
|
||||||
|
### info/warn: `ReconnectingWebSocket reconnecting/open/syncing/...`
|
||||||
|
- **Type:** Collaboration transport reconnection events.
|
||||||
|
- **Probable meaning:** Socket drops and reconnects, then replays sync steps.
|
||||||
|
- **Impact:** Usually informational, but frequent reconnects correlate with duplicate registration warnings and state churn.
|
||||||
|
|
||||||
|
### warn: `Icon component has been deprecated`
|
||||||
|
- **Type:** Deprecation warning.
|
||||||
|
- **Probable meaning:** Legacy icon API still used in parts of the editor UI.
|
||||||
|
- **Impact:** Low immediate risk; medium future break risk on upgrades.
|
||||||
|
|
||||||
|
### error: `THREE.WebGLRenderer: Context Lost`
|
||||||
|
- **Type:** Graphics runtime error.
|
||||||
|
- **Probable meaning:** WebGL context dropped (resource pressure, repeated remounts, GPU/browser reset).
|
||||||
|
- **Impact:** Canvas can freeze/blank; transform testing becomes unreliable until context restoration.
|
||||||
|
|
||||||
|
### error: `Failed to load resource: 404`
|
||||||
|
- **Type:** Network/resource error.
|
||||||
|
- **Probable meaning:** Requested project/resource ID or asset URL is missing/stale.
|
||||||
|
- **Impact:** Missing resources can trigger secondary loader/material warnings and broken scene state.
|
||||||
|
|
||||||
|
### error: `R3F: Div is not part of the THREE namespace`
|
||||||
|
- **Type:** Critical scene composition/runtime error.
|
||||||
|
- **Probable meaning:** A DOM element (`Div`) was rendered inside the R3F scene tree without proper bridging/extension.
|
||||||
|
- **Impact:** Can fail rendering subtree, break scene updates, and invalidate hierarchy behavior testing.
|
||||||
|
|
||||||
|
## Overall Read
|
||||||
|
|
||||||
|
- Console output indicates significant editor/runtime instability beyond normal warning noise.
|
||||||
|
- Duplicate handler registration and uncontrolled/controlled state transitions are the dominant recurring signals.
|
||||||
|
- Rendering pipeline errors (`R3F Div`, `Context Lost`, loader/material issues) likely amplify unpredictability in parent-child-grandchild transform behavior.
|
||||||
|
- This log profile supports the Task 2 conclusion: hierarchy setup is possible, but transform predictability and local-vs-inherited reasoning are only partially reliable in current builder conditions.
|
||||||
Loading…
x
Reference in New Issue
Block a user