The two platforms that meet the requirements (dynamic, serializeable continuations, and sandboxing) are currently Rhino and Lua.

The Lua based approach is currently being developed at the weaver-lua repository on github Milestones 1, 2, and 6 have been accomplished.

Read the resources page, specifically the platforms page for exhaustive information and links on why your favorite language will (or won't) work.

Two plans, one on each technology stack, are being defined.

  • Plan A defines the roadmap for the Rhino-based system
  • Plan B defines the Lua-based appraoch.

Feature list (for Milestone reference)

  • Script execution
  • STM/Copy-on-write to allowing easy branching of the world.
  • Weaver synax support - Allows logic-light modules to be implemented without understanding of coding.
  • Visual coding support - drag-and-drop graphical coding
  • World branching support (requires copy-on-write implementation)


Milestone 1

Script storage: Filesystem
Syntax: No extensions.
Execution: No sandboxing, all scripts loaded in memory.
Data storage: Only continuations provide any kind of state.
Editing: No support.
API: Display interaction only.

Milestone 2

Execution: Load only scripts that are needed

Milestone 3

Execution: Allow granular sandboxing

Milestone 4

Storage: Unify script and data storage in a tree-like data structure. Sandboxing permissions (for both data and scripts) and merging hints could exist as a metadata fork.

Milestone 5

Syntax: Add support for simplified syntax

Milestone 6

Add support for web-based editing.