LING71671/moon-egui/src/composite does not have a README file

    Memory

    Generic, decoupled immediate-mode widget memory subsystem.

    Stores cross-frame persistent widget state (scroll positions, cursor offsets, toggle states, animation curves) indexed by Id, completely decoupling concrete widgets from the central UIContext struct. Supports tagged sub-keys for multiple properties per widget ID and generational frame-counter pruning to prevent memory leaks in long-running dynamic interfaces.

    Painter

    Scoped drawing abstraction that isolates UI widgets from raw global DrawList command queues and enforces local coordinate translation and active scissor clip boundaries.

    Theme

    Runtime semantic theme profile holding color slots for all UI elements.

    WidgetStyle

    Systemic design tokens holding foundational scales, typography, and elevation metrics.

    BarChart

    pub struct BarChart {
    id_salt : String
    labels : Array[String]
    values : Array[Double]
    size :
    Vec2
    ?
    bar_color :
    Color

    }

    Standalone categorical bar chart widget supporting fluent configuration.

    BarChart::bar_color

    Set custom bar fill color.

    BarChart::new

    fn BarChart::new(id_salt : String, labels : Array[String], values : Array[Double]) -> BarChart

    Create a new categorical bar chart builder.

    BarChart::show

    Render the bar chart into the provided UIContext.

    BarChart::size

    Override bar chart layout dimensions.

    CodeEditor

    pub struct CodeEditor {
    id_salt : String
    text : String
    size :
    Vec2
    ?
    show_line_numbers : Bool
    read_only : Bool
    } derive(Eq,
    Debug
    )

    Standalone code editor widget supporting fluent configuration.

    CodeEditor::from_ref

    fn CodeEditor::from_ref(id_salt : String, target :
    Ref
    [String]) -> CodeEditorRef

    CodeEditor::new

    fn CodeEditor::new(id_salt : String, text : String) -> CodeEditor

    CodeEditor::read_only

    fn CodeEditor::read_only(self : CodeEditor, read_only : Bool) -> CodeEditor

    CodeEditor::show_line_numbers

    fn CodeEditor::show_line_numbers(self : CodeEditor, show : Bool) -> CodeEditor

    CodeEditorRef

    pub struct CodeEditorRef {
    id_salt : String
    target :
    Ref
    [String]
    size :
    Vec2
    ?
    show_line_numbers : Bool
    read_only : Bool
    }

    CodeEditorStyle

    pub struct CodeEditorStyle {
    font_size : Double
    gutter_font_size : Double
    line_h : Double
    gutter_w : Double
    radius : Double
    } derive(Eq,
    Debug
    )

    Component style descriptor for CodeEditor.

    CodeEditorStyle::default

    CommandItem

    pub struct CommandItem {
    id : String
    title : String
    category : String
    shortcut : String
    } derive(Eq,
    Debug
    )

    CommandItem::new

    fn CommandItem::new(id : String, title : String, category? : String, shortcut? : String) -> CommandItem

    CommandPaletteResponse

    pub struct CommandPaletteResponse {
    open : Bool
    selected_id : String?
    query : String
    selected_index : Int
    } derive(Eq,
    Debug
    )

    ContextMenuItem

    pub struct ContextMenuItem {
    id : String
    label : String
    shortcut : String
    disabled : Bool
    is_separator : Bool
    children : Array[ContextMenuItem]
    } derive(Eq,
    Debug
    )

    ContextMenuItem::new

    fn ContextMenuItem::new(id : String, label : String, shortcut? : String, disabled? : Bool, children? : Array[ContextMenuItem]) -> ContextMenuItem

    ContextMenuItem::separator

    fn ContextMenuItem::separator() -> ContextMenuItem

    ContextMenuItem::submenu

    fn ContextMenuItem::submenu(id : String, label : String, children : Array[ContextMenuItem], disabled? : Bool) -> ContextMenuItem

    ContextMenuResponse

    pub struct ContextMenuResponse {
    open : Bool
    selected_id : String?
    pos :
    Vec2

    size :
    Vec2

    } derive(Eq,
    Debug
    )

    DockArea

    pub struct DockArea {
    id_salt : String
    size :
    Vec2

    tree : DockTree
    render_tab : (
    UIContext
    , String,
    Rect
    ) -> Unit
    }

    Standalone DockArea widget struct.

    DockArea::new

    Create a new DockArea widget.

    DockArea::show

    Render the DockArea and return interaction details.

    DockNode

    pub(all) enum DockNode {
    Leaf(Array[DockTab], Int)
    Split(DockSplitDirection, Double, DockNode, DockNode)
    Empty
    } derive(Eq,
    Debug
    )

    Recursive layout tree node for multi-window docking.

    DockResponse

    pub struct DockResponse {
    resp :
    Response

    active_tab_changed : (String, String)?
    tab_closed : String?
    ratio_changed : Bool
    } derive(Eq,
    Debug
    )

    Interaction response for a dock area layout frame.

    DockSplitDirection

    pub(all) enum DockSplitDirection {
    Horizontal
    Vertical
    } derive(Eq,
    Debug
    )

    Split direction for a docking container node.

    DockSplitDirection::horizontal

    DockSplitDirection::vertical

    DockTab

    pub struct DockTab {
    id : String
    title : String
    closable : Bool
    } derive(Eq,
    Debug
    )

    Single tab descriptor inside a dock leaf panel.

    DockTab::new

    fn DockTab::new(id : String, title : String, closable? : Bool) -> DockTab

    Create a new dock tab.

    DockTree

    pub struct DockTree {
    root : DockNode
    } derive(Eq,
    Debug
    )

    Container managing a mutable docking layout tree.

    DockTree::close_tab

    fn DockTree::close_tab(self : DockTree, tab_id : String) -> Bool

    Close a tab by its ID across the dock tree.

    DockTree::empty

    fn DockTree::empty() -> DockTree

    Create an empty dock tree.

    DockTree::find_tab

    fn DockTree::find_tab(self : DockTree, tab_id : String) -> (DockTab, Int)?

    Find a tab by its ID across the entire dock tree.

    DockTree::leaf

    fn DockTree::leaf(tabs : Array[DockTab], active_tab? : Int) -> DockTree

    Create a leaf dock tree with tabs.

    DockTree::new

    fn DockTree::new(root : DockNode) -> DockTree

    Create a new dock tree from a root node.

    DockTree::root

    fn DockTree::root(self : DockTree) -> DockNode

    Retrieve current root node.

    DockTree::set_active_tab

    fn DockTree::set_active_tab(self : DockTree, tab_id : String) -> Bool

    Set active tab by tab ID across the dock tree.

    DockTree::split

    fn DockTree::split(direction : DockSplitDirection, ratio : Double, first : DockTree, second : DockTree) -> DockTree

    Create a split dock tree combining two subtrees.

    Fader

    pub struct Fader {
    id_salt : String
    label : String
    value : Double
    min_val : Double
    max_val : Double
    step : Double
    default_val : Double
    unit : String
    show_ticks : Bool
    size :
    Vec2
    ?
    } derive(Eq,
    Debug
    )

    Standalone vertical audio channel fader parameter controller supporting fluent configuration.

    Fader::default_val

    fn Fader::default_val(self : Fader, default_val : Double) -> Fader

    Set default reset value (triggered on Alt+Click).

    Fader::from_ref

    fn Fader::from_ref(id_salt : String, label : String, target :
    Ref
    [Double]) -> FaderRef

    Create a vertical fader bound directly to a Ref[Double].

    Fader::max

    fn Fader::max(self : Fader, max_val : Double) -> Fader

    Set maximum parameter value.

    Fader::min

    fn Fader::min(self : Fader, min_val : Double) -> Fader

    Set minimum parameter value.

    Fader::new

    fn Fader::new(id_salt : String, label : String, value : Double) -> Fader

    Create a new vertical fader widget with standard defaults.

    Fader::show

    Render the fader and return the updated value alongside the interaction response.

    Fader::show_ticks

    fn Fader::show_ticks(self : Fader, show_ticks : Bool) -> Fader

    Toggle calibrated scale tick marks.

    Fader::size

    Override layout dimensions.

    Fader::step

    fn Fader::step(self : Fader, step : Double) -> Fader

    Set step increment.

    Fader::unit

    fn Fader::unit(self : Fader, unit : String) -> Fader

    Set display unit suffix (e.g. "dB", "Hz", "%").

    FaderRef

    pub struct FaderRef {
    fader : Fader
    target :
    Ref
    [Double]
    }

    Reference-bound fader widget for uniform ui.add(...) dispatch.

    FaderRef::default_val

    fn FaderRef::default_val(self : FaderRef, default_val : Double) -> FaderRef

    FaderRef::max

    fn FaderRef::max(self : FaderRef, max_val : Double) -> FaderRef

    FaderRef::min

    fn FaderRef::min(self : FaderRef, min_val : Double) -> FaderRef

    FaderRef::show_ticks

    fn FaderRef::show_ticks(self : FaderRef, show_ticks : Bool) -> FaderRef

    FaderRef::size

    FaderRef::step

    fn FaderRef::step(self : FaderRef, step : Double) -> FaderRef

    FaderRef::unit

    fn FaderRef::unit(self : FaderRef, unit : String) -> FaderRef

    FaderStyle

    pub struct FaderStyle {
    width : Double
    height : Double
    track_w : Double
    cap_w : Double
    cap_h : Double
    cap_radius : Double
    } derive(Eq,
    Debug
    )

    Component style descriptor for vertical fader channel controls.

    FaderStyle::default

    fn FaderStyle::default() -> FaderStyle

    Knob

    pub struct Knob {
    id_salt : String
    label : String
    value : Double
    min_val : Double
    max_val : Double
    step : Double
    default_val : Double
    unit : String
    radius : Double
    bipolar : Bool
    } derive(Eq,
    Debug
    )

    Standalone rotary knob controller widget supporting fluent configuration.

    Knob::bipolar

    fn Knob::bipolar(self : Knob, bipolar : Bool) -> Knob

    Enable bipolar center-zero mode (-max to +max, center arc).

    Knob::default_val

    fn Knob::default_val(self : Knob, default_val : Double) -> Knob

    Set default reset value (triggered on Alt+Click).

    Knob::from_ref

    fn Knob::from_ref(id_salt : String, label : String, target :
    Ref
    [Double]) -> KnobRef

    Create a rotary knob bound directly to a Ref[Double].

    Knob::max

    fn Knob::max(self : Knob, max_val : Double) -> Knob

    Set maximum parameter value.

    Knob::min

    fn Knob::min(self : Knob, min_val : Double) -> Knob

    Set minimum parameter value.

    Knob::new

    fn Knob::new(id_salt : String, label : String, value : Double) -> Knob

    Create a new rotary knob widget with standard defaults.

    Knob::radius

    fn Knob::radius(self : Knob, radius : Double) -> Knob

    Set knob dial radius in pixels.

    Knob::show

    Render the knob and return the updated value alongside the interaction response.

    Knob::step

    fn Knob::step(self : Knob, step : Double) -> Knob

    Set adjustment step increment.

    Knob::unit

    fn Knob::unit(self : Knob, unit : String) -> Knob

    Set display unit suffix (e.g. "dB", "Hz", "%").

    KnobRef

    pub struct KnobRef {
    knob : Knob
    target :
    Ref
    [Double]
    }

    Reference-bound knob widget for uniform ui.add(...) dispatch.

    KnobRef::bipolar

    fn KnobRef::bipolar(self : KnobRef, bipolar : Bool) -> KnobRef

    KnobRef::default_val

    fn KnobRef::default_val(self : KnobRef, default_val : Double) -> KnobRef

    KnobRef::max

    fn KnobRef::max(self : KnobRef, max_val : Double) -> KnobRef

    KnobRef::min

    fn KnobRef::min(self : KnobRef, min_val : Double) -> KnobRef

    KnobRef::radius

    fn KnobRef::radius(self : KnobRef, radius : Double) -> KnobRef

    KnobRef::step

    fn KnobRef::step(self : KnobRef, step : Double) -> KnobRef

    KnobRef::unit

    fn KnobRef::unit(self : KnobRef, unit : String) -> KnobRef

    KnobStyle

    pub struct KnobStyle {
    radius : Double
    } derive(Eq,
    Debug
    )

    Component style descriptor for rotary knob controls.

    KnobStyle::default

    fn KnobStyle::default() -> KnobStyle

    NodeConnection

    pub struct NodeConnection {
    from_node : String
    from_port : String
    to_node : String
    to_port : String
    } derive(Eq,
    Debug
    )

    Directed connection wire between two ports on different nodes.

    NodeConnection::new

    fn NodeConnection::new(from_node : String, from_port : String, to_node : String, to_port : String) -> NodeConnection

    Construct a connection descriptor.

    NodeEditor

    pub struct NodeEditor {
    id_salt : String
    size :
    Vec2

    nodes : Array[NodeItem]
    connections : Array[NodeConnection]
    custom_style : NodeEditorStyle?
    selected_node : String?
    } derive(Eq,
    Debug
    )

    Standalone NodeEditor builder supporting fluent configuration.

    NodeEditor::new

    fn NodeEditor::new(id_salt : String, size :
    Vec2
    , nodes : Array[NodeItem], connections : Array[NodeConnection]) -> NodeEditor

    Create a new NodeEditor builder.

    NodeEditor::selected_node

    fn NodeEditor::selected_node(self : NodeEditor, selected_node : String?) -> NodeEditor

    Set currently selected node identifier.

    NodeEditor::show

    Render the NodeEditor into UIContext.

    NodeEditor::style

    fn NodeEditor::style(self : NodeEditor, style : NodeEditorStyle) -> NodeEditor

    Override styling metrics.

    NodeEditorResponse

    pub struct NodeEditorResponse {
    rect :
    Rect

    nodes : Array[NodeItem]
    connections : Array[NodeConnection]
    selected_node : String?
    dragged_node : String?
    new_connection : NodeConnection?
    changed : Bool
    } derive(Eq,
    Debug
    )

    Interaction and state feedback from the NodeEditor component.

    NodeEditorStyle

    pub struct NodeEditorStyle {
    node_min_w : Double
    node_header_h : Double
    port_radius : Double
    port_spacing : Double
    card_radius : Double
    wire_width : Double
    grid_size : Double
    } derive(Eq,
    Debug
    )

    Component style metrics descriptor for NodeEditor topology graphs.

    NodeEditorStyle::default

    Default style configuration adhering to Studio Light design tokens.

    NodeItem

    Node card item placed within the infinite or bounded canvas.

    NodeItem::new

    fn NodeItem::new(id : String, title : String, pos :
    Vec2
    , inputs? : Array[NodePort], outputs? : Array[NodePort], accent_color? :
    Color
    , size? :
    Vec2
    ) -> NodeItem

    Construct a new node card item.

    NodeItem::set_pos

    fn NodeItem::set_pos(self : NodeItem, pos :
    Vec2
    ) -> Unit

    Update position of a node item.

    NodePort

    pub struct NodePort {
    id : String
    name : String
    kind : NodePortKind
    color :
    Color
    ?
    } derive(Eq,
    Debug
    )

    Terminal connection port on a node card.

    NodePort::input

    fn NodePort::input(id : String, name : String, color? :
    Color
    ) -> NodePort

    Construct an input port.

    NodePort::output

    fn NodePort::output(id : String, name : String, color? :
    Color
    ) -> NodePort

    Construct an output port.

    NodePortKind

    pub enum NodePortKind {
    Input
    Output
    } derive(Eq,
    Debug
    )

    Directional polarity of a node connector port.

    Plot

    pub struct Plot {
    id_salt : String
    series : Array[PlotSeries]
    size :
    Vec2
    ?
    show_grid : Bool
    show_crosshair : Bool
    show_legend : Bool
    }

    Standalone 2D coordinate plot widget supporting fluent configuration.

    Plot::new

    fn Plot::new(id_salt : String, series : Array[PlotSeries]) -> Plot

    Create a new 2D plot widget builder.

    Plot::show_crosshair

    fn Plot::show_crosshair(self : Plot, show_crosshair : Bool) -> Plot

    Toggle interactive crosshair line and coordinate HUD tooltip.

    Plot::show_grid

    fn Plot::show_grid(self : Plot, show_grid : Bool) -> Plot

    Toggle background coordinate grid lines.

    Plot::show_legend

    fn Plot::show_legend(self : Plot, show_legend : Bool) -> Plot

    Toggle multi-series legend badges.

    Plot::size

    Override plot layout dimensions.

    PlotPoint

    pub struct PlotPoint {
    x : Double
    y : Double
    } derive(Eq,
    Debug
    )

    Single 2D data coordinate point for immediate-mode plotting.

    PlotPoint::new

    fn PlotPoint::new(x : Double, y : Double) -> PlotPoint

    Construct a 2D data point.

    PlotSeries

    pub struct PlotSeries {
    name : String
    points : Array[PlotPoint]
    color :
    Color

    kind : PlotSeriesKind
    } derive(Eq,
    Debug
    )

    Named series of data points rendered on a coordinate canvas.

    PlotSeries::area

    fn PlotSeries::area(name : String, points : Array[PlotPoint], color? :
    Color
    ) -> PlotSeries

    Construct an area fill series with baseline shading.

    PlotSeries::line

    fn PlotSeries::line(name : String, points : Array[PlotPoint], color? :
    Color
    ) -> PlotSeries

    Construct a connected line series.

    PlotSeries::scatter

    fn PlotSeries::scatter(name : String, points : Array[PlotPoint], color? :
    Color
    ) -> PlotSeries

    Construct a point marker scatter series.

    PlotSeriesKind

    pub enum PlotSeriesKind {
    Line
    Scatter
    Area
    } derive(Eq,
    Debug
    )

    Representation style for a plotted data series.

    PlotStyle

    pub struct PlotStyle {
    default_w : Double
    default_h : Double
    pad_left : Double
    pad_right : Double
    pad_top : Double
    pad_bottom : Double
    bar_chart_default_w : Double
    bar_chart_default_h : Double
    bar_chart_gap : Double
    } derive(Eq,
    Debug
    )

    Component style descriptor for scientific plotting and charts.

    PlotStyle::default

    fn PlotStyle::default() -> PlotStyle

    RichTextResponse

    pub struct RichTextResponse {
    clicked_url : String?
    resp :
    Response

    } derive(Eq,
    Debug
    )

    Response from interactive rich text layout containing clicked URL.

    Sparkline

    pub struct Sparkline {
    id_salt : String
    values : Array[Double]
    size :
    Vec2

    color :
    Color

    fill : Bool
    show_hover : Bool
    } derive(Eq,
    Debug
    )

    Sparkline::color

    Sparkline::fill

    fn Sparkline::fill(self : Sparkline, fill : Bool) -> Sparkline

    Sparkline::new

    fn Sparkline::new(id_salt : String, values : Array[Double]) -> Sparkline

    Sparkline::show_hover

    fn Sparkline::show_hover(self : Sparkline, show_hover : Bool) -> Sparkline

    Table

    pub struct Table {
    id_salt : String
    size :
    Vec2

    columns : Array[TableColumn]
    row_count : Int
    render_cell : (
    UIContext
    , Int, Int,
    Rect
    ) -> Unit
    row_height : Double
    header_height : Double
    selected_row : Int
    sort_column : String
    sort_direction : TableSortDirection
    }

    Standalone virtualized data table widget supporting fluent configuration.

    Table::header_height

    fn Table::header_height(self : Table, header_height : Double) -> Table

    Set header height in pixels.

    Table::new

    fn Table::new(id_salt : String, size :
    Vec2
    , columns : Array[TableColumn], row_count : Int, render_cell : (
    UIContext
    , Int, Int,
    Rect
    ) -> Unit) -> Table

    Create a new virtualized data table builder.

    Table::row_height

    fn Table::row_height(self : Table, row_height : Double) -> Table

    Set row height in pixels.

    Table::selected_row

    fn Table::selected_row(self : Table, selected_row : Int) -> Table

    Set index of currently selected row.

    Table::show

    Render the table into the provided UIContext.

    Table::sort_column

    fn Table::sort_column(self : Table, sort_column : String) -> Table

    Set column identifier used for active sorting.

    Table::sort_direction

    fn Table::sort_direction(self : Table, sort_direction : TableSortDirection) -> Table

    Set sort direction (Ascending, Descending, NoSort).

    TableColumn

    pub struct TableColumn {
    id : String
    title : String
    width : Double
    min_width : Double
    sortable : Bool
    } derive(Eq,
    Debug
    )

    Column definition for data table.

    TableColumn::new

    fn TableColumn::new(id : String, title : String, width : Double, min_width? : Double, sortable? : Bool) -> TableColumn

    Creates a new table column descriptor.

    TableResponse

    pub struct TableResponse {
    sort_changed : Bool
    sort_column : String
    sort_direction : TableSortDirection
    hovered_row : Int?
    clicked_row : Int?
    } derive(Eq,
    Debug
    )

    Interactive feedback response from table widget.

    TableSortDirection

    pub(all) enum TableSortDirection {
    Ascending
    Descending
    NoSort
    } derive(Eq,
    Debug
    )

    Sort direction indicator for table columns.

    TableStyle

    pub struct TableStyle {
    header_h : Double
    row_h : Double
    radius : Double
    } derive(Eq,
    Debug
    )

    Component style descriptor for data table controls.

    TableStyle::default

    fn TableStyle::default() -> TableStyle

    TextSpan

    pub struct TextSpan {
    text : String
    kind : TextSpanKind
    } derive(Eq,
    Debug
    )

    Segment of rich inline text.

    TextSpan::bold

    fn TextSpan::bold(text : String) -> TextSpan

    TextSpan::code

    fn TextSpan::code(text : String) -> TextSpan

    fn TextSpan::link(text : String, url : String) -> TextSpan

    TextSpan::normal

    fn TextSpan::normal(text : String) -> TextSpan

    TextSpanKind

    pub(all) enum TextSpanKind {
    Normal
    Bold
    Code
    Link(String)
    } derive(Eq,
    Debug
    )

    Semantic styling role of an inline text span.

    TreeNode

    pub struct TreeNode {
    id : String
    label : String
    icon : String
    children : Array[TreeNode]
    } derive(Eq,
    Debug
    )

    TreeNode::is_leaf

    fn TreeNode::is_leaf(self : TreeNode) -> Bool

    TreeNode::leaf

    fn TreeNode::leaf(id : String, label : String, icon? : String) -> TreeNode

    TreeNode::new

    fn TreeNode::new(id : String, label : String, children? : Array[TreeNode], icon? : String) -> TreeNode

    TreeViewResponse

    pub struct TreeViewResponse {
    selected_id : String?
    expanded_ids : Array[String]
    clicked_id : String?
    toggled_id : String?
    response :
    Response

    } derive(Eq,
    Debug
    )

    bar_chart

    Render an immediate-mode categorical bar chart with automatic scaling, category labels, hover highlights, and interactive bar indices.

    code_editor

    fn code_editor(ctx :
    UIContext
    , id_salt : String, text : String, size? :
    Vec2
    , show_line_numbers? : Bool, read_only? : Bool) -> (String,
    Response
    )

    Render a multi-line code and script editor in Studio Light porcelain style. Features a left line-number gutter with active line highlighting, monospace font baseline alignment, 2D arrow key navigation, soft Tab indentation, range selection, vertical scrolling, and character clipping.

    color_picker

    Render a full interactive 2D HSV color picker panel featuring a 2D sat/val square, rainbow hue slider, alpha opacity slider, and dual-ring high-contrast grip.

    color_picker_button

    Render a compact color picker button which opens a floating popup color picker when clicked.

    command_palette

    fn command_palette(ctx :
    UIContext
    , open : Bool, query : String, commands : Array[CommandItem], selected_index? : Int, viewport_size? :
    Vec2
    ) -> CommandPaletteResponse

    Render a global command palette modal in Studio Light porcelain style. Supports backdrop dimming, live query filtering, arrow key navigation, enter selection, and pointer click dismissal.

    context_menu

    fn context_menu(ctx :
    UIContext
    , id_salt : String, open : Bool, pos :
    Vec2
    , content : (
    UIContext
    ) -> Unit, menu_width? : Double, viewport_size? :
    Vec2
    ) -> ContextMenuResponse

    Closure-based ContextMenu for fully custom layout and widget composition.

    context_menu_items

    fn context_menu_items(ctx :
    UIContext
    , id_salt : String, open : Bool, pos :
    Vec2
    , items : Array[ContextMenuItem], menu_width? : Double, viewport_size? :
    Vec2
    ) -> ContextMenuResponse

    Render a right-click context menu modal in Studio Light porcelain style. Anchors to the specified pointer position with boundary collision detection, outside-click dismissal, cascading submenus, and keyboard Escape cancellation.

    delete_next_char

    fn delete_next_char(text : String, pos : Int) -> String

    delete_prev_char

    fn delete_prev_char(text : String, pos : Int) -> (String, Int)

    dock_area

    Core immediate-mode dock area layout primitive. Manages flexible multi-window splits, tabs, and content clipping.

    fader

    fn fader(ctx :
    UIContext
    , id_salt : String, label : String, value : Double, min_val? : Double, max_val? : Double, step? : Double, default_val? : Double, unit? : String, show_ticks? : Bool, size? :
    Vec2
    ) -> (Double,
    Response
    )

    Immediate-mode vertical audio channel fader parameter controller. Features vertical recessed track groove, calibrated tick marks, tactile fader cap with center index indicator line, vertical drag delta, scroll wheel stepping, Shift (0.1x) / Ctrl (10x) modifiers, keyboard ArrowUp/ArrowDown navigation, and Alt+Click reset.

    fader_int

    fn fader_int(ctx :
    UIContext
    , id_salt : String, label : String, value : Int, min_val? : Int, max_val? : Int, step? : Int, default_val? : Int, unit? : String, show_ticks? : Bool, size? :
    Vec2
    ) -> (Int,
    Response
    )

    Integer variant of the vertical parameter fader.

    hsv_to_rgb

    fn hsv_to_rgb(h : Double, s : Double, v : Double) -> (Int, Int, Int)

    Convert HSV color components (h in [0, 360], s in [0, 1], v in [0, 1]) to standard RGB.

    Render a standalone text hyperlink with hover underline and pointer cursor.

    is_cjk_char

    fn is_cjk_char(code : Int) -> Bool

    is_cjk_closing_punct

    fn is_cjk_closing_punct(code : Int) -> Bool

    knob

    fn knob(ctx :
    UIContext
    , id_salt : String, label : String, value : Double, min_val? : Double, max_val? : Double, step? : Double, default_val? : Double, unit? : String, radius? : Double, bipolar? : Bool) -> (Double,
    Response
    )

    Immediate-mode rotary knob parameter controller in Studio Light porcelain style. Features 270-degree arc track, unipolar/bipolar sweeps, vertical drag delta, scroll wheel stepping, Shift precision scaling, and monospace readouts.

    knob_int

    fn knob_int(ctx :
    UIContext
    , id_salt : String, label : String, value : Int, min_val? : Int, max_val? : Int, step? : Int, default_val? : Int, unit? : String, radius? : Double, bipolar? : Bool) -> (Int,
    Response
    )

    Render a top-level menu dropdown trigger (e.g. "文件", "视图"). When open, it renders its child menu items on the deferred foreground layer.

    Render a top-level horizontal application menu bar in Studio Light style. Spans the available width with a standard 28.0px height.
    fn menu_item(ctx :
    UIContext
    , label : String, shortcut? : String, disabled? : Bool) ->
    Response

    Render a single item inside an active menu dropdown. Supports an optional keyboard shortcut (e.g. "⌘N") aligned to the right.
    fn menu_separator(ctx :
    UIContext
    ) -> Unit

    Render a clean divider line between menu item groups.

    next_char_boundary

    fn next_char_boundary(text : String, pos : Int) -> Int

    node_editor

    fn node_editor(ctx :
    UIContext
    , id_salt : String, size :
    Vec2
    , nodes : Array[NodeItem], connections : Array[NodeConnection], custom_style? : NodeEditorStyle?, selected_node? : String?) -> NodeEditorResponse

    Main functional entry point for the NodeEditor component.

    plot

    fn plot(ctx :
    UIContext
    , id_salt : String, series : Array[PlotSeries], size? :
    Vec2
    , show_grid? : Bool, show_crosshair? : Bool, show_legend? : Bool) -> (
    Vec2
    ?,
    Response
    )

    Render an immediate-mode 2D coordinate plot with multi-series support, automatic axis scaling, divide-by-zero protection, background grid, scissor-clipped curve drawing, and interactive crosshair coordinates.

    prev_char_boundary

    fn prev_char_boundary(text : String, pos : Int) -> Int

    rgb_to_hsv

    fn rgb_to_hsv(r : Int, g : Int, b : Int) -> (Double, Double, Double)

    Convert RGB integer components (0..255) to HSV color representation.

    rich_text

    fn rich_text(ctx :
    UIContext
    , id_salt : String, spans : Array[TextSpan], wrap_width? : Double) -> RichTextResponse

    Render inline rich text with word-wrapping, mixed formatting (normal, bold, inline code pills, hyperlinks), and link click detection.

    sparkline

    fn sparkline(ctx :
    UIContext
    , id_salt : String, values : Array[Double], size? :
    Vec2
    , color? :
    Color
    , fill? : Bool, show_hover? : Bool) -> (Int?,
    Response
    )

    string_slice

    fn string_slice(s : String, start : Int, end : Int) -> String

    table

    fn table(ctx :
    UIContext
    , id_salt : String, size :
    Vec2
    , columns : Array[TableColumn], row_count : Int, render_cell : (
    UIContext
    , Int, Int,
    Rect
    ) -> Unit, row_height? : Double, header_height? : Double, selected_row? : Int, sort_column? : String, sort_direction? : TableSortDirection) -> TableResponse

    Render a virtualized data table with resizable column headers, sorting, alternating row stripes, row selection, and smooth vertical scrolling.

    tree_view

    fn tree_view(ctx :
    UIContext
    , id_salt : String, nodes : Array[TreeNode], selected_id? : String?, expanded_ids? : Array[String], indent_step? : Double, item_height? : Double, size? :
    Vec2
    ) -> TreeViewResponse

    Immediate-mode hierarchical tree view in Studio Light porcelain style. Supports multi-level expand/collapse with memory, hierarchy guide lines, custom node icons, selection highlights, and full keyboard navigation.