apply_asset_board_operations Atomically edit assets, drafts and placements with expectedRevision. Upload media once and reuse IDs in parts. Saved versions are immutable: create_draft, edit parts, save_iteration, then select_version. Draft creation inherits source parts. Reuse revisionAfter; retry lost responses with identical requestId/input. Details: /docs/mcp/apply_asset_board_operations. GLB example part: {id:model,name:3D model,type:model,media:{id:,mimeType:model/gltf-binary,filename:character.glb},poster:{id:,mimeType:image/jpeg,filename:cover.jpg}} (quote JSON strings). Optional view stores an orbit/target/animationName/time for the initial preview. Upload models once: prefer upload_asset_from_url for an existing HTTPS URL, create_asset_upload + raw HTTP for local files, upload_asset base64 only as a fallback; reuse media IDs across iterations. To create a poster via MCP, render the model at a pose, upload the resulting PNG, and patch_part.poster in a draft. Saved versions are immutable. Atomically author shared assets, drafts, immutable iterations, selected directions, placements and groups. Reuse revisionAfter without a reread. Operations have complete discriminated schemas and examples. create_draft copies every part from sourceVersionId; put_part changes only one part; save_iteration never changes selection. select_version is explicit. Placement pinnedVersionId=null follows the asset selection. Archive/restore assets, placements and groups without deleting history. IDs are caller-assigned and stable; media IDs are immutable uploaded SHA-256 references. expectedRevision rejects stale edits. Retry ambiguous results with identical requestId and payload. dryRun validates without writing.