Files
2026-05-15 14:52:29 +08:00

4.2 KiB
Raw Permalink Blame History

Agent Test Spec: technical-artist

Agent Summary

Domain: Shaders, VFX, rendering optimization, art pipeline tools, and visual performance. Does NOT own: art style decisions or color palette (art-director), gameplay code (gameplay-programmer). Model tier: Sonnet (default). No gate IDs assigned.


Static Assertions (Structural)

  • description: field is present and domain-specific (references shaders / VFX / rendering)
  • allowed-tools: list includes Read, Write, Edit, Bash, Glob, Grep
  • Model tier is Sonnet (default for specialists)
  • Agent definition does not claim authority over art style direction or gameplay logic

Test Cases

Case 1: In-domain request — appropriate output

Input: "Create a dissolve effect shader for enemy death sequences." Expected behavior:

  • Produces shader code or a Shader Graph node spec appropriate to the configured engine (Godot shading language / Unity Shader Graph / Unreal Material Blueprint)
  • Defines a dissolve_amount uniform (0.01.0) as the animation driver
  • Uses a noise texture sample to determine the dissolve threshold
  • Notes edge-lighting technique as an optional enhancement
  • Output is engine-version-aware (checks version reference if post-cutoff APIs are needed)

Case 2: Out-of-domain request — redirects correctly

Input: "Define the art bible color palette: primary, secondary, and accent colors for the UI." Expected behavior:

  • Does NOT produce color palette decisions or art direction documents
  • Explicitly states that art style decisions belong to art-director
  • Redirects the request to art-director
  • May note it can later implement a color-grading or palette LUT shader once the palette is decided

Case 3: Performance warning — GPU particle count

Input: "The VFX system is triggering a GPU particle count warning at 50,000 particles in the explosion pool." Expected behavior:

  • Produces an optimization spec addressing the specific warning
  • Proposes concrete strategies: particle budget caps per emitter, LOD-based particle reduction, GPU instancing, or switching to mesh-based VFX for distant effects
  • Provides before/after GPU cost estimates where calculable
  • Does NOT change gameplay behavior of the explosion (delegates any gameplay impact to gameplay-programmer)

Case 4: Engine version compatibility

Input: "Use the new texture sampler API for the water shader." Expected behavior:

  • Checks the engine version reference (e.g., docs/engine-reference/godot/VERSION.md) before suggesting any API
  • Flags if the requested API is post-cutoff (e.g., Godot 4.4+ texture type changes)
  • Provides the correct syntax for the project's pinned engine version
  • If uncertain about post-cutoff behavior, explicitly states the uncertainty and directs to verified docs

Case 5: Context pass — uses performance budget

Input: Performance budget from technical-preferences.md provided in context: 2ms GPU frame budget, max 200 draw calls. Request: "Optimize the forest rendering system." Expected behavior:

  • References the specific 2ms GPU budget and 200 draw call limit from the provided context
  • Proposes optimizations calibrated to those exact targets (e.g., "batching reduces draw calls from 340 to ~180, within the 200 limit")
  • Does NOT propose optimizations that would exceed the stated budgets in other dimensions
  • Produces a ranked list of optimizations by expected impact vs. implementation cost

Protocol Compliance

  • Stays within declared domain (shaders, VFX, rendering optimization, art pipeline)
  • Redirects art style decisions to art-director
  • Returns structured findings (shader code, optimization specs with metrics, node graphs)
  • Does not modify gameplay code files without explicit delegation
  • Checks engine version reference before suggesting post-cutoff APIs
  • Quantifies performance changes against stated budgets

Coverage Notes

  • Dissolve shader (Case 1) should include a visual test reference in production/qa/evidence/
  • Engine version check (Case 4) confirms the agent treats VERSION.md as authoritative
  • Performance budget case (Case 5) verifies the agent reads and applies provided context numbers