phosphor-tiles

Tiling algorithms (Luau via pluau), the registry, and TilingState.

The algorithm vocabulary and per-screen tiling state. TilingAlgorithm is the base; LuauTileAlgorithm is the single concrete implementation — every layout (binary-split, master-stack, columns, spiral, …) ships as a .luau script in data/algorithms/, written against the pluau standard library. There are no hard-coded C++ geometry algorithms. ScriptedAlgorithmLoader discovers and hot-reloads *.luau files; AlgorithmRegistry is the concrete catalogue. The Luau host (read-only sandbox, watchdog, marshalling) lives in phosphor-scripting. TilingState tracks per-screen window order + master count + split tree and implements IPlacementState. AutotileLayoutSource is the ILayoutSource adapter. The runtime engine lives in phosphor-tile-engine.

Full API →

Key types

TilingAlgorithm
Abstract base; calculateZones(TilingParams) → QVector<QRect>.
LuauTileAlgorithm
The concrete TilingAlgorithm; delegates to a Luau script.
ScriptedAlgorithmLoader
Discovers *.luau files, validates names, registers + hot-reloads them.
AlgorithmRegistry
Concrete catalogue of registered LuauTileAlgorithms.
TilingState
Per-screen state implementing IPlacementState.
AutotileLayoutSource
ILayoutSource adapter wrapping the registry.
AutotilePreviewRender
Paint-a-thumbnail helper for the algorithm picker.

Dependencies

See also

References