A reactive Luau library for creating UI. https://centau.github.io/vide/
Find a file
Stephen fb57af2797
fix: rename three Instances keys added in #92 (#93)
`SufaceGui` is a misspelling of `SurfaceGui`, and `ColorValue` and
`VectorValue` are not Roblox classes: the value objects are
`Color3Value` and `Vector3Value`. Under the new solver the real
names were type errors and the wrong ones type-checked and then
threw at runtime. Type table only; nothing changes at runtime.
2026-09-28 12:03:06 +01:00
.github/workflows Bump wally and pesde version 2026-07-11 13:31:48 +01:00
docs Add delayed scope destruction to docs 2026-01-17 20:15:05 +00:00
src fix: rename three Instances keys added in #92 (#93) 2026-09-28 12:03:06 +01:00
test Bump version to 0.4.1 2026-07-11 13:25:38 +01:00
.gitignore Update actions and tooling 2025-06-23 19:09:21 +01:00
.luaurc Initial commit 2023-08-08 21:33:11 +01:00
CHANGELOG.md Bump version to 0.4.1 2026-07-11 13:25:38 +01:00
default.project.json Initial commit 2023-08-08 21:33:11 +01:00
init.luau feat: export vide.create types and include more ui element types (#79) 2026-08-05 17:43:28 +01:00
LICENSE.md Initial commit 2023-08-08 21:33:11 +01:00
pesde.toml Bump wally and pesde version 2026-07-11 13:31:48 +01:00
README.md Improve Documentation Site (#41) 2024-11-03 17:32:19 +00:00
rokit.toml Update actions and tooling 2025-06-23 19:09:21 +01:00
todo.md Fix recursive batch() use 2023-11-20 12:27:56 +00:00
wally.toml Bump wally and pesde version 2026-07-11 13:31:48 +01:00


Vide is a reactive Luau UI library inspired by Solid.

  • Fully Luau typecheckable
  • Declarative and concise syntax.
  • Reactively driven.

Getting started

Read the crash course for a quick introduction to the library.

Code sample

local create = vide.create
local source = vide.source

local function Counter()
    local count = source(0)

    return create "TextButton" {
        Text = function()
            return "count: " .. count()
        end,

        Activated = function()
            count(count() + 1)
        end
    }
end