FlashBang¶
FlashBang is an immediate-mode UI library for Odin: each frame you set up context, call widget procedures with configuration structs, and collect returned state (clicks, text changes, focus, and so on). Widgets append renderer-neutral draw operations to a DrawList that your backend turns into GPU work.
This site documents the public flashbang package and the widget/style APIs as they exist in the FlashBang library source tree. When in doubt, trust the .odin files in that repository—not older design notes.
Stack¶
These pages are built with MkDocs and Material for MkDocs (Markdown → static HTML).
Where to start¶
- Immediate mode — per-frame flow:
DrawList,set_immediate_context, backends, theme, calling widgets. - Architecture — how
src/is laid out and how packages relate. - Theming —
Theme,resolve_surface, optional theme procs,push_theme/pop_theme. See Membrane for a full worked example. - API index — map of re-exports from
flashbang.odin. - Widgets — per-widget reference (growing over time).
Library repository¶
The implementation lives in the FlashBang repo (Odin sources). This FlashBangWeb repo holds only the documentation site.