Stabilize control surface and external bridge v1
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"name": "staged pattern plus transition commit",
|
||||
"steps": [
|
||||
{
|
||||
"request": {
|
||||
"request_id": "style",
|
||||
"session_id": "desk-a",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_transition_style",
|
||||
"payload": {
|
||||
"style": "chase",
|
||||
"duration_ms": 480
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "transition style staged",
|
||||
"session": {
|
||||
"parameter_keys": [],
|
||||
"transition_style": "chase",
|
||||
"transition_duration_ms": 480
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "pattern",
|
||||
"session_id": "desk-a",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_pattern",
|
||||
"payload": {
|
||||
"pattern_id": "noise"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "pattern staged: noise",
|
||||
"session": {
|
||||
"pattern_id": "noise",
|
||||
"parameter_keys": [],
|
||||
"transition_style": "chase",
|
||||
"transition_duration_ms": 480
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "trigger",
|
||||
"session_id": "desk-a",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "trigger_transition"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "command_accepted",
|
||||
"summary_contains": "transition triggered: noise",
|
||||
"session": {
|
||||
"parameter_keys": []
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "state",
|
||||
"command": {
|
||||
"type": "get_state"
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "state",
|
||||
"state": {
|
||||
"active_pattern_id": "noise",
|
||||
"transition_style": "chase",
|
||||
"transition_duration_ms": 480
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"name": "group update plus parameter change plus commit",
|
||||
"steps": [
|
||||
{
|
||||
"request": {
|
||||
"request_id": "group",
|
||||
"session_id": "desk-b",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "upsert_group",
|
||||
"payload": {
|
||||
"group_id": "focus_pair",
|
||||
"tags": ["runtime", "focus"],
|
||||
"members": [
|
||||
{ "node_id": "node-01", "panel_position": "top" },
|
||||
{ "node_id": "node-01", "panel_position": "middle" }
|
||||
],
|
||||
"overwrite": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "command_accepted",
|
||||
"summary_contains": "group updated: focus_pair"
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "param",
|
||||
"session_id": "desk-b",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_group_parameter",
|
||||
"payload": {
|
||||
"group_id": "focus_pair",
|
||||
"key": "grain",
|
||||
"value": { "kind": "scalar", "value": 0.81 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "group parameter staged: grain",
|
||||
"session": {
|
||||
"has_group_target": true,
|
||||
"group_id": "focus_pair",
|
||||
"parameter_keys": ["grain"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "style",
|
||||
"session_id": "desk-b",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_transition_style",
|
||||
"payload": {
|
||||
"style": "chase",
|
||||
"duration_ms": 420
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "transition style staged",
|
||||
"session": {
|
||||
"has_group_target": true,
|
||||
"group_id": "focus_pair",
|
||||
"parameter_keys": ["grain"],
|
||||
"transition_style": "chase",
|
||||
"transition_duration_ms": 420
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "pattern",
|
||||
"session_id": "desk-b",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_pattern",
|
||||
"payload": {
|
||||
"pattern_id": "noise"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "pattern staged: noise",
|
||||
"session": {
|
||||
"pattern_id": "noise",
|
||||
"has_group_target": true,
|
||||
"group_id": "focus_pair",
|
||||
"parameter_keys": ["grain"],
|
||||
"transition_style": "chase",
|
||||
"transition_duration_ms": 420
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "trigger",
|
||||
"session_id": "desk-b",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "trigger_transition"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "command_accepted",
|
||||
"summary_contains": "transition triggered: noise on focus_pair",
|
||||
"session": {
|
||||
"parameter_keys": []
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "state",
|
||||
"command": {
|
||||
"type": "get_state"
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "state",
|
||||
"state": {
|
||||
"selected_group": "focus_pair",
|
||||
"active_pattern_id": "noise",
|
||||
"active_scene_group": "focus_pair",
|
||||
"transition_style": "chase",
|
||||
"transition_duration_ms": 420,
|
||||
"scalar_parameters": [
|
||||
{ "key": "grain", "value": 0.81 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"name": "preset recall during running transition",
|
||||
"steps": [
|
||||
{
|
||||
"request": {
|
||||
"request_id": "style",
|
||||
"session_id": "desk-c",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_transition_style",
|
||||
"payload": {
|
||||
"style": "crossfade",
|
||||
"duration_ms": 1600
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "transition style staged"
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "pattern",
|
||||
"session_id": "desk-c",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_pattern",
|
||||
"payload": {
|
||||
"pattern_id": "noise"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "pattern staged: noise"
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "trigger",
|
||||
"session_id": "desk-c",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "trigger_transition"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "command_accepted",
|
||||
"summary_contains": "transition triggered: noise"
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "recall",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "recall_preset",
|
||||
"payload": {
|
||||
"preset_id": "ocean_gradient"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "command_accepted",
|
||||
"summary_contains": "preset recalled: ocean_gradient"
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "state",
|
||||
"command": {
|
||||
"type": "get_state"
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "state",
|
||||
"state": {
|
||||
"preset_id": "ocean_gradient",
|
||||
"active_pattern_id": "gradient",
|
||||
"active_transition_present": true,
|
||||
"event_message_contains": "preset recalled: ocean_gradient"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"name": "blackout during staged session",
|
||||
"steps": [
|
||||
{
|
||||
"request": {
|
||||
"request_id": "pattern",
|
||||
"session_id": "desk-d",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_pattern",
|
||||
"payload": {
|
||||
"pattern_id": "noise"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "pattern staged: noise",
|
||||
"session": {
|
||||
"pattern_id": "noise",
|
||||
"parameter_keys": []
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "param",
|
||||
"session_id": "desk-d",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_group_parameter",
|
||||
"payload": {
|
||||
"group_id": "bottom_panels",
|
||||
"key": "grain",
|
||||
"value": { "kind": "scalar", "value": 0.74 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "primitive_buffered",
|
||||
"summary_contains": "group parameter staged: grain",
|
||||
"session": {
|
||||
"pattern_id": "noise",
|
||||
"has_group_target": true,
|
||||
"group_id": "bottom_panels",
|
||||
"parameter_keys": ["grain"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "blackout",
|
||||
"session_id": "desk-d",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "blackout",
|
||||
"payload": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "command_accepted",
|
||||
"summary_contains": "blackout enabled",
|
||||
"session": {
|
||||
"pattern_id": "noise",
|
||||
"has_group_target": true,
|
||||
"group_id": "bottom_panels",
|
||||
"parameter_keys": ["grain"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "trigger",
|
||||
"session_id": "desk-d",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "trigger_transition"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "command_accepted",
|
||||
"summary_contains": "transition triggered: noise on bottom_panels"
|
||||
}
|
||||
},
|
||||
{
|
||||
"request": {
|
||||
"request_id": "state",
|
||||
"command": {
|
||||
"type": "get_state"
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "state",
|
||||
"state": {
|
||||
"blackout": true,
|
||||
"active_pattern_id": "noise",
|
||||
"active_scene_group": "bottom_panels",
|
||||
"scalar_parameters": [
|
||||
{ "key": "grain", "value": 0.74 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "stateless bridge path rejects staged primitive",
|
||||
"steps": [
|
||||
{
|
||||
"request": {
|
||||
"request_id": "reject",
|
||||
"command": {
|
||||
"type": "execute_primitive",
|
||||
"payload": {
|
||||
"primitive": {
|
||||
"primitive": "set_pattern",
|
||||
"payload": {
|
||||
"pattern_id": "noise"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"expect": {
|
||||
"result_type": "error",
|
||||
"error_code": "show_control_session_required"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user