# NOTE: This file is auto generated by OpenAPI Generator 7.22.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule Spatio.Model.SlideElement do
@moduledoc """
One canvas object on a slide — text box, shape, image, etc. `content` is renderer-specific JSON (e.g. fabric.js properties: text, fill, fontSize, src). Identified by a stable `id` so MCP / agent operations stay idempotent across retries.
"""
@derive JSON.Encoder
defstruct [
:id,
:slideId,
:elementType,
:content,
:x,
:y,
:width,
:height,
:rotation,
:zIndex,
:createdAt,
:updatedAt
]
@type t :: %__MODULE__{
:id => String.t,
:slideId => String.t,
:elementType => String.t,
:content => %{optional(String.t) => any()},
:x => float(),
:y => float(),
:width => float(),
:height => float(),
:rotation => float(),
:zIndex => integer(),
:createdAt => DateTime.t,
:updatedAt => DateTime.t
}
def decode(value) do
value
end
end