step_renderer

Composable render functions for the alignment card stack column

Toolbar & Stats

Alignment-specific toolbar with card count selector. Rendered into the shared chrome area when the alignment column is active.


render_align_toolbar


def render_align_toolbar(
    current_speed:float=1.0, # Current playback speed
    auto_navigate:bool=False, # Whether auto-navigate is enabled
    speed_url:str='', # URL for speed-change POST (server persistence)
    oob:bool=False, # Whether to render as OOB swap
)->Any: # Toolbar component

Render the alignment toolbar (speed selector + auto-play toggle).


render_align_source_position


def render_align_source_position(
    chunks:List, # Current VAD chunks
    focused_index:int=0, # Currently focused chunk index
    oob:bool=False, # Whether to render as OOB swap
)->Any: # Audio file position indicator (empty if single file)

Render audio file position indicator for the focused chunk.


render_align_stats


def render_align_stats(
    chunks:List, # Current VAD chunks
    oob:bool=False, # Whether to render as OOB swap
)->Any: # Statistics component

Render alignment statistics.

Column Body

Renders the alignment column content area: card stack viewport, hidden audio element, keyboard infrastructure, and JavaScript callbacks.


render_align_column_body


def render_align_column_body(
    chunks:List, # VAD chunks to display
    focused_index:int, # Currently focused chunk index
    visible_count:int, # Number of visible cards in viewport
    card_width:int, # Card stack width in rem
    urls:AlignmentUrls, # URL bundle for alignment routes
    kb_system:Any=None, # Rendered keyboard system (None when KB managed externally)
    audio_urls:Optional=None, # Audio file URLs for Web Audio API
    should_play_fn:str='', # Consumer-defined play guard function name (overrides default zone guard)
)->Any: # Div with id=COLUMN_CONTENT

Render the alignment column content area with card stack viewport.