Implement Phase 19 updates and user/editor verification

- Updated architectural specifications for Phase 19 scenery, backgrounds, and surface finishes to reflect implementation status and user verification results.
- Revised UI/UX specifications for background ground and wall color, plain background, and starter scene composition to indicate successful implementation and verification.
- Enhanced scenery controller and sandbox stage scripts to improve eraser functionality and user interactions.
- Adjusted test cases to align with the latest changes in scenery and background implementations, ensuring all checks pass successfully.
- Added new buttons for wall area erasure in the scenery capture bar and updated layout handling for better user experience.
This commit is contained in:
2026-10-22 17:02:39 -04:00
parent 59f1817063
commit c6f3930dcb
21 changed files with 179 additions and 183 deletions
+18 -32
View File
@@ -1,42 +1,28 @@
# Phase 19 handoff
Phase 19 is in progress on the local branch `feature/phase-19-scenery`. This is a continuation note for the next work session/computer; the detailed product, UI, and architecture contracts remain in the linked documents below. The branch is local and must be pushed after the reviewed changes are committed before another computer can fetch it.
**Status (2026-10-22): Complete and user/editor verified.** The user verified the integrated Phase 19 behaviors in the editor, including camera-aware Sky details, starter compositions, surface finishes, Plain Background, scenery artwork/depth, furniture behavior, and Plain Background save/reopen. The final `tests/test_phase19_scenery.gd` run passed **706 checks with 0 failures** (Godot exit code 0).
## Current state
The implementation provides Sky and Plain Background choices, editable Plain color, wall panels and background ground, inert Scenery artwork with depth and resize controls, Ground finishes, and four editable New Scene starters. Stage-wide Undo/Redo remains deliberately deferred and is tracked as technical debt. No further Phase 19 implementation or user verification is outstanding.
The integrated feature lets children choose a Sky, place and edit inert Scenery artwork and wall panels, paint Ground finishes, use editable starter scenes, and save/reopen the result. Scenery artwork can be placed Far, Near, or On the floor and resized independently. The Prop Editor has a stickman-relative size guide and reversible size presets for authoring art at a useful scale. Missing artwork remains visible and repairable.
## Verification record
Recent reported editor issues were addressed during Phase 19 iteration, including scene loading, grid snapping/placement previews, starter-scene thumbnails, artwork cursor alignment, wall-panel erasing and tile rendering, scenery size/depth controls, and the scenery chooser's surface-setup flow. Treat those fixes as needing a focused regression pass on the next machine; the user has not completed overall Phase 19 testing. The selected-artwork depth inspector was the latest specifically approved piece.
- **Automated:** `tests/test_phase19_scenery.gd` — 706 PASS checks, 0 failures, exit code 0, Godot 4.7.1. The run used a temporary Windows Roaming AppData location after the default profile path failed during Godot log initialization. Godot also logged a root-certificate-store warning; it did not affect the suite result.
- **User/editor:** The user reports completion of all planned visual and interactive checks across camera-aware Sky, both starter compositions, surface finish resizing/tiling, Plain Background, scenery/artwork, and furniture behavior. The user separately confirmed Plain Background save/reopen. Do not interpret that as a manual save/reopen check for every manifest asset; persistence is additionally covered by automated paths.
- **Test command:**
### Latest bug fix: surface setup chooser visibility (2026-10-19)
The Paint/Brick/Wood wall setup and Carpet background-ground setup previously put the Draw action after the color controls, where it could fall below the visible part of the dialog. In setup mode, the chooser now moves its action row (Cancel + Draw) above the scrollable setup content, compacts the setup layout, limits the popup to the usable screen area, and re-centers after size changes. Look choices and color controls remain scrollable. Outside clicks are blocked from reaching the Stage, and an unexpected popup hide restores the chooser instead of cancelling setup.
The latest focused Godot GUI run of `tests/test_phase19_surface_followup.gd` passed after this change. Its capture showed the Draw action visible for wall and background-ground setup. The test also passed its placement, color, erase, and outside-click scenarios. Captures and logs are in `/private/tmp` on the current Mac and are not repository artifacts.
The chooser fix is currently uncommitted in `scripts/shared/ui/asset_selector.gd`, `scripts/shared/stage_ui/stage_surface_color_controls.gd`, and `scripts/editors/stage/stage_asset_browser.gd`, with related assertions in `tests/test_phase19_surface_followup.gd`. Include these changes and this handoff update in the commit before pushing the branch for the other computer.
Stage-wide Undo/Redo is deliberately out of scope and recorded as technical debt for a separate phase. No new scene save workflow was requested; the current ordinary scene and Prop save flows remain authoritative.
```powershell
& "C:\Godot4\Godot_v4.7.1-stable_win64_console.exe" --headless --path . --script res://tests/test_phase19_scenery.gd
```
## Start here
- [Phase 19 product plan](phase_19_scenery_backgrounds_surface_finishes.md) — child flow, feature scope, content manifest, acceptance criteria, and remaining user checks.
- [Phase 19 architecture and implementation spec](../specs/phase_19_scenery_backgrounds_surface_finishes.md) — runtime/file contracts, Stage-relative sizing amendment, implementation details, and verification expectations.
- [Phase 19 UI/UX spec](../specs/phase_19_scenery_backgrounds_ui_ux.md) — child-facing interaction and reusable UI guidance.
- [Selected Scenery artwork depth spec](../specs/phase_19_selected_artwork_depth_inspector.md) — Far/Near/On the floor inspector behavior.
- [Stage panel UI system](../specs/stage_panel_ui_system.md) — shared in-stage inspector components and visual conventions.
- [Technical debt log](../architecture/tech_debt_and_optimizations.md) — includes deferred Stage Undo/Redo.
- [Phase 19 product plan](phase_19_scenery_backgrounds_surface_finishes.md) — approved scope, starter behavior, asset manifest, and success criteria.
- [Phase 19 architecture specification](../specs/phase_19_scenery_backgrounds_surface_finishes.md) — Stage/file contracts, camera-aware Sky, scenery editing, and acceptance routes.
- [Phase 19 UI/UX specification](../specs/phase_19_scenery_backgrounds_ui_ux.md) — Stage chooser and interaction behavior.
- [Plain Background plan](phase_19_plain_background.md) and [architecture specification](../specs/phase_19_plain_background.md) — solid backdrop, chooser flow, and persistence.
- [Starter composition brief](phase_19_starter_scene_composition.md) and [architecture specification](../specs/phase_19_starter_scene_composition.md) — Town Street and Living Room layouts.
- [Background Ground and Wall Color brief](phase_19_background_ground_and_wall_color.md) — decorative surfaces and shared color behavior.
- [Selected artwork depth specification](../specs/phase_19_selected_artwork_depth_inspector.md) — Far/Near/On the floor inspector behavior.
- [Technical debt log](../architecture/tech_debt_and_optimizations.md) — deferred Stage Undo/Redo.
## Verification entry point
Run the focused Phase 19 suite with Godot 4.7.1 from the repository root:
```powershell
& "C:\Godot4\Godot_v4.7.1-stable_win64_console.exe" --headless --path . --script res://tests/test_phase19_scenery.gd
```
Also run affected compatibility suites when changing shared Stage, Prop, or asset-browser code: `tests/test_phase10_prop_integration.gd`, `tests/test_phase17a_prop_roles.gd`, `tests/test_phase7_palette.gd`, plus the relevant Prop Editor and scene-I/O tests. Headless success is not the final acceptance gate: open the Sandbox Stage in the GUI, exercise the plan's focused scenarios, and inspect the actual rendering. Keep Phase 19 marked in progress until the user's overall editor verification is complete.
## Handoff hygiene
Commit the implementation, production `.prop` assets and `.scene` starters, specifications, handoff/plan/debt updates, test source and required `.uid` metadata, plus relevant regression-test updates. Do not include generated test captures/logs or `tests/godot_test_user_data/` unless a later task explicitly promotes selected evidence into maintained documentation. Review the complete diff before staging; this working tree intentionally remains unstaged and uncommitted for that review.
Phase 19 is complete. Later work should use the linked specifications and keep Stage-wide Undo/Redo in its separate scope.