| | |
| | | require("selectedVisualSuppressed" not in selected_cards[0].get("visualStates", []), "keyboard-selected Waterfall card must not suppress selected visual state") |
| | | require(selected_cards[0].get("shineVisible") is True, "keyboard-selected Waterfall card must expose shine") |
| | | require(selected_cards[0].get("zPosition", 0) > 0, "keyboard-selected Waterfall card must float above normal cards") |
| | | require("appLinked" in selected_column.get("cards", [])[0].get("visualStates", []), "App-focused vertical column must keep its first card linked to App hover") |
| | | require(selected_cards[0].get("titleBarBackgroundColor", {}).get("alpha", 0) > 0.10, "keyboard-selected Waterfall card title bar must expose blue fill") |
| | | first_selected_column_card = selected_column.get("cards", [])[0] |
| | | if first_selected_column_card.get("windowID") != expected_selected_window_id: |
| | | require("appLinked" not in first_selected_column_card.get("visualStates", []), "App-linked first card must yield to keyboard-focused window") |
| | | require(first_selected_column_card.get("titleBarBackgroundColor", {}).get("alpha", 0) <= 0.01, "first card title bar must clear App hover fill while another window has keyboard focus") |
| | | |
| | | selected_items = [item for item in items if item.get("isSelected") is True] |
| | | require(len(selected_items) == 1, "App Shelf must expose exactly one selected App") |