- 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.
40 KiB
Phase 19 — Scenery, Backgrounds, and Vector Surface Finishes
Status (2026-10-22): Phase 19 implementation and user/editor verification are complete. The user verified the integrated Sky, starter compositions, surface finishes, Plain Background, Scenery artwork, and furniture behavior in the editor, including Plain Background save/reopen. The Phase 19 scenery suite passes 706 checks with 0 failures. Stage-wide Undo/Redo remains deferred. The later Plain Background addendum adds Plain Background and renames the original neutral-Sky Blank Scene choice Open Sky; see the Phase 19 handoff for the verification record. Audience: UI/UX, architecture, implementation, and art contributors. Purpose: Define the child experience and the content required for indoor and outdoor sets. Rendering, file contracts, and GDScript APIs belong in later specifications.
Goal and audience
Give children a quick way to make a Stage feel like a place: a town street, a living room, or their own setting. They should be able to choose an appealing sky, dress a scene with inert vector artwork, paint visual wall and Ground finishes, and then direct characters among ordinary props. The art remains crisp when the Stage camera pans or zooms.
The audience is a child using the Sandbox Stage's EDIT, DIRECT, and PLAY modes. The central distinction should be easy to learn: Scenery looks and stays put; Props can be part of the action; Ground is where stickmen walk. An artwork asset can be used in more than one role; the Stage placement choice gives that copy its behavior.
Desired child outcome and story value
- Start with Blank Scene, Town Street, or Living Room, then change any ordinary part of the starter instead of being locked into one background picture.
- Build a layered outdoor set: cloudy sky, distant skyline, nearer shops and trees, sidewalk, and road. Characters remain readable and can move on the Ground.
- Build an indoor set: painted wall, window, wall decorations, wood floor, rug, and furniture. A child can change the Sky seen through the starter's window without recoloring the room.
- Use Far, Near, and On the floor scenery to express distance and staging without giving scenery collision or interactions. A child may draw a tree once and place it as either Scenery or a Prop in different scenes.
- Save, reopen, revise, and replay the scene without losing the selected finishes, sky, artwork, or depth choices.
The feature helps children establish story mood and place before directing dialogue and action. Sky and set dressing are visual choices. Functional doors, upper floors, and whole-scene color filters remain separate story mechanics.
Child flow and feedback
Start a scene
File → New shows three large illustrated choices: Blank Scene, Town Street, and Living Room. The existing unsaved-work flow protects the current scene before any choice replaces it. Cancel returns to the existing work. A starter opens as a new unsaved scene with an editable suggested name; it does not insert itself into another scene or create a locked template instance.
| New Scene choice | Initial composition | Child can change |
|---|---|---|
| Blank Scene | Empty Stage with the existing neutral background and no placed Ground. | Sky, Scenery, Ground, characters, and Props from scratch. |
| Town Street | Cloudy Day Sky; muted skyline in Far; colorful storefront, house, and tree artwork in Near; walkable Sidewalk and Asphalt Ground. | Sky, skyline strip, individual near artwork, Ground pieces and finishes, plus any added cast or Props. A skyline strip is one artwork placement, not independently editable buildings inside it. |
| Living Room | Clear Day Sky; green painted wall panels around a window opening; Near window frame, fireplace/mantel, clock, shelf/books, picture, and plant; Wood Ground; an On the floor rug; couch, armchair, and coffee-table Props. | Every panel, artwork placement, rug, Ground piece, and furniture Prop. The wall panels leave an intentional gap beneath the window frame, so the selected Sky is actually visible. Moving or resizing the window and wall pieces may require adjusting more than one piece; this phase has no automatic window-cutting tool. |
The starters demonstrate what children can make with the normal tools. Furniture in Living Room starts still with sensible blocking/support behavior where appropriate; the starter does not imply that characters can sit. A short cue may point children to Scenery after a starter opens, without covering the Stage.
Open Scenery
The Stage palette gains Scenery. Its chooser has Backgrounds and Artwork:
Scenery
[ Backgrounds ] [ Artwork ]
Backgrounds: [ Sky ] [ Wall panel ]
Artwork: [ All artwork ] [ Nature ] [ Buildings ] [ Walls ]
[ Roads & paths ] [ Objects ]
The Artwork choices use large previews. The tag filters describe the drawing, not what it can do. The built-in, optional, multi-select tag IDs are nature, buildings, walls, roads, and objects; the child-facing labels above can be refined without changing the stored meaning. One drawing may appear in several categories. All artwork includes old and untagged work; Unsorted can appear when there is untagged artwork to show. The same tags can filter the Props browser. The Props and Scenery entry points remain visibly distinct so children do not have to turn off interaction settings for every background item.
The existing vector Prop Editor and .prop assets supply user-created artwork. Phase 19 should make that art discoverable from Scenery, including artwork that has no usable collision hull. There is no separate Scenery Editor or .scenery format in this phase. A later child-facing name such as Artwork Editor may better describe its broadened use; the UI/UX specification should decide how much prop-only material and attachment controls are shown during scenery authoring.
Choose a Sky
Backgrounds → Sky shows four designed thumbnail cards: Clear Day, Cloudy Day, Sunset, and Starry Night. One tap changes the scene's Sky, and choosing another card changes it again. A Sky fills every camera view without an exposed edge. Its gradient stays fixed to the screen while its clouds, sun, moon, and stars respond gently to camera pan and zoom as described in the camera-aware Sky details addendum. Each preset should be a considered composition rather than a flat color with an obvious repeated icon.
Changing Sky changes only the sky. It never tints or recolors Ground, wall panels, scenery artwork, characters, or Props. Sky is selected through its chooser, not by clicking a giant rectangle on the Stage.
Camera-aware Sky details addendum
Goal and audience. A child making an outdoor scene should see a Sky that feels distant without making their Ground and stickman appear to float among oversized clouds. This applies when a child chooses any of the four Phase 19 Sky presets, frames a shot in EDIT or DIRECT, and watches it in PLAY.
Child flow. The child chooses a Sky as before, places walkable Ground and a stickman, then pans or zooms the Stage camera. The Sky gradient continues to fill the entire view. Clouds and celestial details shift gently with camera movement and change size modestly with camera zoom, so the composition feels connected to the shot while staying distant. The child does not set a motion mode, slider, or per-scene option. Switching presets applies that preset's tuned response automatically. The same view is reproduced after saving and reopening the scene at its saved camera framing.
Visual behavior. Each preset keeps its distinctive color and motifs, with detail size and placement tuned to leave clear space around characters and Ground at ordinary framing. Camera response is bounded and smooth: no visible Sky edge, abrupt jump, distracting sweep, or cloud that grows to dominate the action during normal pan and zoom. The gradient remains screen-filling and fixed; only Sky details respond. EDIT, DIRECT, and PLAY use the same camera-relative composition. The chosen Sky remains decorative and never changes the color, collision, or movement of any world object.
Horizon and Ground. The Sky does not draw a horizon or a ground line. A child who wants land behind the playable area uses the existing world-anchored Background ground scenery surface, placed behind walkable Ground. This keeps a visible landscape edge aligned with the scene as the camera moves. Softer contours, automatic edge blending, and easier horizon construction remain the separate backdrop horizon and edge treatment idea; this addendum does not define or ship those tools.
Success criteria. At ordinary and representative close/wide camera views, a character on Ground reads as being in front of the Sky rather than inside a cloud. Panning and zooming each preset gives a perceptible but subtle response without revealing an edge or obscuring the action. The same camera framing reproduces the same Sky composition after a mode change, PLAY/stop cycle, or save/reopen, and the composition adapts coherently to a resized viewport. A Background ground surface and walkable Ground stay aligned with each other while Sky details respond behind them. Sky chooser previews still identify the four looks and do not imply that the child must configure camera behavior.
Scope and handoff. This is a Phase 19 visual-behavior addition for the four existing Sky presets. It preserves the existing Sky choice and screen-filling gradient. It excludes autonomous cloud/weather animation, a child-facing motion control, a Sky-ground horizon, multi-layer parallax scenery, and changes to terrain physics or Background ground placement. UI/UX and architecture should resolve how much pan/zoom response is comfortable for each preset and how the view stays composed at viewport extremes. Relevant current references are scripts/stage/scenery/stage_sky_view.gd, scripts/editors/stage/sandbox_stage.gd, scripts/stage/scenery/stage_background_ground.gd, the Phase 19 Sky UI/UX specification, and the Background Ground and Wall Color plan. Those earlier specifications describe the original static behavior and need a focused follow-up before implementation.
Draw a wall panel
Backgrounds → Wall panel offers Paint, Brick, and Wood finishes with a color choice. The child chooses a finish, drags from one corner to the other, sees a translucent preview of the intended size and pattern, and releases to place a finite rectangular panel. Snap may help edges meet. A selected panel can later be moved, resized, recolored, restyled, or erased; changing one panel does not silently alter others.
The child-facing explanation should make its role clear: “Looks like a wall. Stickmen can pass through.” A wall panel is world-anchored backdrop art. It does not block a stickman, support a prop, move under physics, respond to Use, or trigger rules. A solid wall belongs to terrain or a later structural feature. When a panel grows, bricks or boards retain a sensible world-scale motif rather than stretching a small image.
Place and edit artwork
The child opens Artwork, chooses a tag such as Nature, taps a drawing such as Tree, sees a ghost over the Stage, and taps to place it. Each Scenery placement offers a simple illustrated depth choice: Far, Near (default), or On the floor. Far supports distant silhouettes such as a skyline. Near supports storefronts, trees, window frames, and wall decor. On the floor supports rugs and markings that sit over finished Ground but under action. A child can change the depth later. Artwork placed through Scenery stays fixed and inert even if the same .prop can also be placed through Props as an interactive object.
The authoritative visual order is:
Sky
→ wall panels
→ Far scenery artwork
→ Near scenery artwork
→ walkable Ground
→ On the floor scenery artwork
→ characters and interactive Props (retaining their existing relative depth choices)
Every Scenery tier is visual only. Its depth never grants collision, support, pickup, Use spots, or event participation. An On the floor rug is visible above a wood Ground finish without covering furniture or the character's feet.
Edit Scenery exposes the scenery pieces for selection. A clear outline and large handles let the child move and resize art, change its depth, or erase it; a wall panel also exposes Finish and Color. Broad panels must not steal clicks or box selections from characters, Ground, and Props in ordinary EDIT. Within Edit Scenery, a cutout in front of a panel should be easy to choose, and the panel must still be reachable through its exposed area, edge, or an overlapping-items choice. A selected wall panel also offers Erase wall area: drag a rectangle to remove that area from one or more wall panels while keeping the surrounding pieces and their finish. This is a manual visual cutout; it does not create glass, collision, or doorway behavior. Each released cut is immediate; Cancel/Escape/right-click discard only the current drag, and Stage Undo remains deferred to its own future phase. Sky remains in its own chooser. Placement and group-resize previews have visible Cancel actions. A single-piece move or resize previews during its direct-manipulation gesture and commits on release; while the gesture is active it can be canceled through the capture bar (touch), Escape, or right-click. There is no second Keep confirmation. Leaving Edit Scenery returns to ordinary selection. Selection and focus cannot rely on color alone.
Finish Ground and play
The existing Ground palette entry gains a visual finish chooser. Picture swatches include Paint, Brick, Wood, Grass, Dirt, Sidewalk, and Asphalt. Paint, Brick, and Wood share recognizable names/previews with Wall panel where applicable; Ground-only outdoor finishes need not appear in the wall picker. Tap for one Ground piece or use the existing drag-paint gesture for a run. Ghosts show the selected look. A new choice affects new placements only. Selecting an existing Ground piece lets the child deliberately change that piece's finish. Adjacent painted pieces should read as one continuous surface, especially wood floors, sidewalks, and roads.
Ground remains solid and walkable. This phase gives finishes only to Ground; it does not redesign or restyle Ramp and Step. Children can use Sidewalk and Asphalt Ground in Town Street and Wood Ground in Living Room. A Scenery wall panel or road marking never becomes a movement surface.
In PLAY, edit handles and placement ghosts disappear. Scenery stays put; Sky details respond gently to camera pan and zoom under the same rules as EDIT and DIRECT. Characters move on Ground; Props follow their own saved behavior settings. Stopping PLAY restores the authored arrangement for another take. Story playback and camera movement should preserve the intended visual layer order and the child's view of the action.
Included scope and exclusions
Included in Phase 19: one chosen scene-wide Sky with a screen-filling fixed gradient and gentle automatic camera-aware details; four initial Sky designs; finite editable wall panels with manually erasable rectangular openings; inert .prop Scenery placements with Far, Near, and On the floor depth; built-in multi-select browse tags; Ground-only visual finishes; editable Blank/Town Street/Living Room New Scene choices; Scenery-safe selection; scene save/reopen and legacy defaults; built-in vector content listed below; and a stage-relative size-authoring guide/workflow shared by Props and Scenery artwork, with single Scenery artwork placements resizable independently in Edit Scenery. The new authoring convention does not silently rescale existing assets or saved placements.
Excluded from Phase 19: a new Scenery Editor or .scenery file; child-authored repeatable finish patterns or reusable whole-Sky themes; autonomous weather animation, multi-layer parallax scenery, or directed Sky transitions; whole-scene filters such as sepia or black-and-white; functional doors or scene travel; automatic window cutouts or glass; Ramp/Step finishes or terrain redesign; inserting a starter into an existing scene; user-authored reusable set templates; and functional stairs or multi-level travel. Multi-level walkable scenes and whole-scene visual filters are separate future ideas, not Phase 19 work.
Asset production manifest
This is the authoritative content checklist for the two starters and the shared pickers. The initial status of every row was Needed. Progress through Needed → Concept ready → Art approved → Final vector ready → Integrated → Verified. Following user approval on 2026-10-15, the approved .prop vectors, Sky themes, and finishes are integrated into the production Stage, shared picker, and starter scenes. The complete manifest now records production integration, automated verification, and user/editor visual verification completed on 2026-10-22. The user also verified Plain Background save/reopen; this does not claim a manual save/reopen check for every manifest item. A raster sketch may reach Concept ready; it is not a final .prop, Sky theme, or repeatable vector finish. Final cutouts must be repo-native vector/.prop artwork, and Sky/finish visuals must remain crisp through Stage zoom. Art contributors may use raster concept images as reference, then produce final assets in coordination with implementation.
In the tables, TBD in Source/rights means the creator, reference provenance, and license or permission still need recording. TBD in Final location and Evidence means those fields must be filled as content is produced. For each row, validation evidence should include a thumbnail or Sky/finish preview, the asset in the Stage at normal and zoomed views, and save/reopen of its starter use where applicable. Stable IDs identify deliverables; they are not prescribed file names or runtime contracts.
Adaptive Sky themes
The Verified statuses below describe the production Sky artwork and picker, including the camera-aware detail behavior. The user completed editor visual verification on 2026-10-22.
| Stable ID | Class / final format | Tags / default layer | Starter use | Behavior / collision | Status | Source / rights | Visual acceptance | Final location / definition | Validation evidence |
|---|---|---|---|---|---|---|---|---|---|
sky_clear_day |
Adaptive vector Sky theme; not .prop |
N/A; Sky | Living Room; picker | Scene-wide; camera-aware details; none | Verified | Original vector concept | Appealing blue depth and varied light cloud/sun detail; window gap reads clearly; no edge on pan. | scripts/stage/scenery/stage_sky_view.gd |
Production card and Living Room Stage render inspected: tests/phase19_visual_background_gallery.png, tests/phase19_visual_living_room.png; user/editor visual verification completed 2026-10-22. |
sky_cloudy_day |
Adaptive vector Sky theme; not .prop |
N/A; Sky | Town Street; picker | Scene-wide; camera-aware details; none | Verified | Original vector concept | Layered, varied clouds leave town silhouettes readable; no obvious tile or edge. | scripts/stage/scenery/stage_sky_view.gd |
Production card and Town Street Stage render inspected: tests/phase19_visual_background_gallery.png, tests/phase19_visual_town_street.png; user/editor visual verification completed 2026-10-22. |
sky_sunset |
Adaptive vector Sky theme; not .prop |
N/A; Sky | Picker | Scene-wide; camera-aware details; none | Verified | Original vector concept | Warm atmospheric color and sun/cloud composition remain distinct from Clear Day without tinting scene objects. | scripts/stage/scenery/stage_sky_view.gd |
Production card and Stage render inspected: tests/phase19_visual_background_gallery.png, tests/phase19_visual_finishes_and_repair.png; user/editor visual verification completed 2026-10-22. |
sky_starry_night |
Adaptive vector Sky theme; not .prop |
N/A; Sky | Picker | Scene-wide; camera-aware details; none | Verified | Original vector concept | Dark graduated sky, varied stars, and moon remain legible while foreground contrast survives. | scripts/stage/scenery/stage_sky_view.gd |
Distinct production gallery preview inspected: tests/phase19_visual_background_gallery.png; full Stage/editor visual verification completed 2026-10-22. |
Repeatable vector surface finishes
These are finish definitions and previews, not ordinary Props. Ground finishes change appearance without changing Ground's walkability; wall finishes stay inert.
| Stable ID | Class / final format | Tags / default layer | Starter use | Behavior / collision | Status | Source / rights | Visual acceptance | Final location / definition | Validation evidence |
|---|---|---|---|---|---|---|---|---|---|
finish_wall_paint |
Vector wall finish | N/A; wall panel | Living Room; picker | Inert panel; none | Verified | Original vector concept | Smooth green room wall and other chosen colors without seams at panel edges. | scripts/stage/scenery/stage_surface_renderer.gd |
Production gallery preview and Living Room render inspected: tests/phase19_visual_background_gallery.png, tests/phase19_visual_living_room.png; user/editor visual verification completed 2026-10-22. |
finish_wall_brick |
Repeatable vector wall finish | N/A; wall panel | Picker | Inert panel; none | Verified | Original vector concept; user image used as inspiration for v2 | Bricks keep coherent size and joins as panel is resized. | scripts/stage/scenery/stage_surface_renderer.gd |
Production gallery preview and Stage wall render inspected: tests/phase19_visual_background_gallery.png, tests/phase19_visual_finishes_and_repair.png; user/editor visual verification completed 2026-10-22. |
finish_wall_wood |
Repeatable vector wall finish | N/A; wall panel | Picker | Inert panel; none | Verified | Original vector concept | Boards read as wood at common Stage zoom and do not stretch with the panel. | scripts/stage/scenery/stage_surface_renderer.gd |
Production gallery preview inspected: tests/phase19_visual_background_gallery.png; user/editor visual verification completed 2026-10-22. |
finish_ground_paint |
Vector Ground finish | N/A; Ground | Picker | Solid, walkable Ground | Verified | Original vector concept | Plain color is clean and visually distinct from wall-only backdrop. | scripts/stage/scenery/stage_surface_renderer.gd |
Production Ground renderer is integrated with Stage; Phase 19 runtime suite passed; user/editor visual verification completed 2026-10-22. |
finish_ground_brick |
Repeatable vector Ground finish | N/A; Ground | Picker | Solid, walkable Ground | Verified | Original vector concept | Neighboring pieces form a continuous brick surface. | scripts/stage/scenery/stage_surface_renderer.gd |
Production Ground renderer is integrated with Stage; Phase 19 runtime suite passed; user/editor visual verification completed 2026-10-22. |
finish_ground_wood |
Repeatable vector Ground finish | N/A; Ground | Living Room; picker | Solid, walkable Ground | Verified | Original vector concept | Wood plank floor reads continuously beneath rug and furniture. | scripts/stage/scenery/stage_surface_renderer.gd |
Production Living Room scene and Ground renderer integrated; Phase 19 runtime suite passed; user/editor visual verification completed 2026-10-22. |
finish_ground_grass |
Repeatable vector Ground finish | N/A; Ground | Picker | Solid, walkable Ground | Verified | Original vector concept | Grassy surface is readable and not noisy behind feet. | scripts/stage/scenery/stage_surface_renderer.gd |
Production Ground render inspected: tests/phase19_visual_finishes_and_repair.png; runtime suite passed; user/editor visual verification completed 2026-10-22. |
finish_ground_dirt |
Repeatable vector Ground finish | N/A; Ground | Picker | Solid, walkable Ground | Verified | Original vector concept | Earthy surface remains distinct from Grass at thumbnail and Stage size. | scripts/stage/scenery/stage_surface_renderer.gd |
Production Ground renderer is integrated with Stage; Phase 19 runtime suite passed; user/editor visual verification completed 2026-10-22. |
finish_ground_sidewalk |
Repeatable vector Ground finish | N/A; Ground | Town Street; picker | Solid, walkable Ground | Verified | Original vector concept | Light concrete sidewalk forms a broad, aligned run beneath shops. | scripts/stage/scenery/stage_surface_renderer.gd |
Town Street starter load and runtime suite passed; user/editor visual verification completed 2026-10-22. |
finish_ground_asphalt |
Repeatable vector Ground finish | N/A; Ground | Town Street; picker | Solid, walkable Ground | Verified | Original vector concept | Darker road contrasts with sidewalk while preserving visible character edges. | scripts/stage/scenery/stage_surface_renderer.gd |
Town Street starter load and runtime suite passed; user/editor visual verification completed 2026-10-22. |
Reusable Scenery artwork
Each item below is a .prop vector artwork asset offered through Scenery. Its Scenery placement has no collision or interaction even if the artwork is also available through Props. Final visual-only art must not require an invented solid collision shape merely to enter the Scenery catalog.
| Stable ID | Class / final format | Tags / default layer | Starter use | Behavior / collision | Status | Source / rights | Visual acceptance | Final location / definition | Validation evidence |
|---|---|---|---|---|---|---|---|---|---|
art_city_skyline |
Vector .prop cutout |
Buildings; Far | Town Street ×1 | Inert; none | Verified | Original vector art | Long, muted overlapping building silhouette reads as distant and leaves cloud sky visible. | content/props/art_city_skyline-v1.prop |
Town Street production Stage render inspected: tests/phase19_visual_town_street.png; save/reopen suite passed; user/editor visual verification completed 2026-10-22. |
art_storefront |
Vector .prop cutout |
Buildings; Near | Town Street ×1 or more | Inert; none | Verified | Original vector art | Colorful, readable shop front contrasts with skyline; repeat use does not look like one flat strip. | content/props/art_storefront-v1.prop |
Town Street production Stage render inspected: tests/phase19_visual_town_street.png; save/reopen suite passed; user/editor visual verification completed 2026-10-22. |
art_town_house |
Vector .prop cutout |
Buildings; Near | Town Street ×1 or more | Inert; none | Verified | Original vector art | House silhouette and palette differ clearly from storefront at normal zoom. | content/props/art_town_house-v1.prop |
Town Street production Stage render inspected: tests/phase19_visual_town_street.png; save/reopen suite passed; user/editor visual verification completed 2026-10-22. |
art_tree |
Vector .prop cutout |
Nature; Near | Town Street ×2 or more | Inert; none | Verified | Original vector art; user image used as inspiration for v2 | Friendly, readable crown/trunk; repeated copies tolerate size and position variation. | content/props/art_tree-v2.prop |
Revised v2 tree inspected in Town Street and repair view: tests/phase19_visual_town_street.png, tests/phase19_visual_finishes_and_repair.png; user/editor visual verification completed 2026-10-22. |
art_window_frame |
Vector .prop cutout |
Walls, Buildings; Near | Living Room ×1 | Inert; none | Verified | Original vector art | Frame is transparent at its center and aligns over the wall-panel gap to reveal actual Sky. | content/props/art_window_frame-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; save/reopen suite passed; user/editor visual verification completed 2026-10-22. |
art_fireplace_mantel |
Vector .prop cutout |
Walls, Objects; Near | Living Room ×1 | Inert; none | Verified | Original vector art | Fireplace and mantel read clearly as decoration without suggesting this asset itself blocks movement. | content/props/art_fireplace_mantel-v2.prop |
Revised v2 fireplace inspected in Living Room: tests/phase19_visual_living_room.png; user/editor visual verification completed 2026-10-22. |
art_wall_clock |
Vector .prop cutout |
Walls, Objects; Near | Living Room ×1 | Inert; none | Verified | Original vector art | Clock reads at room scale without tiny illegible markings. | content/props/art_wall_clock-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; user/editor visual verification completed 2026-10-22. |
art_bookshelf |
Vector .prop cutout |
Objects, Walls; Near | Living Room ×1 | Inert; none | Verified | Original vector art | Shelf, books, and plant details remain legible without dense tracing. | content/props/art_bookshelf-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; user/editor visual verification completed 2026-10-22. |
art_framed_picture |
Vector .prop cutout |
Objects, Walls; Near | Living Room ×1 or more | Inert; none | Verified | Original vector art | Clear frame and image contrast on green paint; reuse can vary size/position. | content/props/art_framed_picture-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; user/editor visual verification completed 2026-10-22. |
art_potted_plant |
Vector .prop cutout |
Nature, Objects; Near | Living Room ×1 | Inert; none | Verified | Original vector art | Leaf and pot shapes remain distinct from wall and furniture. | content/props/art_potted_plant-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; user/editor visual verification completed 2026-10-22. |
art_rug |
Vector .prop cutout |
Objects; On the floor | Living Room ×1 | Inert; none | Verified | Original vector art | Visible over Wood Ground and below furniture/feet; border survives zoom. | content/props/art_rug-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; starter runtime suite passed; user/editor visual verification completed 2026-10-22. |
Interactive furniture Props
These are .prop assets placed through Props in Living Room. Their authored shape and placement roles must support the stated behavior. The same artwork may still be offered as inert Scenery when deliberately placed through Scenery.
| Stable ID | Class / final format | Tags / default layer | Starter use | Behavior / collision | Status | Source / rights | Visual acceptance | Final location / definition | Validation evidence |
|---|---|---|---|---|---|---|---|---|---|
prop_couch |
Vector .prop furniture |
Objects; Prop depth per placement | Living Room ×1 | Still, appropriately character-blocking; valid collision | Verified | Original vector art | Comfortable couch silhouette sized for stickman and room; no implied Sit action. | content/props/prop_couch-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; prop integration regression available; user/editor visual verification completed 2026-10-22. |
prop_armchair |
Vector .prop furniture |
Objects; Prop depth per placement | Living Room ×1 | Still, appropriately character-blocking; valid collision | Verified | Original vector art | Distinct chair silhouette, matching couch style and character scale. | content/props/prop_armchair-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; prop integration regression available; user/editor visual verification completed 2026-10-22. |
prop_coffee_table |
Vector .prop furniture |
Objects; Prop depth per placement | Living Room ×1 | Still, can support small props; valid collision | Verified | Original vector art | Tabletop/support reads clearly and leaves rug visible. | content/props/prop_coffee_table-v1.prop |
Living Room production render inspected: tests/phase19_visual_living_room.png; prop integration regression available; user/editor visual verification completed 2026-10-22. |
Existing built-in crate and ball artwork may be used in Town Street if an interactive object benefits that starter; no new interactive town asset is required to achieve its visual reference. The artist should establish a coherent cartoon style and author each asset at its intended Stage size relative to the standard approximately 940-world-unit standing stickman. Infer ordinary dimensions from a recognizable object's name and use, and record approximate intended bounds in stickman units (height, plus width when useful) with a scale-check preview; ask only when the intended use makes size genuinely ambiguous. Far art is quieter than Near art; outlines and silhouettes must remain clear at selector-thumbnail size and normal Stage zoom. Avoid excessive vector point counts, hard-to-read microdetail, and busy contrast behind character faces or speech bubbles. The source/rights field must distinguish original art, licensed sources, and generated raster concepts. Reference art is not automatically licensed final content.
Success criteria
- A child can create Town Street from New Scene, recognize the intended Sky/skyline/shops/trees/sidewalk/road composition at the default view, move or remove any placed piece, save it, reopen it, and keep the same look and behavior.
- A child can create Living Room from New Scene, see the actual selected Sky through its window gap, change the Sky without tinting the room, restyle the wall or Wood Ground, move the rug and furniture independently, and save/reopen the revised set.
- A child can place one
.propdrawing through Scenery and through Props and understand that the two copies behave differently. The Scenery copy never blocks, supports, moves, is picked up or used, or triggers an event in PLAY. - Far skyline, Near buildings/trees, Ground, On the floor rug, and Props preserve their intended order through pan, zoom, PLAY, stop, and reload. Character and speech readability survives the four Sky styles and common finishes.
- Ordinary EDIT selection still reaches foreground characters, Props, and Ground over broad panels. Edit Scenery makes every cutout and panel discoverable and correctable; placement and an active resize gesture can be canceled before commit, while a single-piece resize commits on release and group resize retains Keep/Cancel. Labels, icons, outlines, and focus reveal state without depending on color alone.
- Wall panel and Ground finish choices preview correctly; wall patterns do not stretch as panels resize, and adjacent Ground pieces do not show distracting pattern restarts. Changing a palette finish does not repaint existing pieces; a selected piece can be changed deliberately.
- Older
.scenedocuments retain their prior neutral background and Ground appearance when opened. Older untagged.propassets remain visible in All artwork, and a missing referenced Scenery asset yields a visible recovery cue rather than silently removing the child's placement. - Each chosen Sky keeps its gradient screen-filling while its details respond gently and predictably to camera pan and zoom in EDIT, DIRECT, and PLAY, as specified in the camera-aware Sky details addendum. The action remains readable, no edge appears, and the same framing survives save/reopen.
- Every required manifest item reaches Verified, with source/rights and final location recorded. A raster concept alone cannot satisfy a final vector content requirement.
- New and revised
.propartwork is authored at its intended Stage size relative to the standard approximately 940-world-unit standing stickman, avoiding a mandatory resize on ordinary placement. The Prop Editor's Size for Stage guide is visible over artwork and above a floor/contact cue. Loading performs no automatic normalization; deliberate asset overwrites retain the usual live-reference behavior and existing Save workflow, without new copy/version prompts. Individual Scenery pieces resize independently, preserve proportions, and save/reopen at the committed scale.
Current project context, risks, and dependencies
- The Stage currently has a World, camera, optional world-space grid, registry-driven palette, Ground/Ramp/Step terrain, Props, and stickmen. Ground is a solid
TerrainBlock; its drag painter creates independent blocks. Phase 19 must preserve Ground walkability and avoid treating Scenery panels as terrain. - The current
.scenesave boundary isStageSceneIOwith mapping inStageSceneAdapter. It stores terrain, Props, stickmen, and areas but no Sky, wall panels, or Scenery placements. The accepted design requires additive saved appearance and placement data with legacy defaults; the architect will decide schema and migration details. Persist artwork references through the project'sContentPathsconventions. - The
.propformat and Prop Editor already author multi-shape vector art.PropLibrarycurrently rejects custom artwork without valid closed collision geometry. Visual-only Scenery must accept legitimate artwork without fake physics. The architect and UI/UX lead should resolve how the same art catalog serves both placement routes and how old untagged art stays discoverable. - Stage selection currently uses World-object bounds and an overlapping-object chooser. Large wall panels and floor art can otherwise catch almost every click or box selection. A dedicated, forgiving Scenery edit flow and predictable hit order are product requirements. The approved Stage panel UI system supplies the in-stage inspector visual contract; adapt it for selected Scenery/Ground controls where it fits.
- Finite panels, tiled vector finishes, and detailed Sky motifs must stay crisp and performant across Stage zoom and camera pan. Ground pieces need aligned world-scale patterns. The Town Street and Living Room references should guide composition and mood, not be treated as final licensed assets.
- The two starters require the manifest content as real deliverables. Missing art, inconsistent scale, or raster-only placeholders would leave a child with a visually incomplete feature even if the controls work.
- Stage-relative authoring scale must account for both tall and wide props/artwork without forcing every asset to one generic height. The stickman comparison guides intent; the artist records an approximate scale, and the Prop Editor provides reversible correction. Loading does not normalize existing assets. Deliberately saving revised geometry over a live reference updates that drawing in referencing scenes; the user chose to retain the existing Save workflow because scenes are not yet in production.
Specification decisions recorded
The following design questions were resolved in the linked UI/UX and architecture specifications and verified with the integrated Phase 19 behavior:
- What exact UI presents Backgrounds, Artwork tags, placement layer, Ground finish, and Edit Scenery without crowding the existing Stage palette? Define keyboard, touch, narrow-viewport, dismissal, and cancellation behavior using the established Stage panel patterns; Stage Undo remains out of scope for Phase 19 and is tracked separately.
- How will an adaptive Sky fill unbounded camera views while keeping its gradient fixed and its details gently camera-aware as described in the addendum, and how will wall and Ground finishes keep repeatable pattern scale and alignment through resizing, drag painting, and zoom?
- What saved scene and optional
.proptag fields, validation, migration defaults, missing-art recovery, and starter creation flow preserve existing documents and the same artwork's independent Scenery/Prop placements? - How will selected panels, cutouts, rugs, Ground, and ordinary objects remain reachable where bounds overlap, including the window gap and a room-sized wall?
- Which asset production workflow turns concepts into final vector content, records provenance, checks collision only for interactive Props, and advances each manifest row through integration and verification?
The live feature backlog tracks the separate follow-up work, including multi-level walkable scenes and whole-scene visual filters.