STASIS
Reference / public modules

Standard library

Exact signatures from the 15 public top-level modules. Internal and testing modules are excluded.

15 modules · 253 top-level function declarations

This generated snapshot normalizes whitespace only. Annotations, extern identities, effects, asset paths, and receiver self parameters remain visible. sdl_scancodes contributes the Scancode enum and no functions.

Common combinations

Small compositions using the public APIs above.

Graphics frame

import "../src/stdlib/graphics.stasis";
function render(): i32 {
  begin_frame();
  clear(0.05, 0.05, 0.10, 1.0);
  fill_rect(20.0, 20.0, 80.0, 24.0, 1.0, 1.0, 1.0, 1.0);
  end_frame();
  return 0;
}

Collision gate

import "../src/stdlib/collision.stasis";
let hit = aabb_intersects(
  player.x, player.y, player.x + 16.0, player.y + 16.0,
  goal.x, goal.y, goal.x + 16.0, goal.y + 16.0
);

Durable score

import "../src/stdlib/storage.stasis";
let saved = storage_save_i32("profile", "score", state.score);
let best = storage_load_i32("profile", "score", 0);
asset_tasks 24 functions

Fixed-layout asset handles and asynchronous loading state.

Source: src/stdlib/asset_tasks.stasis · Import: ../src/stdlib/asset_tasks.stasis

Named declarations: enum AssetState, struct ImageAsset, struct AudioAsset, struct LoadingProgress, struct Sprite

function reset(self: LoadingProgress): void function advance(self: LoadingProgress, total_count: i32, loaded_count: i32, failed_count: i32): i32 function complete(self: LoadingProgress): bool function successful(self: LoadingProgress): bool function @effects(graphics)@extern("stasis_jit_asset_request_sprite") asset_request_sprite(path: string, width: i32, height: i32): i32 function @effects(audio)@extern("stasis_jit_asset_request_audio") asset_request_audio(path: string): i32 function @effects(platform)@extern("stasis_jit_asset_task_poll") asset_task_state(request: i32): AssetState function @effects(platform)@extern("stasis_jit_asset_task_take_handle") asset_task_take_handle(request: i32): i32 function @effects(platform)@extern("stasis_jit_asset_task_cancel") asset_task_cancel(request: i32): void function @effects(graphics)@extern("stasis_jit_gfx_release_sprite") gfx_release_sprite(handle: i32): void extern function @effects(audio) audio_release(asset_handle: i32): void function reset_image(self: ImageAsset): void function reset_audio(self: AudioAsset): void function release(self: ImageAsset): void function release(self: AudioAsset): void function release(self: Sprite): void function @asset_path(path) load_image(self: ImageAsset, path: string, width: i32, height: i32): bool function @asset_path(path) load_audio(self: AudioAsset, path: string): bool function status(self: ImageAsset): AssetState function status(self: AudioAsset): AssetState function ready(self: ImageAsset): bool function ready(self: AudioAsset): bool function failed(self: ImageAsset): bool function failed(self: AudioAsset): bool
audio 27 functions

Audio playback, handles, and the host audio boundary.

Source: src/stdlib/audio.stasis · Import: ../src/stdlib/audio.stasis

function play(self: AudioAsset, loop: bool, volume: f32, pan: f32): i32 function play_effect(self: AudioAsset, volume: f32): bool function play_music(self: AudioAsset, loop: bool, volume: f32): bool function stop_music(self: AudioAsset): void function pause_music(self: AudioAsset, paused: bool): void function set_music_volume(self: AudioAsset, volume: f32): void extern function @effects(audio) audio_init(sample_rate: i32, channels: i32, target_latency_frames: i32): bool extern function @effects(audio) audio_shutdown(): void extern function @effects(audio) audio_is_available(): bool extern function @effects(audio) audio_get_sample_rate(): i32 extern function @effects(audio) audio_get_channels(): i32 extern function @effects(audio) audio_get_queued_frames(): i32 extern function @effects(audio) audio_get_underruns(): i32 extern function @effects(audio) audio_push_f32_interleaved(samples: f32[], frame_count: i32): i32 extern function @effects(audio)@asset_path(path) audio_load_wav(path: string): i32 extern function @effects(audio) audio_play(asset_handle: i32, loop: bool, volume: f32, pan: f32): i32 extern function @effects(audio) audio_stop(voice_handle: i32): void extern function @effects(audio) audio_voice_is_playing(voice_handle: i32): bool extern function @effects(audio) audio_voice_set_paused(voice_handle: i32, paused: bool): void extern function @effects(audio) audio_voice_set_volume_pan(voice_handle: i32, volume: f32, pan: f32): void function @effects(audio)@asset_path(path)@extern("stasis_jit_audio_load_music") audio_load_music(path: string): i32 function @effects(audio)@asset_path(path)@extern("stasis_jit_audio_load_effect") audio_load_effect(path: string): i32 function @effects(audio)@extern("stasis_jit_audio_play_music") audio_play_music(asset_handle: i32, loop: bool, volume: f32): bool function @effects(audio)@extern("stasis_jit_audio_stop_music") audio_stop_music(asset_handle: i32): void function @effects(audio)@extern("stasis_jit_audio_pause_music") audio_pause_music(asset_handle: i32, paused: bool): void function @effects(audio)@extern("stasis_jit_audio_set_music_volume") audio_set_music_volume(asset_handle: i32, volume: f32): void function @effects(audio)@extern("stasis_jit_audio_play_effect") audio_play_effect(asset_handle: i32, volume: f32): bool
clipboard 4 functions

Small clipboard read/write helpers for host integrations.

Source: src/stdlib/clipboard.stasis · Import: ../src/stdlib/clipboard.stasis

function @effects(platform)@extern("stasis_jit_clipboard_load_ascii") clipboard_load_ascii_raw(out: ascii[], capacity: i32): i32 function @effects(platform)@extern("stasis_jit_clipboard_save_ascii") clipboard_save_ascii_raw(value: ascii[], length: i32): i32 function clipboard_load_ascii(out: ascii[]): i32 function clipboard_save_ascii(value: ascii[]): bool
collision 4 functions

Deterministic rectangle and primitive collision helpers.

Source: src/stdlib/collision.stasis · Import: ../src/stdlib/collision.stasis

function @inline aabb_intersects( minimum_x: f32, minimum_y: f32, maximum_x: f32, maximum_y: f32, other_minimum_x: f32, other_minimum_y: f32, other_maximum_x: f32, other_maximum_y: f32 ): bool function @inline aabb_contains_point(minimum_x: f32, minimum_y: f32, maximum_x: f32, maximum_y: f32, point_x: f32, point_y: f32): bool function @inline circle_intersects(x: f32, y: f32, radius: f32, other_x: f32, other_y: f32, other_radius: f32): bool function @inline circle_contains_point(x: f32, y: f32, radius: f32, point_x: f32, point_y: f32): bool
flex_layout 15 functions

Bounded flex-style layout calculations for UI composition.

Source: src/stdlib/flex_layout.stasis · Import: ../src/stdlib/flex_layout.stasis

Named declarations: const FLEX_RECT_STRIDE, const FLEX_RECT_X, const FLEX_RECT_Y, const FLEX_RECT_W, const FLEX_RECT_H, const FLEX_JUSTIFY_START, const FLEX_JUSTIFY_CENTER, const FLEX_JUSTIFY_END, const FLEX_JUSTIFY_SPACE_BETWEEN, const FLEX_ALIGN_START, const FLEX_ALIGN_CENTER, const FLEX_ALIGN_END, const FLEX_ALIGN_STRETCH

function flex_max_f32(a: f32, b: f32): f32 function flex_min_i32(a: i32, b: i32): i32 function flex_rect_set(rect: f32[], x: f32, y: f32, w: f32, h: f32): void function flex_rect_set_at(rects: f32[], index: i32, x: f32, y: f32, w: f32, h: f32): void function flex_rect_x(rects: f32[], index: i32): f32 function flex_rect_y(rects: f32[], index: i32): f32 function flex_rect_w(rects: f32[], index: i32): f32 function flex_rect_h(rects: f32[], index: i32): f32 function flex_measure_box(out_size: f32[], inner_w: f32, inner_h: f32, pad_x: f32, pad_y: f32): void function flex_measure_text_box(out_size: f32[], font: i32, text: string, line_h: f32, pad_x: f32, pad_y: f32): void function flex_measure_text_run_box(out_size: f32[], run: TextRun, line_h: f32, pad_x: f32, pad_y: f32): void function flex_main_total(item_main: f32[], count: i32, gap: f32): f32 function flex_row(out_rects: f32[], parent: f32[], item_w: f32[], item_h: f32[], count: i32, gap: f32, justify: i32, align: i32): void function flex_column(out_rects: f32[], parent: f32[], item_w: f32[], item_h: f32[], count: i32, gap: f32, justify: i32, align: i32): void function flex_grid(out_rects: f32[], parent: f32[], item_w: f32[], item_h: f32[], count: i32, columns: i32, col_gap: f32, row_gap: f32): void
frame_timer 5 functions

A fixed-size frame sample window for simple timing diagnostics.

Source: src/stdlib/frame_timer.stasis · Import: ../src/stdlib/frame_timer.stasis

Named declarations: const FRAME_TIMER_SAMPLES, struct FrameTimer

function frame_timer_reset_index(): i32 function frame_timer_init(samples_ms: i32[120]): void function frame_timer_push(samples_ms: i32[120], sample_index: i32, value_ms: i32): i32 function frame_timer_avg_tenths(samples_ms: i32[120]): i32 function frame_timer_max(samples_ms: i32[120]): i32
graphics 62 functions

Window, input, drawing, sprites, text, and animation primitives.

Source: src/stdlib/graphics.stasis · Import: ../src/stdlib/graphics.stasis

Named declarations: struct TextRun, const ANIMATION_PLAYBACK_ONCE, const ANIMATION_PLAYBACK_LOOP, const ANIMATION_PLAYBACK_PING_PONG, struct AnimationClip, struct SpriteSheet

extern function @effects(nondeterministic) sleep_ms(ms: i32): void function get_time_ms(): i32 function get_time_us(): i32 extern function @effects(graphics) gfx_poll_reload(handle: i32): bool extern function @effects(graphics, storage) gfx_dump_bmp(path: string): i32 extern function @effects(graphics, storage) gfx_dump_png(path: string): i32 extern function @effects(graphics)@asset_path(path) load_font(path: string, size: i32): i32 extern function @effects(graphics) measure_text(font: i32, text: string): f32 function @effects(graphics)@asset_path(path)@extern("stasis_jit_sprite_load_from") load_sprite_from( self: Sprite, path: string, width: i32, height: i32 ): bool function @effects(graphics)@extern("stasis_jit_sprite_load_from") load_sprite_sheet_asset_from( self: SpriteSheet, path: string, width: i32, height: i32 ): bool function publish(self: ImageAsset, target: Sprite): bool function draw(self: Sprite, x: f32, y: f32, alpha: i32, rotation: i32): void function load_sprite_sheet_from(self: SpriteSheet, path: string, columns: i32, rows: i32, cell_width: i32, cell_height: i32): bool function draw_frame(self: SpriteSheet, frame: i32, x: f32, y: f32, alpha: i32, rotation: i32): void function animation_frame_at(first_frame: i32, frame_count: i32, ticks_per_frame: i32, playback_mode: i32, elapsed_ticks: i32): i32 function animation_finished(frame_count: i32, ticks_per_frame: i32, playback_mode: i32, elapsed_ticks: i32): bool function frame_at(self: AnimationClip, elapsed_ticks: i32): i32 function finished(self: AnimationClip, elapsed_ticks: i32): bool function @effects(graphics)@extern("stasis_jit_text_run_load_from") load_text_from(self: TextRun, font: i32, text: string): bool function draw(self: TextRun, x: f32, y: f32, r: f32, g: f32, b: f32, a: f32): void function get_desktop_size(out_w: i32[], out_h: i32[]): void function init_window(width: i32, height: i32, title: string): bool function set_window_size(width: i32, height: i32): void function set_fullscreen(enabled: i32): i32 function set_maximized(enabled: i32): i32 function set_maximized_canvas(width: i32, height: i32): i32 function begin_frame(): void function end_frame(): void function clear(r: f32, g: f32, b: f32, a: f32): void function draw_line(x1: f32, y1: f32, x2: f32, y2: f32, r: f32, g: f32, b: f32, a: f32): void function fill_rect(x: f32, y: f32, w: f32, h: f32, r: f32, g: f32, b: f32, a: f32): void function draw_lines(lines: f32[], count: i32): void function gfx_draw_sprites(cmd_i32: i32[], cmd_f32: f32[], count: i32): void function gfx_window_resized(): bool function gfx_logical_width(): f32 function gfx_logical_height(): f32 function gfx_native_width_px(): i32 function gfx_native_height_px(): i32 function gfx_drawable_width_px(): i32 function gfx_drawable_height_px(): i32 function gfx_safe_viewport_x(): f32 function gfx_safe_viewport_y(): f32 function gfx_safe_viewport_width(): f32 function gfx_safe_viewport_height(): f32 function gfx_content_scale(): f32 function gfx_raster_scale(): f32 function gfx_display_generation(): i32 function gfx_density_generation(): i32 function is_key_down(scancode: i32): bool function should_quit(): bool function input_pointer_count(): i32 function input_pointer_id(index: i32): i32 function input_pointer_is_down(index: i32): bool function input_pointer_went_down(index: i32): bool function input_pointer_went_up(index: i32): bool function input_pointer_x_logical(index: i32): f32 function input_pointer_y_logical(index: i32): f32 function input_pointer_dx_logical(index: i32): f32 function input_pointer_dy_logical(index: i32): f32 function input_pointer_x_n(index: i32): f32 function input_pointer_y_n(index: i32): f32 function input_dropped_pointers(): i32
hud_table 10 functions

Compact table layout helpers for heads-up displays.

Source: src/stdlib/hud_table.stasis · Import: ../src/stdlib/hud_table.stasis

Named declarations: const HUD_RECT_X, const HUD_RECT_Y, const HUD_RECT_W, const HUD_RECT_H

function hud_clamp(value: i32, minimum: i32, maximum: i32): i32 function hud_rect_set(out_r: f32[], x: f32, y: f32, w: f32, h: f32): void function hud_table_width(col_w: f32[], col_count: i32, col_gap: f32): f32 function hud_table_height(row_count: i32, row_h: f32, row_gap: f32): f32 function hud_table_place(out_table: f32[], parent: f32[], table_w: f32, table_h: f32, anchor: i32, pad_x: f32, pad_y: f32): void function hud_table_cell_x(table: f32[], col_w: f32[], col_count: i32, col_gap: f32, col: i32): f32 function hud_table_cell_w(col_w: f32[], col_count: i32, col: i32): f32 function hud_table_cell_y(table: f32[], row_h: f32, row_gap: f32, row: i32): f32 function hud_table_cell_h(row_h: f32): f32 function hud_table_cell_rect( out_cell: f32[], table: f32[], col_w: f32[], col_count: i32, col_gap: f32, row_h: f32, row_gap: f32, col: i32, row: i32 ): void
memory 18 functions

Checked fixed-array copy, move, set, and zero operations.

Source: src/stdlib/memory.stasis · Import: ../src/stdlib/memory.stasis

extern function @effects(memory) sys_memcpy_u8(dst: u8[], dst_index: i32, src: u8[], src_index: i32, count: i32): void extern function @effects(memory) sys_memcpy_i32(dst: i32[], dst_index: i32, src: i32[], src_index: i32, count: i32): void extern function @effects(memory) sys_memcpy_f32(dst: f32[], dst_index: i32, src: f32[], src_index: i32, count: i32): void extern function @effects(memory) sys_memmove_u8(dst: u8[], dst_index: i32, src: u8[], src_index: i32, count: i32): void extern function @effects(memory) sys_memmove_i32(dst: i32[], dst_index: i32, src: i32[], src_index: i32, count: i32): void extern function @effects(memory) sys_memmove_f32(dst: f32[], dst_index: i32, src: f32[], src_index: i32, count: i32): void function mem_copy_u8(dst: u8[], dst_cap: i32, dst_index: i32, src: u8[], src_cap: i32, src_index: i32, count: i32): i32 function mem_copy_u8_checked(dst: u8[], dst_cap: i32, dst_index: i32, src: u8[], src_cap: i32, src_index: i32, count: i32): bool function mem_set_u8(dst: u8[], dst_cap: i32, dst_index: i32, value: u8, count: i32): i32 function mem_zero_u8(dst: u8[], dst_cap: i32, dst_index: i32, count: i32): i32 function mem_copy_i32(dst: i32[], dst_cap: i32, dst_index: i32, src: i32[], src_cap: i32, src_index: i32, count: i32): i32 function mem_copy_i32_checked(dst: i32[], dst_cap: i32, dst_index: i32, src: i32[], src_cap: i32, src_index: i32, count: i32): bool function mem_set_i32(dst: i32[], dst_cap: i32, dst_index: i32, value: i32, count: i32): i32 function mem_zero_i32(dst: i32[], dst_cap: i32, dst_index: i32, count: i32): i32 function mem_copy_f32(dst: f32[], dst_cap: i32, dst_index: i32, src: f32[], src_cap: i32, src_index: i32, count: i32): i32 function mem_copy_f32_checked(dst: f32[], dst_cap: i32, dst_index: i32, src: f32[], src_cap: i32, src_index: i32, count: i32): bool function mem_set_f32(dst: f32[], dst_cap: i32, dst_index: i32, value: f32, count: i32): i32 function mem_zero_f32(dst: f32[], dst_cap: i32, dst_index: i32, count: i32): i32
sdl_scancodes 0 functions

The Scancode enum used by keyboard input functions; representative values include Left, Right, Space, and Escape.

Source: src/stdlib/sdl_scancodes.stasis · Import: ../src/stdlib/sdl_scancodes.stasis

Named declarations: enum Scancode

stdlib 49 functions

Core character, ASCII, UTF-8, conversion, and utility functions.

Source: src/stdlib/stdlib.stasis · Import: ../src/stdlib/stdlib.stasis

extern function @effects(code_swap) reject_code_swap(): void function print(value: i32): void function print(value: string): void function to_i32(value: u8): i32 function to_u8_trunc(value: i32): u8 function char_is_digit(b: u8): bool function char_is_upper(b: u8): bool function char_is_lower(b: u8): bool function char_is_alpha(b: u8): bool function char_is_alnum(b: u8): bool function char_is_space(b: u8): bool function char_is_hex(b: u8): bool function char_is_print(b: u8): bool function char_is_ascii(b: u8): bool function char_to_upper(b: u8): u8 function char_to_lower(b: u8): u8 function char_to_digit(b: u8): i32 function char_from_digit(d: i32): u8 function char_to_hex(b: u8): i32 function char_from_hex(d: i32): u8 function length(s: ascii[]): i32 function ascii_max_length(s: ascii[]): i32 function ascii_scan_limit(s: ascii[]): i32 function ascii_set_len(s: ascii[], len: i32) function ascii_is_empty(s: ascii[]): bool function ascii_get(s: ascii[], index: i32): u8 function ascii_set(s: ascii[], index: i32, b: u8) function ascii_recount(s: ascii[]): i32 function ascii_clear(s: ascii[]) function ascii_copy(dst: ascii[], src: ascii[]): i32 function ascii_append(dst: ascii[], src: ascii[]): i32 function ascii_push(dst: ascii[], b: u8): i32 function ascii_push_i32(dst: ascii[], value: i32): void function ascii_cmp(a: ascii[], b: ascii[]): i32 function ascii_eq(a: ascii[], b: ascii[]): bool function ascii_find_byte(s: ascii[], b: u8): i32 function ascii_find_last_byte(s: ascii[], b: u8): i32 function ascii_starts_with(s: ascii[], prefix: ascii[]): bool function ascii_ends_with(s: ascii[], suffix: ascii[]): bool function ascii_find(s: ascii[], needle: ascii[]): i32 function ascii_contains(s: ascii[], needle: ascii[]): bool function utf8_max_length(s: utf8[]): i32 function length_bytes(s: utf8[]): i32 function length_chars(s: utf8[]): i32 function utf8_set_byte_len(s: utf8[], len: i32): void function utf8_set_char_len(s: utf8[], len: i32): void function utf8_set_len_ascii(s: utf8[], len: i32): void function utf8_clear_ascii(s: utf8[]): void function utf8_from_ascii(dst: utf8[], src: ascii[], dst_max: i32): i32
storage 6 functions

Scoped persistent storage for integers and fixed ASCII values.

Source: src/stdlib/storage.stasis · Import: ../src/stdlib/storage.stasis

extern function @effects(storage) storage_load_i32(scope: string, key: string, fallback: i32): i32 extern function @effects(storage) storage_save_i32(scope: string, key: string, value: i32): bool function @effects(storage)@extern("stasis_jit_storage_load_ascii") storage_load_ascii_raw(scope: string, key: string, out: ascii[], capacity: i32): i32 function @effects(storage)@extern("stasis_jit_storage_save_ascii") storage_save_ascii_raw(scope: string, key: string, value: ascii[], length: i32): i32 function storage_load_ascii(scope: string, key: string, out: ascii[]): i32 function storage_save_ascii(scope: string, key: string, value: ascii[]): bool
ui_axis_layout 2 functions

Axis alignment enums and placement helpers.

Source: src/stdlib/ui_axis_layout.stasis · Import: ../src/stdlib/ui_axis_layout.stasis

Named declarations: enum UiHorizontal, enum UiVertical

function @inline ui_place_x(parent_x: f32, parent_width: f32, child_width: f32, horizontal: UiHorizontal): f32 function @inline ui_place_y(parent_y: f32, parent_height: f32, child_height: f32, vertical: UiVertical): f32
ui_button_9slice 5 functions

Nine-slice button geometry and row placement helpers.

Source: src/stdlib/ui_button_9slice.stasis · Import: ../src/stdlib/ui_button_9slice.stasis

function ui_draw_sprite(handle: i32, x: f32, y: f32, w: f32, h: f32, a: i32): void function ui_row_button_width(available_w: f32, count: i32, gap: f32): f32 function ui_row_button_x(start_x: f32, index: i32, button_w: f32, gap: f32): f32 function ui_draw_9slice( top_left: i32, top: i32, top_right: i32, left: i32, center: i32, right: i32, bottom_left: i32, bottom: i32, bottom_right: i32, slice_w: f32, slice_h: f32, x: f32, y: f32, w: f32, h: f32 ): void function ui_draw_button_9slice( top_left: i32, top: i32, top_right: i32, left: i32, center: i32, right: i32, bottom_left: i32, bottom: i32, bottom_right: i32, slice_w: f32, slice_h: f32, x: f32, y: f32, w: f32, h: f32, label: string, font_handle: i32, text_r: f32, text_g: f32, text_b: f32, text_a: f32, icon_handle: i32, icon_aspect: f32, icon_pad: f32, text_pad: f32 ): void
ui_layout_audit 22 functions

Assertions and measurements for checking UI geometry.

Source: src/stdlib/ui_layout_audit.stasis · Import: ../src/stdlib/ui_layout_audit.stasis

function ui_audit_abs(value: f32): f32 function ui_audit_center_delta_x(parent_x: f32, parent_width: f32, child_x: f32, child_width: f32): f32 function ui_audit_center_delta_y(parent_y: f32, parent_height: f32, child_y: f32, child_height: f32): f32 function ui_audit_left_gap(parent_x: f32, child_x: f32): f32 function ui_audit_right_gap(parent_x: f32, parent_width: f32, child_x: f32, child_width: f32): f32 function ui_audit_top_gap(parent_y: f32, child_y: f32): f32 function ui_audit_bottom_gap(parent_y: f32, parent_height: f32, child_y: f32, child_height: f32): f32 function ui_audit_equal(a: f32, b: f32, tolerance: f32): bool function ui_audit_centered_x(parent_x: f32, parent_width: f32, child_x: f32, child_width: f32, tolerance: f32): bool function ui_audit_centered_y(parent_y: f32, parent_height: f32, child_y: f32, child_height: f32, tolerance: f32): bool function ui_audit_contains_axis(parent_start: f32, parent_length: f32, child_start: f32, child_length: f32, tolerance: f32): bool function ui_audit_overlap_x(first_x: f32, first_width: f32, second_x: f32, second_width: f32): f32 function ui_audit_overlap_y(first_y: f32, first_height: f32, second_y: f32, second_height: f32): f32 function ui_audit_rects_overlap( first_x: f32, first_y: f32, first_width: f32, first_height: f32, second_x: f32, second_y: f32, second_width: f32, second_height: f32 ): bool function ui_audit_milli(value: f32): i32 function ui_audit_print_bool(value: bool): void function ui_audit_rect(id: string, role: string, x: f32, y: f32, width: f32, height: f32): void function ui_audit_text(id: string, x: f32, y: f32, width: f32, height: f32, font_size: i32): void function ui_audit_baseline_check(first_id: string, second_id: string, first_y: f32, second_y: f32, tolerance: f32): void function ui_audit_center_check(axis: string, child_id: string, parent_id: string, delta: f32, tolerance: f32): void function ui_audit_padding_axis( axis: string, id: string, parent_id: string, parent_start: f32, parent_length: f32, child_start: f32, child_length: f32, tolerance: f32 ): void function ui_audit_overlap_axis( axis: string, first_id: string, second_id: string, first_start: f32, first_length: f32, second_start: f32, second_length: f32, overlap_expected: bool ): void