4.5 KiB
4.5 KiB
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:
- Create scene objects and set initial visibility/transform states.
- Add Perspective Camera and set target positions per scene state.
- Add state buttons in UI.
- Attempt to bind each button to all required prop updates.
- 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.