Allow addNewComponentToLayout to accept a caller-supplied UUID
## Summary Update the core layout action `addNewComponentToLayout` (`ui/src/features/layout/layoutModelSlice.ts`) so a caller can optionally pass the UUID the new component should get. When no UUID is supplied, it keeps generating one itself. ## Why The Canvas AI chatbot is being updated to build pages row by row. To place a new row relative to a previously placed component, the agent needs that component's UUID — so the backend needs to know the UUID ahead of the component being placed. We can't place a component and then send its UUID back to the AI afterwards, because of how the build loop works — see [the loop in action](https://git.drupalcode.org/project/canvas/-/work_items/3591777#the-loop-in-action--building-a-cookie-shop-homepage). Full context: #3591777 (roadmap item 1). ## Scope - Add optional `uuid` to `AddNewNodePayload`. - `_addNewComponentToLayout` uses `payload.uuid ?? uuidv4()`. --- _Issue generated with AI assistance._
issue