Wire ProductEditorDrawer to existing /shop/products/{id}/variants REST for list/save. Support attribute text parsing, batch replace save, and optional save-variants-only. Align save endpoint JSON body parsing with controller helper.