Thing/plugins/incubating/sai-vn.plugin-abi-fixture.json
2026-07-10 04:03:05 +01:00

89 lines
3 KiB
JSON

{
"schema": "gamecult.eve.plugin_abi_fixture.v1",
"fixtureId": "sai-vn-plugin-abi",
"pluginId": "sai.vn",
"ownerRepo": "Sai",
"contract": "gamecult.eve.plugin_abi.v1",
"requestSchema": "gamecult.eve.plugin_abi.request.v1",
"responseSchema": "gamecult.eve.plugin_abi.response.v1",
"sourceFixture": "sai-vn",
"operations": [
{
"operation": "describe",
"input": {
"manifest": "plugins/incubating/sai-vn.plugin.json",
"advertisement": "plugins/incubating/sai-vn.plugin-advertisement.json"
},
"expect": {
"pluginId": "sai.vn",
"componentKinds": ["vn.stage", "panel.dialogue", "text.dialogue", "rail.actions"],
"commands": ["story.continue", "story.choose", "story.jump"],
"capabilities": ["vn.stage", "story.choose", "story.continue", "story.jump"]
}
},
{
"operation": "validate",
"input": {
"surface": "web/fixtures/sai-vn-surface.json",
"componentKinds": ["vn.stage", "panel.dialogue", "text.dialogue", "rail.actions"]
},
"expect": {
"acceptedComponentKinds": ["vn.stage", "panel.dialogue", "text.dialogue", "rail.actions"],
"rejectedComponentKinds": ["combat.timeline"],
"requiredCapabilities": ["vn.stage", "story.choose", "story.continue", "story.jump"]
}
},
{
"operation": "project",
"input": {
"surface": "web/fixtures/sai-vn-surface.json",
"rootKind": "vn.stage"
},
"expect": {
"projectionKind": "semantic-surface",
"ownedComponentKinds": ["vn.stage", "panel.dialogue", "text.dialogue", "rail.actions"],
"delegatedPlugins": ["norn.graph", "tex.math"]
}
},
{
"operation": "lower",
"input": {
"projection": "semantic-surface",
"targetRuntimes": ["web", "unity-uitoolkit"],
"componentKinds": ["vn.stage", "panel.dialogue", "text.dialogue", "rail.actions"]
},
"expect": {
"loweringKind": "runtime-neutral-stage-parts",
"preservedComponentKinds": ["vn.stage", "panel.dialogue", "text.dialogue", "rail.actions"],
"delegatedPlugins": ["norn.graph", "tex.math"],
"commandEnvelope": "gamecult.eve.command_invocation.v1"
}
},
{
"operation": "measure",
"input": {
"projection": "semantic-surface",
"placementKinds": ["overlay", "keystone", "sprite-chromakey"]
},
"expect": {
"measurementKind": "scene-placement-hints",
"measurementOutputs": ["preferredBounds", "safeTextRegion", "embeddedSurfaceSlots"],
"preservesProviderAuthority": true
}
},
{
"operation": "apply",
"input": {
"commands": ["story.continue", "story.choose", "story.jump"]
},
"expect": {
"commandEffects": {
"story.continue": "advance-story",
"story.choose": "choose-branch",
"story.jump": "jump-to-knot"
},
"receiptSchema": "gamecult.eve.command_receipt.v1"
}
}
]
}