[Epic] Standardise viewer <-> LSL traffic: SLBridge protocol v1 (versioned envelope, type registry, capabilities, one rule set) #1213
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#1213
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
More features now talk between the viewer and in-world scripts: consent poses, script info (#425), Game Control, and the GunMetal-DX ports (#1205, especially CombatFX #1211, whose combat events add about 400 lines to the helper). Today SLBridge is a set of conventions, not a spec. Make it the one way Slipstream talks to scripts, as a versioned, documented protocol.
Current state
SLBridge (
indra/newview/slbridge.{h,cpp},app_settings/slbridge/slipstream_helper.lsl):llOwnerSay("#slb:<type>|..."), swallowed by the viewer;Its rules are good and stay: identity from the sim, never speaks first, token-bucket rate limits, only known line shapes forwarded, quiet without viewer pings.
Gaps:
Other paths, which stay separate:
@commands (community standard);GameControlData#1202 / #1203: use native whenever LL provides it, never duplicate it in the bridge);Design (v1)
#slb:<type>/<ver>|<fields>. A type registry gives each type: direction, sender (viewer / helper / other avatar via public channel), fields, rate budget and consent requirement.<type>/<ver>list; the viewer turns features on to match, so different versions and forks degrade cleanly.doc/SLBRIDGE_PROTOCOL.md, versioned, readable by script authors and forks.Supporting tickets
Listed below; each references this epic.