desk_surface_update
Moves, resizes, or restacks a surface already on the desk canvas — x/y/w/h/z_index are real column writes, not a layout cache. The surface's identity is frozen here: kind, widget_key, and content_ref never change through this door, only via delete then re-create. NEXT: desk_surface_list to find the id to move.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| h | No | ||
| w | No | ||
| x | No | ||
| y | No | ||
| id | Yes | The desk_surface id (desk_surface_list shows them). | |
| kind | No | ||
| z_index | No | ||
| widget_key | No | ||
| content_ref | No | ||
| expected_updated_at | No | Optional compare-and-set guard: the updated_at from a prior desk_surface_list/read. Mismatch returns CONFLICT — another tab already moved this surface. |