Application-facing read model for a rendered canvas item.
LivePanels.Item is the canonical state record. Item.View is the
derived render helper available from LivePanels.Item.RenderContext.view; it
collects the capability decisions an application commonly needs to draw a frame or
branch on content behavior without duplicating the canonical item record.
This module does not introduce a second item model. LivePanels.Item exposes the
app-facing identity, geometry, props, and capabilities directly; t() is the
companion for render-only decisions.
Summary
Functions
Builds the render-time item view projection.
Types
@type t() :: %LivePanels.Item.View{ autosize?: boolean(), autosize_debounce_ms: non_neg_integer(), autosize_max_frame_height: pos_integer(), autosize_max_frame_width: pos_integer(), autosize_min_frame_height: pos_integer(), autosize_min_frame_width: pos_integer(), clusterable?: boolean(), connectable?: boolean(), content: map() | nil, content?: boolean(), drag_drop: LivePanels.Canvas.DragDrop.capability(), frame_overflow: :hidden | :visible, frame_size: :fixed | :content, id: String.t(), max_frame_height: pos_integer(), max_frame_width: pos_integer(), min_frame_height: pos_integer(), min_frame_width: pos_integer(), placement_locked?: boolean(), presentable?: boolean(), presentation: map(), removable?: boolean(), resizable?: boolean(), tileable?: boolean() }
Render decisions derived from LivePanels.Item.t().
Commonly used fields include:
- identity:
:id - content projection:
:content?,:content - frame decisions:
:frame_overflow,:frame_size, frame bounds, and placement lock - application presentation hints:
:presentation - drag/drop affordance:
:drag_drop - capability decisions:
:tileable?,:resizable?,:connectable?,:presentable?,:clusterable?, and:removable?
Functions
@spec view(LivePanels.Item.t()) :: t()
Builds the render-time item view projection.