Scripting
Not implemented. engine/scripting/ is reserved.
Gameplay scripting starts as TypeScript ES modules. Performance-sensitive or ecosystem modules may later use WASM or native boundaries with an explicit ABI. Raw internal object pointers are not a plugin ABI.
Scripts subscribe to the engine fixed step or variable update through a public API. They do not import editor modules. A script that needs an editor panel ships a separate editor entry. See ../plugins/overview.md.
The founding example manifest:
{
"id": "com.example.vehicle-tools",
"version": "0.1.0",
"engine": "^0.4.0",
"entryRuntime": "./dist/runtime.mjs",
"entryEditor": "./dist/editor.mjs",
"permissions": ["asset.read", "editor.panel.register"]
}
Capabilities are explicit so a future collaboration or marketplace story is possible. The marketplace itself is an early non-goal.