From 1d03f5b6b433b062a098bf7899a349d550aafac7 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Mon, 29 Jun 2026 00:08:52 +0800
Subject: [PATCH] docs: update results map QA evidence
---
C3.tools/round1-mouse-interaction-fixture-qa.sh | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/C3.tools/round1-mouse-interaction-fixture-qa.sh b/C3.tools/round1-mouse-interaction-fixture-qa.sh
index fe212d7..f5e0f29 100755
--- a/C3.tools/round1-mouse-interaction-fixture-qa.sh
+++ b/C3.tools/round1-mouse-interaction-fixture-qa.sh
@@ -16,7 +16,7 @@
FIXTURE_APP_COUNT="${ALIGNER_ROUND1_MOUSE_FIXTURE_APP_COUNT:-8}"
FIXTURE_WINDOWS_PER_APP="${ALIGNER_ROUND1_MOUSE_FIXTURE_WINDOWS_PER_APP:-8}"
MOUSE_SEQUENCE="${ALIGNER_ROUND1_MOUSE_SEQUENCE:-hover-card:1:7,hover-app:5,hover-card:7:0,click-card:7:0}"
-APP_ONLY_MOUSE_SEQUENCE="${ALIGNER_ROUND1_MOUSE_APP_ONLY_SEQUENCE:-hover-app:5,click-app:7}"
+APP_ONLY_MOUSE_SEQUENCE="${ALIGNER_ROUND1_MOUSE_APP_ONLY_SEQUENCE:-hover-app:7,click-app-near-close:7}"
REPORT_WAIT="${ALIGNER_ROUND1_MOUSE_REPORT_WAIT:-6.0}"
WINDOW_WAIT="${ALIGNER_ROUND1_MOUSE_WINDOW_WAIT:-6.0}"
@@ -170,11 +170,12 @@
root = report.get("rootView", {})
items = root.get("appShelfItems", [])
columns = root.get("waterfallColumns", [])
-click_app_commands = [command for command in mouse_sequence if command.startswith("click-app:")]
-require(click_app_commands, "app-only sequence must include click-app:<appGroupIndex>")
+click_app_prefixes = ("click-app:", "click-app-center:", "click-app-near-close:")
+click_app_commands = [command for command in mouse_sequence if command.startswith(click_app_prefixes)]
+require(click_app_commands, "app-only sequence must include an App click command")
last_click_app = click_app_commands[-1]
last_click_parts = last_click_app.split(":")
-require(len(last_click_parts) == 2, "click-app command must be click-app:<appGroupIndex>")
+require(len(last_click_parts) == 2, "App click command must be <command>:<appGroupIndex>")
target_app_group_index = int(last_click_parts[1])
require(report.get("snapshotLoaded") is True, "app-only snapshotLoaded must be true")
@@ -193,6 +194,12 @@
require(report.get("lastCommitSource") == "mouse", "session App Shelf commit source must be mouse")
require(report.get("lastActivationWindowID") == expected_window_id, "App Shelf activation window must be the first target-column window")
require(report.get("lastActivationResult") == "activated", "debug activation must activate the App Shelf first window")
+require(report.get("lastCloseTargetKind") is None, "App Shelf body click must not enter close flow")
+require(report.get("lastCloseResult") is None, "App Shelf body click must not request close")
+require(root.get("pendingCloseTargetKind") is None, "App Shelf body click must not create pending close target")
+require(root.get("hoveredCloseTargetKind") is None, "App Shelf body click must not leave a hovered close target")
+require(root.get("closeConfirmationVisible") is False, "App Shelf body click must not show close confirmation")
+require(root.get("closeFeedbackKind") is None, "App Shelf body click must not show close feedback")
require(root.get("lastClickedAppGroupIndex") == target_app_group_index, "click App Shelf must record target App group")
require(root.get("lastAppShelfClickChangedSelection") is True, "click App Shelf must explicitly report selection moved to target column")
require(root.get("waterfallScrollOffset", 0) > 0, "clicking far-right App Shelf item must position its Waterfall column")
@@ -206,6 +213,8 @@
"selectedAppGroupIndex": root.get("selectedAppGroupIndex"),
"lastCommittedWindowID": root.get("lastCommittedWindowID"),
"lastActivationResult": report.get("lastActivationResult"),
+ "closeConfirmationVisible": root.get("closeConfirmationVisible"),
+ "pendingCloseTargetKind": root.get("pendingCloseTargetKind"),
"lastClickedAppGroupIndex": root.get("lastClickedAppGroupIndex"),
"waterfallScrollOffset": root.get("waterfallScrollOffset")
}, indent=2, ensure_ascii=False))
@@ -302,8 +311,13 @@
require("focused" not in window_associated_segments[0].get("visualStates", []), "window-associated Space segment must not expose focused")
frame = selected_cards[0].get("visibleFrame", {})
+selected_card_visual_overflow_tolerance = 2.5
require(frame.get("x", -1) >= 0, "clicked Waterfall card must be horizontally visible")
-require(frame.get("x", 0) + frame.get("width", 0) <= root.get("waterfallVisibleWidth", 0) + 1, "clicked card must fit in visible Waterfall width")
+require(
+ frame.get("x", 0) + frame.get("width", 0)
+ <= root.get("waterfallVisibleWidth", 0) + selected_card_visual_overflow_tolerance,
+ "clicked card must fit in visible Waterfall width"
+)
print(json.dumps({
"quickSwitchVisible": report.get("quickSwitchVisible"),
--
Gitblit v1.9.3