Proposed: Provide user generated scripting with libsql and wasm
Metadata
- Status: proposed
- Deciders: V-Sekai,
- Tags: V-Sekai,
Context and Problem Statement
We want to have user scripting for interactivity for objects, pets and npcs.
Describe the proposed option and how it helps to overcome the problem or limitation
We implement the wasm scripts using libsql and a wasm runtime to be determined.
We had a previous implementation called WASGO. Possible names for the new one is WASGOQuery and WASGO.
Advantages:
- WAMR wasn’t well liked because it’s written in c/c++ and because it’s not widely used.
- WASMTIME is widely used and used for commercial / financial applications
Disadvantages:
- WASMTIME rust is hard to deploy
- WAMR is hard to use.
Open Questions:
Does it require determinism for clustering?
Describe how your proposal will work, with code, pseudo-code, mock-ups, or diagrams
We ONLY support floating point, integers, strings and byte arrays.
Positive Consequences
We can user script our worlds.
Negative Consequences
We cannot get other features in.
Option graveyard
- Option: The status quo.
- Rejection Reason: This solves nothing.
If this enhancement will not be used often, can it be worked around with a few lines of script?
Knowing what to do is hard.
Is there a reason why this should be core and done by us?
Scriptability is a core feature.