feat: integrate calibration extension and self-repair modules
This commit is contained in:
@@ -689,6 +689,30 @@ function toggleGestureDebug() {
|
||||
setGestureDebugOpen(panel?.hidden ?? true);
|
||||
}
|
||||
|
||||
function syncGestureDebugRole(role = document.body.dataset.demoRole) {
|
||||
const button = $("#gestureArmButton");
|
||||
if (!button) return;
|
||||
const isAdmin = role === "admin";
|
||||
if (!isAdmin) setGestureDebugOpen(false);
|
||||
button.disabled = !isAdmin;
|
||||
button.classList.toggle("v2-decorative-control", !isAdmin);
|
||||
if (isAdmin) {
|
||||
button.removeAttribute("aria-hidden");
|
||||
button.removeAttribute("tabindex");
|
||||
button.setAttribute("aria-controls", "gestureDebugPanel");
|
||||
button.setAttribute("aria-expanded", String(!$("#gestureDebugPanel")?.hidden));
|
||||
button.setAttribute("aria-label", "手势调试");
|
||||
button.setAttribute("title", "手势调试");
|
||||
} else {
|
||||
button.setAttribute("aria-hidden", "true");
|
||||
button.setAttribute("tabindex", "-1");
|
||||
button.removeAttribute("aria-controls");
|
||||
button.removeAttribute("aria-expanded");
|
||||
button.removeAttribute("aria-label");
|
||||
button.removeAttribute("title");
|
||||
}
|
||||
}
|
||||
|
||||
function sendSimulatedGesture() {
|
||||
if (document.body.dataset.demoRole !== "admin") {
|
||||
setGestureDebugOpen(false);
|
||||
@@ -820,11 +844,12 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
if ($("#gestureDrawer")?.classList.contains("open")) closeDrawer();
|
||||
});
|
||||
window.addEventListener("cognitive-agent:demo-role-change", (event) => {
|
||||
if (event.detail?.role !== "admin") setGestureDebugOpen(false);
|
||||
syncGestureDebugRole(event.detail?.role);
|
||||
});
|
||||
document.addEventListener("visibilitychange", () => { if (document.hidden && state.stream) stopCamera(); });
|
||||
window.addEventListener("beforeunload", stopCamera);
|
||||
navigator.mediaDevices?.addEventListener?.("devicechange", handleCameraDeviceChange);
|
||||
syncGestureDebugRole();
|
||||
initModeRail();
|
||||
let runtimeError = null;
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user