41 lines
2 KiB
JSON
41 lines
2 KiB
JSON
{
|
|
"schema": "gamecult.eve.plugin.v1",
|
|
"pluginId": "sai.vn",
|
|
"title": "Sai Visual Novel",
|
|
"owner": "Sai",
|
|
"componentKinds": ["vn.stage", "panel.dialogue", "text.dialogue", "rail.actions"],
|
|
"commands": [
|
|
{ "command": "story.continue", "schema": "sai.vn.story_command.v1", "effect": "advance-story" },
|
|
{ "command": "story.choose", "schema": "sai.vn.story_command.v1", "effect": "choose-branch" },
|
|
{ "command": "story.jump", "schema": "sai.vn.story_command.v1", "effect": "jump-to-knot" }
|
|
],
|
|
"runtime": {
|
|
"invocationModel": "executable-sidecar",
|
|
"contract": "gamecult.eve.plugin_abi.v1",
|
|
"transports": ["cultnet-rudp", "stdio"],
|
|
"authority": ["renderer-independent", "no-provider-state-mutation", "provider-accepts-or-denies-commands"],
|
|
"sidecar": {
|
|
"processKind": "long-running-daemon",
|
|
"protocol": "cultnet-operation-v0",
|
|
"debugProtocol": "stdio-ndjson",
|
|
"requestSchema": "gamecult.eve.plugin_abi.request.v1",
|
|
"responseSchema": "gamecult.eve.plugin_abi.response.v1",
|
|
"operations": ["describe", "validate", "open", "apply", "project", "jump"],
|
|
"commandEnvelope": "gamecult.eve.command_invocation.v1",
|
|
"receiptSchema": "gamecult.eve.command_receipt.v1",
|
|
"stateAuthority": "sai-sidecar-owns-story-session-provider-owns-command-acceptance"
|
|
}
|
|
},
|
|
"stateSchemas": ["sai.vn.story_session.v1", "sai.vn.visual_manifest.v1"],
|
|
"fixtures": [
|
|
{ "fixtureId": "sai-vn", "schema": "gamecult.eve.surface.v1", "path": "examples/static-site/story.ink.json" }
|
|
],
|
|
"abiFixtures": ["plugins/sai-vn.plugin-abi-fixture.json"],
|
|
"capabilities": {
|
|
"requires": ["vn.stage", "story.choose", "story.continue", "story.jump"],
|
|
"optionalPlugins": [
|
|
{ "pluginId": "norn.graph", "relationship": "optional-nested-composition", "capabilities": ["embed.norn", "graph.node.activate"] },
|
|
{ "pluginId": "tex.math", "relationship": "optional-nested-composition", "capabilities": ["embed.tex", "tex.inline", "tex.block"] }
|
|
]
|
|
}
|
|
}
|