90 lines
2.9 KiB
JSON
90 lines
2.9 KiB
JSON
{
|
|
"schema": "gamecult.eve.plugin_abi_fixture.v1",
|
|
"fixtureId": "norn-graph-plugin-abi",
|
|
"pluginId": "norn.graph",
|
|
"ownerRepo": "Norn",
|
|
"contract": "gamecult.eve.plugin_abi.v1",
|
|
"requestSchema": "gamecult.eve.plugin_abi.request.v1",
|
|
"responseSchema": "gamecult.eve.plugin_abi.response.v1",
|
|
"sourceFixture": "sai-vn",
|
|
"sourceFixtureRole": "optional-nested-placement-evidence",
|
|
"authority": "Norn owns graph semantics independently; the Sai fixture only proves a provider surface can nest embed.norn when norn.graph is available.",
|
|
"operations": [
|
|
{
|
|
"operation": "describe",
|
|
"input": {
|
|
"manifest": "plugins/incubating/norn-graph.plugin.json",
|
|
"advertisement": "plugins/incubating/norn-graph.plugin-advertisement.json"
|
|
},
|
|
"expect": {
|
|
"pluginId": "norn.graph",
|
|
"componentKinds": ["embed.norn"],
|
|
"commands": ["graph.node.activate", "graph.focus"],
|
|
"capabilities": ["embed.norn", "graph.node.activate"]
|
|
}
|
|
},
|
|
{
|
|
"operation": "validate",
|
|
"input": {
|
|
"surface": "web/fixtures/sai-vn-surface.json",
|
|
"componentKinds": ["embed.norn"]
|
|
},
|
|
"expect": {
|
|
"acceptedComponentKinds": ["embed.norn"],
|
|
"rejectedComponentKinds": ["embed.tex", "vn.stage"],
|
|
"requiredCapabilities": ["embed.norn"]
|
|
}
|
|
},
|
|
{
|
|
"operation": "project",
|
|
"input": {
|
|
"surface": "web/fixtures/sai-vn-surface.json",
|
|
"nodeKind": "embed.norn"
|
|
},
|
|
"expect": {
|
|
"projectionKind": "embedded-semantic-surface",
|
|
"ownedComponentKinds": ["embed.norn"],
|
|
"outputSchemas": ["norn.graph.document.v1", "norn.graph.layout_request.v1", "norn.graph.layout_result.v1"]
|
|
}
|
|
},
|
|
{
|
|
"operation": "lower",
|
|
"input": {
|
|
"projection": "embedded-semantic-surface",
|
|
"targetRuntimes": ["web", "unity-uitoolkit"],
|
|
"componentKinds": ["embed.norn"]
|
|
},
|
|
"expect": {
|
|
"loweringKind": "graph-viewport",
|
|
"preservedComponentKinds": ["embed.norn"],
|
|
"requiredSchemas": ["norn.graph.document.v1", "norn.graph.layout_result.v1"],
|
|
"commandEnvelope": "gamecult.eve.command.v1"
|
|
}
|
|
},
|
|
{
|
|
"operation": "measure",
|
|
"input": {
|
|
"projection": "embedded-semantic-surface",
|
|
"layoutRequestSchema": "norn.graph.layout_request.v1"
|
|
},
|
|
"expect": {
|
|
"measurementKind": "graph-layout-metrics",
|
|
"measurementOutputs": ["nodeBounds", "edgeRoutes", "viewportBounds"],
|
|
"preservesProviderAuthority": true
|
|
}
|
|
},
|
|
{
|
|
"operation": "apply",
|
|
"input": {
|
|
"commands": ["graph.node.activate", "graph.focus"]
|
|
},
|
|
"expect": {
|
|
"commandEffects": {
|
|
"graph.node.activate": "activate-node",
|
|
"graph.focus": "focus-graph"
|
|
},
|
|
"receiptSchema": "gamecult.eve.command_receipt.v1"
|
|
}
|
|
}
|
|
]
|
|
}
|