LSL → TypeScript transpiler for the open metaverse.
Paste a Second Life script. Get modern, type-safe code.
Create a box in World, add an LSL script, run it from Contents and make it change colour when touched.
Build and script a box →LSL-to-TypeScript mappings generated from the transpiler's source data. Compiler recognition and host support are separate; check feature notes before relying on a new mapping.
Browse functions →All 38 LSL events with their poqpoq handler names, parameter signatures, and detected-data capabilities.
Browse events →~400 LSL constants — permissions, attach points, particle flags, prim params — with their TypeScript equivalents.
Browse constants →Read face values, compare default and planar texture mapping, and check paired compiler/World updates. Includes a hands-on LSL example and current limitations.
Work with surfaces →Build a dialog listener, understand event ordering, and handle animation permissions and reset cleanup.
Work with events →Paste this LSL into the editor and hit Transpile:
default
{
state_entry()
{
llSay(0, "Hello from poqpoq!");
}
touch_start(integer num_detected)
{
llSay(0, "Touched by " + llDetectedName(0));
}
}
The editor shows the generated output for the compiler version you are using. To put this behaviour into World, follow Your First Scripted Object.