fix: preserve textAlign/verticalAlign/containerId through REST round-trip

ElementSharedFieldsSchema in server.ts was silently stripping textAlign,
verticalAlign, and containerId on every POST/PATCH, causing bound text
inside containers to lose centering after a sync round-trip.

- Add missing fields to ElementSharedFieldsSchema (server.ts)
- Add textAlign?, verticalAlign?, containerId? to ServerElement (types.ts)
- Set textAlign: "center", verticalAlign: "top" on MCP subtitle elements (index.ts)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
newblacc
2026-03-30 20:56:46 +02:00
co-authored by Claude Sonnet 4.6
parent 90cae43193
commit 87e8a8e314
4 changed files with 13 additions and 0 deletions
+4
View File
@@ -487,6 +487,10 @@ const ElementSharedFieldsSchema = z.object({
endBinding: z.any().nullable().optional(),
boundElements: z.any().nullable().optional(),
elbowed: z.boolean().optional(),
// Text alignment properties (required for bound text inside containers)
textAlign: z.string().optional(),
verticalAlign: z.string().optional(),
containerId: z.string().nullable().optional(),
// Image element properties
fileId: z.string().optional(),
status: z.string().optional(),