Skip to main content
Record draw ops into a bounded buffer, play them back once per frame.

Recording

DefaultCommandList is CommandList(2048, 32 * 1024). Strings intern inside the list buffer. Command families: solidRect, blendRect, rectOutline, circle, text, image, imageFill, sprite, clear, scissor stack (depth 8).

Rasterize

  • Scissor stack clips shapes and images.
  • When full_damage is false, commands outside damage_rects are skipped.
  • Font resolution: font_instance param, then list.font.

SDF rounded rects

Rounded corners use an SDF path inside quad_renderer. Surface Description panel nodes emit these commands automatically.

Ownership

New app UI should go through otter-ui UiState, which owns the command list. Bar widgets, monitor chrome, and renderer internals still record commands directly.