- Introduced `test_scenery_brick_preview.gd` to validate focused placement and CPU draw-cost for large brick walls. - Added `test_scenery_surface_cache.gd` to assess texture budget, visual equivalence, and cache invalidation. - Created `test_scenery_surface_preview.gd` to evaluate adaptive preview selection and placement behavior. - Implemented various helper functions to measure drawing performance and validate expected behaviors during tests. - Added unique identifiers for new test files to ensure proper tracking and management.
6.3 KiB
6.3 KiB
name, description
| name | description |
|---|---|
| spec-pipeline | Stickman Studio feature workflow: UI/UX and architecture specs, implementation, agent-run behavior verification, then user verification. |
Execution Logic
-
Phase 0a: UI/UX Proposal & Alternative Ideas (User-Facing Features Only)
@uiuxanalyzes the user's initial idea for cognitive friction, accessibility, and kid-friendliness.- For an in-stage selected-object inspector,
@uiuxfirst reviewsdocs/specs/stage_panel_ui_system.mdand the current shared controls underscripts/shared/stage_ui/; proposals should build on that system unless the interaction needs justify a specific exception. - Follow the concept-count and visual-mockup protocol in
.codex/agents/uiux.toml; it also applies when the user asks@uiuxfor ideas outside a formal pipeline run. @uiuxSTOP: Waits for user feedback/selection before writing the UI spec.- Bypass Rule: If the feature is strictly internal engine/backend logic (e.g., physics, serialization, scanning), skip directly to Phase 1a.
-
Phase 0b: UI Spec Generation
- User approves an option or provides feedback.
@uiuxoutputs the UI/UX specification (control layouts, widget behaviors, visual feedback states, and cursor logic).- For Stage inspector work, name which shared components and theme tokens the design uses or proposes to extend. Treat dialogs and other editor panels as separate workflows unless their interaction model fits the inspector kit.
-
Phase 1a: Architecture Proposal & Clarification
@architectanalyzes existing patterns and the Phase 0b UI/UX specification.- For Stage inspector work,
@architectinspects the shared panel implementation and theme as well as the design spec, and identifies reuse or justified extension before proposing new controls. @architectpitches 1–3 Godot best-practice implementation options and asks up to 3 clarification questions with[Recommended]choices.@architectstops without writing the spec file yet.
-
Phase 1b: User Feedback & Spec Generation
- User approves, modifies, or selects choices from
@architect's proposal. @architectwrites the finalized specification todocs/specs/[feature-name].mdand logs decisions indocs/architecture/tech_debt_and_optimizations.md.- The spec states observable acceptance outcomes and the user path that produces each one. For interactions involving physics, timing, saving/loading, or multiple systems, name a small repeatable runtime scenario and what to measure; do not prescribe a test implementation unless it is needed to protect a specific behavior.
- STOP: Wait for final user sign-off on the spec before invoking developer.
- User approves, modifies, or selects choices from
-
Phase 1c: Conditional Art Production & Approval
- After spec sign-off, inspect the accepted specification for explicit new graphical or animation deliverables. Skip this phase when none are required.
- Invoke
$asset-creation, which delegates to@artist, with the signed-off specification, supplied reference images, intended asset type, and integration constraints. @artistcreates validated candidates undercontent/review/artist/<request-slug>/, including a preview andreview.md; it does not modify gameplay/runtime architecture or promote the candidates yet.- Present the review bundle and STOP for user approval or revision. Do not invoke developer while required artwork remains unapproved.
- After explicit approval, promote the selected assets to their production locations and pass their paths plus integration notes to developer.
-
Phase 2: Implementation & Agent Verification
@developerupdates code and scenes using targeted diffs based ondocs/specs/[feature-name].md.- When Phase 1c ran,
@developerconsumes the approved asset paths and Artist integration notes; it does not silently replace approved artwork. @developerruns Godot syntax/import checks and focused existing regression suites, then fixes failures.@developeradds focused automated coverage where it can meaningfully verify the feature's observable acceptance outcomes. For cross-system or runtime behavior, construct a small repeatable scene or fixture (in memory or as a saved scene), use the real production spawning/input/action paths where practical, advance frames or physics ticks, and assert the resulting state. A check that nodes, signals, layers, or helper calls exist is insufficient when the requirement concerns what actually happens during play.- For visual or interactive acceptance criteria, establish the verification route before concluding Phase 2: run the affected scene in a render-capable GUI session, capture the states named in the spec, and inspect the rendered pixels. Record the scene/state, capture location, and what was observed. A successful launch, headless run, or screenshot command/file by itself does not prove visual correctness.
- For interactive acceptance criteria, exercise the real production input path through the scene and controls where practical. Advance frames or physics ticks as needed, then assert the resulting world/UI state and relevant cleanup or cancellation behavior. Signal/helper checks alone do not verify the user interaction.
- If the environment may not support rendering or input, try to establish whether a GUI, capture, or input-automation route is available; do not infer that it is unavailable from a headless run alone. If verification still cannot be performed, record what was attempted and the specific limitation, mark the affected acceptance outcomes unverified, and leave a focused, reproducible user check. Do not report the feature as fully agent-verified while required outcomes remain unverified.
@developerreruns the relevant checks after fixes and reports commands, pass/fail results, the measured behavior, and any unverified acceptance outcome. Do not claim a feature is verified from syntax checks or debug prints alone.
-
Phase 3: User Hand-off (Stop)
- Present the implementation and agent verification evidence. Give the user only the remaining visual, usability, or environment-dependent checks to perform in the Godot Editor; clearly identify any acceptance outcome the agent could not verify.
-
Phase 4: Documentation (Triggered manually by user)
- Only call
@writerafter the user confirms: "Feature verified and working."
- Only call