Forest Logo
search
package_2

plinth

By @emdomanus

Roblox

Mirrored

Plinth

Plinth is a reactive Roblox UI package built around themed primitives, component-owned interaction state, and low-overhead runtime helpers.

Install

aftman install
wally install

Plinth's direct Wally dependencies are:

vide = "centau/vide@0.4.0"
ui-labs = "pepeeltoro41/ui-labs@2.4.2"
tempo = "emdomanus/tempo@0.1.0"
hook = "emdomanus/hook@0.1.0"

Plinth uses Tempo for internal scheduling and Hook for its shared pressable release fan-out.

Migration Notes

This package includes MIGRATION.md for developers and code agents updating older callers. The short version:

  • Surface and mount helpers are gone from the public path.
  • Parent content directly into panel.content, button.content, tooltip.content, or a handle's host.
  • Use vTransparency, vScale, and vVisible as explicit reactive channels instead of wrapper frames, UIScale, or CanvasGroup when possible.
  • Optional visual layers such as panel stroke and shadow may be unparented while invisible.

Runtime

Plinth owns a private Tempo instance for internal UI timing. Components use it for delayed visibility and interaction cleanup instead of spawning per-component delay threads or using Plinth's old scheduler utility.

Consumers do not need to step this Tempo manually; Plinth binds its internal heartbeat phase when the package runtime is required.

Assets

Plinth can load without asset folders. If you use named image or sound assets, set these after requiring the package and before creating components that resolve named assets:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Plinth = require(Packages.plinth)

Plinth.config.pathToImages = ReplicatedStorage.Assets.UI.Images
Plinth.config.pathToSounds = ReplicatedStorage.Assets.UI.Sounds

If an asset path is missing, lookups resolve blank/nil instead of throwing during package load.

Editor Sourcemap

After wally install, regenerate the dev sourcemap and patch package thunks for Luau types:

rojo sourcemap dev.project.json -o dev-sourcemap.json
wally-package-types --sourcemap dev-sourcemap.json Packages

If rojo is not on PATH:

& $env:USERPROFILE\.aftman\tool-storage\rojo-rbx\rojo\7.7.0-rc.1\rojo.exe sourcemap dev.project.json -o dev-sourcemap.json
wally-package-types --sourcemap dev-sourcemap.json Packages

Build

rojo build default.project.json -o plinth.rbxm

The package entrypoint is src/init.luau, which re-exports src/plinth.

Package Details

Install command (Click to copy)


Version

0.1.3

License

MIT

check_circle

Safe for commercial use

Automated license review — not legal advice.