Skip to content

Welcome to the Basalt Wiki

Basalt 2.5 is an improved and extended release of the Basalt 2 UI framework for CC:Tweaked. It keeps the familiar approach to building terminal interfaces while modernizing the internals and developer experience.

Features

  • Pre-built components: Buttons, lists, text boxes, tables, dialogs, menus, trees, and more
  • Modern UI tools: Reactive state, animations, themes, responsive layouts, palettes, and XML
  • Event system: Flexible event handling for user interaction and application logic
  • Optional modules: Add animations, charts, images, responsive rules, themes, XML layouts, and debugging tools as needed
  • Developer friendly:
    • LuaLS type information for improved editor support
    • Generated API documentation that stays synchronized with the source
    • Support for minified builds

Quick Start

lua
local basalt = require("basalt")

local frame = basalt.getMainFrame()
frame:setBackground(basalt.rgb("#1e1e2e"))

local label = frame:addLabel({
    x = 2,
    y = 2,
    text = "Hello World",
})

frame:addButton({
    x = 2,
    y = 4,
    text = "Click me",
})
    :onClick(function(self)
        self.text = "Thanks!"
        label.text = "Button clicked!"
    end)

basalt.run()

Preview

Basalt Demo GIF

Documentation

Community & Support

Last updated:

Released under the MIT License.