plan_shading
Validate and store a shading plan that locks light direction and hard-shadow rules before painting shadows on pixel characters.
Instructions
RECOMMENDED after flat outfit paint: lock where hard shadows go.
YOU (the agent) author the plan — this tool validates and stores it. Soft gate: compose_character does NOT refuse without shading, but MCP SOP expects plan_shading → paint shadows → compose (or re-compose).
Required plan keys:
light_direction: e.g. "top-front / +X-up"
rules: must include "one_step_darker" and "no_gradients"
layers: object with ALL 10 EXPORT_LAYER_NAMES, each {skip: bool, shade_notes: str, strokes?: [{region?, intent, color_role?}]} Optional overall_notes. Alternate: flat strokes list with layer + intent.
Style: one darker step of local color (see get_shade_palette); hard 1–2px bands; shade design layers only; never rewrite base; do not strip eyes.
Saves design/shading_plan.json. Returns plan_id + user_facing_summary — SHOW the summary and wait for OK before painting shadows with paint_*.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"brief": "<brief>",
"plan": "<plan>"
},
"name": "plan_shading"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| plan | Yes | ||
| brief | Yes | ||
| output_dir | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||