Ariver
2026-06-10 2182f72105033db025bb29e08319586112e53c5f
C3.tools/round1-three-zone-linkage-fixture-qa.sh
@@ -613,18 +613,30 @@
require(focused[0].get("label") == "B1", "hovered multi-display Space must be B1")
require("focused" in focused[0].get("visualStates", []), "focused B1 segment must expose focused visual state")
idle_empty_segments = [
empty_segments = [
    segment for segment in segments
    if segment.get("windowCount") == 0
    and segment.get("isFocused") is not True
    and segment.get("isCurrent") is not True
    and segment.get("isAppAssociated") is not True
    and segment.get("isWindowAssociated") is not True
]
require(idle_empty_segments, "multi-display visual fixture must include at least one idle empty Space")
require(empty_segments, "multi-display visual fixture must include at least one empty Space")
require(
    all(segment.get("backgroundKind") == "clear" for segment in idle_empty_segments),
    "idle empty Spaces must not keep a dirty gray fill"
    {"A3", "B1"}.issubset({segment.get("label") for segment in empty_segments}),
    "multi-display visual fixture must include the A3/B1 empty Space regression pair"
)
require(
    all(segment.get("backgroundKind") == "clear" for segment in empty_segments),
    "empty Spaces must not keep a dirty gray fill, even when focused/current/associated"
)
require(
    all(not segment.get("gradientColors", []) for segment in empty_segments),
    "empty Spaces must clear stale gradient colors"
)
require(
    all(segment.get("backgroundColor", {}).get("alpha", 1) <= 0.01 for segment in empty_segments),
    "empty Spaces must keep transparent fill"
)
require(
    all(segment.get("shadowOpacity", 1) <= 0.01 for segment in empty_segments),
    "empty Spaces must not draw a shadow that reads as an interior gray fill"
)
idle_occupied_segments = [
    segment for segment in segments