Skip to content

Alpha Viewer: Lua editor#3537

Draft
marchcat wants to merge 567 commits into
mainfrom
project/lua_editor
Draft

Alpha Viewer: Lua editor#3537
marchcat wants to merge 567 commits into
mainfrom
project/lua_editor

Conversation

@marchcat

@marchcat marchcat commented Feb 12, 2025

Copy link
Copy Markdown
Contributor

Included features:
#3422
#3423

as of = 2026-04-29 for PV deploy
build = https://github.com/secondlife/viewer/releases/tag/Second_Life_Project_Lua_Editor%23f209affd-2026-03-30
cohort = Lua.Editor
deployed = https://github.com/secondlife/viewer/releases/tag/Second_Life_Project_Lua_Editor%23f209affd-2026-03-30
desired = 0
relnotes:

Second Life - Lua Editor

Server-side Lua is here!

This release adds faster script editor response time and improved syntax highlighting, while it maintains support for disabling syntax highlighting from a debug setting: ScriptEditorDisableSyntaxHighlight

Please see the following page for information on where and how to use Lua in Second Life: https://wiki.secondlife.com/wiki/Luau_Alpha

Note: that pre-existing Lua scripts will require being recompiled due to recent Server fixes.

Help Us Keep Improving!

Help us shape the future of Second Life! Found a bug or have feedback? Please submit it via our [Feedback Portal](https://feedback.secondlife.com/).

Thanks for being a vital part of the Second Life journey. We can’t wait to see what you create with these latest enhancements!

@marchcat

Copy link
Copy Markdown
Contributor Author

@AtlasLinden

Copy link
Copy Markdown
Contributor
Second Life Project lua editor 7.1.12.13526902562 Result Comment
Spot/Sanity Check Passed Passed

NOTES
Second Life Lua Editor Project Viewer passes QA as a project viewer

Anti-virus false positive report:

File Security vendor analysis
slplugin.exe SecureAge - Malicious
SLVersionChecker.exe SecureAge - Malicious
uninst.exe Bkav Pro - W32.AIDetectMalware

@kylelinden kylelinden left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lua editor Alpha approved.
viewer = 7.1.12.13526902562
build = https://github.com/secondlife/viewer/releases/tag/Second_Life_Project_Lua_Editor%230aaf2e4
cohort = Lua.Editor
desired = 0

@kylelinden kylelinden added the approved Thumbs up from Product label Feb 26, 2025
@Geenz Geenz added the deploy-req Product requests deploy label Mar 1, 2025
@marchcat

marchcat commented Mar 6, 2025

Copy link
Copy Markdown
Contributor Author

@AtlasLinden

Copy link
Copy Markdown
Contributor
Second Life Project lua editor 7.1.12.13703814328 Result Comment
Spot/Sanity Check Passed Passed

NOTES
Second Life Lua Editor Project Viewer passes QA as a project viewer

Anti-virus false positive report:

File Security vendor analysis
slplugin.exe SecureAge - Malicious
MaxSecure- Trojan.Malware.300983.susgen
SLVersionChecker.exe SecureAge - Malicious
uninst.exe Bkav Pro - W32.AIDetectMalware

@AtlasLinden
AtlasLinden requested a review from kylelinden March 6, 2025 23:11

@kylelinden kylelinden left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lua editor Alpha approved
viewer = 7.1.12.13703814328
build = https://github.com/secondlife/viewer/releases/tag/Second_Life_Project_Lua_Editor%237aad509
cohort = Lua.Editor
desired = 0

@marchcat

Copy link
Copy Markdown
Contributor Author

@AtlasLinden

Copy link
Copy Markdown
Contributor
Second Life Project lua editor 7.1.12.13858460198 Result Comment
Spot/Sanity Check Passed Passed

NOTES
Second Life Lua Editor Project Viewer passes QA as a project viewer

Anti-virus false positive report:

File Security vendor analysis
slplugin.exe SecureAge - Malicious
MaxSecure- Trojan.Malware.300983.susgen
SLVersionChecker.exe SecureAge - Malicious
uninst.exe Bkav Pro - W32.AIDetectMalware

@AtlasLinden
AtlasLinden requested a review from kylelinden March 14, 2025 16:55

@kylelinden kylelinden left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lua Editor Alpha approved.
viewer = 7.1.12.13858460198
build = https://github.com/secondlife/viewer/releases/tag/Second_Life_Project_Lua_Editor%23e2333b4
cohort = Lua.Editor
desired = 0

@marchcat

Copy link
Copy Markdown
Contributor Author

@marchcat

Copy link
Copy Markdown
Contributor Author

Geenz and others added 20 commits July 7, 2026 07:43
# Conflicts:
#	indra/newview/llappviewerwin32.cpp
- Update libwebrtc to version m144 (autobuild.xml).
- Use WebRTC's software APM exclusively; disable built-in (hardware/OS)
  AEC/AGC/NS, including after each device (re)deploy.
- Only run the output device once a peer connection's audio is established
  (and bring devices up with the user's selected device at that point),
  fixing the buzz heard before/without an active connection.
- Keep capture warm across mute/unmute to avoid the AEC cold-start hiss;
  stop recording 30s after a sustained mute so the OS mic indicator clears.
- Reliably (re)select and (re)start capture/playout after teleport or
  voice restart so audio sends/records again.
- Don't suspend the voice channel when entering tuning mode (Vivox-era
  behavior that dropped the peer connection).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mute now zeroes captured gain and disables the sender tracks instead of
stopping the capture device, so unmuting no longer cold-starts the AEC
(no hiss) and Bluetooth devices no longer drop/restart as they switch
between mono and stereo.

Capture is gated on voice being enabled rather than on mute: it starts
when voice is enabled and runs across calls and mute/unmute, and is
released when voice is disabled (setVoiceEnabled). Playout stays gated on
there being a connection to render. As a result the OS "mic in use"
indicator is on for the length of the session and only clears when voice
is disabled.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Update libwebrtc to m144 and fix audio device lifecycle/processing
* Add more controls for texture loading budgets.  Should yield much faster loading within a given FPS target - should generally self regulate depending on your framerate.

* Harden texture pipeline against stalls and OOM.  Generally makes texture loading faster, at the expense of some budgeting (which we weren't doing a great job at anyways).
Resolve fallback fonts per-glyph from FontConfig on demand instead of a
truncated static list, so CJK/Thai/Indic scripts render.
# Conflicts:
#	.github/workflows/build.yaml
#	autobuild.xml
#	indra/llcommon/llsys.cpp
#	indra/llrender/llimagegl.cpp
#	indra/llrender/llimagegl.h
#	indra/newview/CMakeLists.txt
#	indra/newview/featuretable.txt
#	indra/newview/featuretable_linux.txt
#	indra/newview/featuretable_mac.txt
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvoiceclient.cpp
#	indra/newview/llvoicevivox.cpp
#	indra/newview/viewer_manifest.py
@marchcat

Copy link
Copy Markdown
Contributor Author

* Adding tight integration flag for vscode and open code through a URL.

* [WIP] Publish objects and their contents from the viewer into VS code.

* [WIP] Still very much a work in progress, supports most of the core operations publish, get, write, delete, and create.  Still quite a few bugs to work out.

* [WIP] Object publishing checkpoint.

* [checkpoint] Script tight integration with vscode, object publishing.

* Number of fixed issue.

* A few redundancy and performance fixes.

* Some cosmetics.

* I like "Explore" better than "Publish"

* Object renaming, luau inventory icon, runstate, restart.

* Some clean up around permissions and possible nullptr deref.

* Code review feedback.
@marchcat

Copy link
Copy Markdown
Contributor Author

@Dan-Linden

Copy link
Copy Markdown
Contributor

That last build will not install correctly for me on Win11.
image
If I run the viewer after installation, nothing appears.

@marchcat

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment