SLua: pull in LL viewer updates since our fork and verify end-to-end readiness for the SLua release #430

Open
opened 2026-10-05 11:39:43 +00:00 by sky_line · 0 comments
Owner

Keep Slipstream current with Linden Lab's SLua (Luau-based server-side scripting) and make sure we're fully ready when it leaves beta.

What we have today

  • LL's script editor work for viewer issue #3423, inherited via upstream (commits 7f88aedbc3 add Lua as a compile target, fd82aa010c adapt to server changes, a54ac5a67f grey out Lua on unsupported regions):
    • compile targets luau ("SLua") and lsl-luau in the script editor (panel_script_ed.xml, llpreviewscript.cpp ~590);
    • Lua keywords / syntax highlighting (LLSyntaxLua, llscripteditor.cpp initKeywords);
    • region gating (the SLua items are disabled where the region doesn't support Lua);
    • external editor files saved as .luau.
  • Slipstream: the LSL preprocessor skips SLua scripts (the editor and the compile queue / mass recompile: llcompilequeue.cpp ~440, llpreviewscript.cpp ~746).

Tasks

  1. Pull in LL's SLua changes since our fork. Diff LL's viewer (secondlife/viewer, develop / release branches and the SLua project branches) for anything touching Lua/Luau. For example:

    • script editor / compile-target behaviour;
    • the syntax/keywords source (the region LSLSyntax-style capability and its Lua equivalent, versioned keyword files);
    • the require / module support UI;
    • new inventory / asset handling for Lua scripts;
    • the compile error / output format;
    • debugger or console hooks;
    • script limits / memory reporting changes for Lua (Script Info, About Land scripts, the Top Scripts estate tools).

    Port what's missing. Also check Alchemy and Firestorm for their SLua handling.

  2. End-to-end verification on SLua-enabled regions (the beta grid / SLua test regions):

    • create, edit, save and compile an SLua script;
    • lsl-luau (LSL compiled to the Luau VM);
    • errors shown on the correct lines;
    • recompile / mass recompile (Build > Scripts > Recompile / Reset in selection) with Lua targets;
    • external editor round trip (.luau);
    • syntax highlighting from the region's keyword file (falling back to bundled keywords);
    • scripts in object contents vs inventory;
    • "Running" / "Mono"-style checkboxes behave sensibly for Lua.
  3. Our own features with SLua:

    • the LSL preprocessor stays off for Lua, but consider whether a Lua-aware #include / require helper is wanted;
    • Area Search script info (#425 / the bridge #428) reporting Lua script memory/time correctly;
    • the debug / script error console showing Lua errors properly;
    • the wiki: an SLua section in the script-editing docs (#415).
  4. Watch LL's announcements and SLua status (beta → release): server-side changes that need viewer updates (new capabilities, new message fields, keyword file versions) should be tracked here or in follow-up tickets.

Done when

  • Parity with LL's current SLua viewer support (ported / verified list in this ticket).
  • End-to-end checks pass on an SLua region (create / compile / errors / recompile / external editor / highlighting).
  • Wiki covers writing SLua in Slipstream.
Keep Slipstream current with Linden Lab's **SLua** (Luau-based server-side scripting) and make sure we're fully ready when it leaves beta. ## What we have today - LL's script editor work for viewer issue #3423, inherited via upstream (commits `7f88aedbc3` add Lua as a compile target, `fd82aa010c` adapt to server changes, `a54ac5a67f` grey out Lua on unsupported regions): - **compile targets** `luau` ("SLua") and `lsl-luau` in the script editor (`panel_script_ed.xml`, `llpreviewscript.cpp` ~590); - **Lua keywords / syntax highlighting** (`LLSyntaxLua`, `llscripteditor.cpp` `initKeywords`); - **region gating** (the SLua items are disabled where the region doesn't support Lua); - external editor files saved as `.luau`. - Slipstream: the **LSL preprocessor skips SLua scripts** (the editor and the compile queue / mass recompile: `llcompilequeue.cpp` ~440, `llpreviewscript.cpp` ~746). ## Tasks 1. **Pull in LL's SLua changes since our fork.** Diff LL's viewer (`secondlife/viewer`, develop / release branches and the SLua project branches) for anything touching Lua/Luau. For example: - script editor / compile-target behaviour; - the syntax/keywords source (the region `LSLSyntax`-style capability and its Lua equivalent, versioned keyword files); - the `require` / module support UI; - new inventory / asset handling for Lua scripts; - the compile error / output format; - debugger or console hooks; - script limits / memory reporting changes for Lua (Script Info, About Land scripts, the Top Scripts estate tools). Port what's missing. Also check Alchemy and Firestorm for their SLua handling. 2. **End-to-end verification on SLua-enabled regions** (the beta grid / SLua test regions): - create, edit, save and compile an SLua script; - `lsl-luau` (LSL compiled to the Luau VM); - errors shown on the correct lines; - recompile / mass recompile (Build > Scripts > Recompile / Reset in selection) with Lua targets; - external editor round trip (`.luau`); - syntax highlighting from the region's keyword file (falling back to bundled keywords); - scripts in object contents vs inventory; - "Running" / "Mono"-style checkboxes behave sensibly for Lua. 3. **Our own features with SLua:** - the LSL preprocessor stays off for Lua, but consider whether a Lua-aware `#include` / `require` helper is wanted; - Area Search script info (#425 / the bridge #428) reporting Lua script memory/time correctly; - the debug / script error console showing Lua errors properly; - the wiki: an SLua section in the script-editing docs (#415). 4. **Watch LL's announcements and SLua status** (beta → release): server-side changes that need viewer updates (new capabilities, new message fields, keyword file versions) should be tracked here or in follow-up tickets. ## Done when - [ ] Parity with LL's current SLua viewer support (ported / verified list in this ticket). - [ ] End-to-end checks pass on an SLua region (create / compile / errors / recompile / external editor / highlighting). - [ ] Wiki covers writing SLua in Slipstream.
sky_line added this to the Slipstream project 2026-10-06 15:04:13 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#430
No description provided.