2026-04-07 11:12:52 +05:30

78 lines
4.5 KiB
Markdown

# Builder Notes (Thob) — Task 2: Scene State Switching
## Thob Observations from Task Notes
- **Possible:** Partial
- **Implementation used:** Combinations of object visibility states and Perspective Camera positions, with button-based switching attempts.
- **What worked as expected:**
- Visibility states can be configured for multiple objects.
- Camera position presets can be prepared for different scene views.
- Base scene composition is quick to assemble in the editor.
- **Main limitation observed:**
- One button updating multiple targets (visibility + transforms + camera) is not consistently reliable.
- Updates should happen simultaneously (or fast enough to feel instant), but current behavior can feel staggered/inconsistent.
- Button binding flow remains hard to reason about for multi-prop state orchestration.
- **Builder flow used:**
1. Create scene objects and set initial visibility/transform states.
2. Add Perspective Camera and set target positions per scene state.
3. Add state buttons in UI.
4. Attempt to bind each button to all required prop updates.
5. Validate whether transitions are synchronized and repeatable.
- **Complexity:** Hard
- **Main limitation signals:** Editor UX + Event system + Runtime stability concerns.
- **Workaround status:** Partial workaround only (manual or simplified transitions; full one-click synchronized switching is not dependable yet).
## Console Warnings/Errors Seen (Deduplicated) and Probable Meaning
### warn: `Found both blacklist and siteRules — using siteRules`
- **Type:** Configuration precedence warning.
- **Probable meaning:** Multiple rule sets are available and runtime is choosing one path (`siteRules`).
- **Impact:** Usually low, but indicates overlapping configuration paths.
### warn: `... changing from uncontrolled to controlled` and `RadioGroup is changing from uncontrolled to controlled`
- **Type:** React state-management warning.
- **Probable meaning:** UI controls start with unstable values and later switch to controlled mode.
- **Impact:** Property panel/control behavior can become inconsistent during binding setup.
### warn: `Permissions-Policy header: Unrecognized feature: 'browsing-topics'`
- **Type:** Browser/header compatibility warning.
- **Probable meaning:** Response headers include unsupported policy directives for current browser.
- **Impact:** Low direct impact on scene logic; mostly environment noise.
### warn: `Unchecked runtime.lastError: The message port closed before a response was received`
- **Type:** Browser runtime/extension messaging warning.
- **Probable meaning:** A message channel closed before callback completion.
- **Impact:** Usually non-fatal, but adds noise and can complicate debugging.
### warn: `GetBindingData<id> method already registered` (repeated)
- **Type:** Duplicate registration warning.
- **Probable meaning:** Binding handlers are being registered repeatedly across rerenders/remounts.
- **Impact:** High relevance for this task; can cause duplicate triggers and unreliable button-driven state updates.
### warn: `update-static-component-prop method already registered`
- **Type:** Duplicate update pipeline warning.
- **Probable meaning:** Static prop update handler is attached more than once.
- **Impact:** Can produce repeated writes and non-atomic multi-prop transitions.
### warn: `resetPOI method already registered`
- **Type:** Duplicate command registration warning.
- **Probable meaning:** Camera/POI reset command is mounted multiple times.
- **Impact:** Camera behavior may drift or feel inconsistent during state switching.
### error: `Failed to load resource: 404`
- **Type:** Network/resource error.
- **Probable meaning:** Missing/stale project asset or endpoint.
- **Impact:** Can partially break expected editor/preview behavior.
### error: `THREE.WebGLRenderer: Context Lost`
- **Type:** Graphics runtime error.
- **Probable meaning:** WebGL context dropped due to resource pressure, remount loops, or browser/GPU reset.
- **Impact:** Preview instability can invalidate transition testing.
## Overall Read
- Task 2 concept is achievable in thob at a basic level: visibility and camera state combinations can be authored.
- The key product gap is synchronized execution: one button should apply all linked updates simultaneously, but current binding behavior is not reliably atomic.
- Recurring duplicate-registration warnings strongly match the interaction issues seen during multi-prop button setup.
- Improving binding lifecycle stability and one-click bundled updates should be the highest priority for this task pattern.