@willwade/aac-processors 0.2.19 → 0.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,10 +22,25 @@ export declare enum AACSemanticIntent {
22
22
  CLEAR_TEXT = "CLEAR_TEXT",
23
23
  COPY_TEXT = "COPY_TEXT",
24
24
  PASTE_TEXT = "PASTE_TEXT",
25
+ SELECT_ALL = "SELECT_ALL",
26
+ CURSOR_MOVE = "CURSOR_MOVE",
27
+ UNDO = "UNDO",
28
+ PRINT = "PRINT",
25
29
  SEND_KEYS = "SEND_KEYS",
26
30
  MOUSE_CLICK = "MOUSE_CLICK",
31
+ DEVICE_MUTE = "DEVICE_MUTE",
32
+ TOGGLE_STATE = "TOGGLE_STATE",
33
+ WEB_NAVIGATE = "WEB_NAVIGATE",
34
+ WEB_SCROLL = "WEB_SCROLL",
35
+ WEB_FOCUS_ELEMENT = "WEB_FOCUS_ELEMENT",
36
+ WEB_ACTIVATE_ELEMENT = "WEB_ACTIVATE_ELEMENT",
37
+ WEB_EXECUTE_SCRIPT = "WEB_EXECUTE_SCRIPT",
27
38
  PLAY_SOUND = "PLAY_SOUND",
28
39
  PLAY_VIDEO = "PLAY_VIDEO",
40
+ STOP_MEDIA = "STOP_MEDIA",
41
+ TAKE_PHOTO = "TAKE_PHOTO",
42
+ WAIT = "WAIT",
43
+ REPEAT_COMMANDS = "REPEAT_COMMANDS",
29
44
  SCAN_NEXT = "SCAN_NEXT",
30
45
  SCAN_SELECT = "SCAN_SELECT",
31
46
  PLATFORM_SPECIFIC = "PLATFORM_SPECIFIC"
@@ -30,12 +30,29 @@ var AACSemanticIntent;
30
30
  AACSemanticIntent["CLEAR_TEXT"] = "CLEAR_TEXT";
31
31
  AACSemanticIntent["COPY_TEXT"] = "COPY_TEXT";
32
32
  AACSemanticIntent["PASTE_TEXT"] = "PASTE_TEXT";
33
+ AACSemanticIntent["SELECT_ALL"] = "SELECT_ALL";
34
+ AACSemanticIntent["CURSOR_MOVE"] = "CURSOR_MOVE";
35
+ AACSemanticIntent["UNDO"] = "UNDO";
36
+ AACSemanticIntent["PRINT"] = "PRINT";
33
37
  // System Control
34
38
  AACSemanticIntent["SEND_KEYS"] = "SEND_KEYS";
35
39
  AACSemanticIntent["MOUSE_CLICK"] = "MOUSE_CLICK";
40
+ AACSemanticIntent["DEVICE_MUTE"] = "DEVICE_MUTE";
41
+ AACSemanticIntent["TOGGLE_STATE"] = "TOGGLE_STATE";
42
+ // Web Control
43
+ AACSemanticIntent["WEB_NAVIGATE"] = "WEB_NAVIGATE";
44
+ AACSemanticIntent["WEB_SCROLL"] = "WEB_SCROLL";
45
+ AACSemanticIntent["WEB_FOCUS_ELEMENT"] = "WEB_FOCUS_ELEMENT";
46
+ AACSemanticIntent["WEB_ACTIVATE_ELEMENT"] = "WEB_ACTIVATE_ELEMENT";
47
+ AACSemanticIntent["WEB_EXECUTE_SCRIPT"] = "WEB_EXECUTE_SCRIPT";
36
48
  // Media
37
49
  AACSemanticIntent["PLAY_SOUND"] = "PLAY_SOUND";
38
50
  AACSemanticIntent["PLAY_VIDEO"] = "PLAY_VIDEO";
51
+ AACSemanticIntent["STOP_MEDIA"] = "STOP_MEDIA";
52
+ AACSemanticIntent["TAKE_PHOTO"] = "TAKE_PHOTO";
53
+ // Command Execution
54
+ AACSemanticIntent["WAIT"] = "WAIT";
55
+ AACSemanticIntent["REPEAT_COMMANDS"] = "REPEAT_COMMANDS";
39
56
  // Accessibility
40
57
  AACSemanticIntent["SCAN_NEXT"] = "SCAN_NEXT";
41
58
  AACSemanticIntent["SCAN_SELECT"] = "SCAN_SELECT";
@@ -59,13 +59,23 @@ function findButtonPosition(page, button, fallbackIndex) {
59
59
  }
60
60
  }
61
61
  }
62
- // Fallback positioning
62
+ // Fallback positioning using button's own x/y/span properties
63
+ const bx = button.x;
64
+ const by = button.y;
63
65
  const gridCols = page.grid?.[0]?.length || Math.ceil(Math.sqrt(page.buttons.length));
66
+ if (bx !== undefined && by !== undefined) {
67
+ return {
68
+ x: bx,
69
+ y: by,
70
+ columnSpan: button.columnSpan || 1,
71
+ rowSpan: button.rowSpan || 1,
72
+ };
73
+ }
64
74
  return {
65
75
  x: fallbackIndex % gridCols,
66
76
  y: Math.floor(fallbackIndex / gridCols),
67
- columnSpan: 1,
68
- rowSpan: 1,
77
+ columnSpan: button.columnSpan || 1,
78
+ rowSpan: button.rowSpan || 1,
69
79
  };
70
80
  }
71
81
  /**
@@ -31,6 +31,8 @@ export declare enum Grid3CommandCategory {
31
31
  MOUSE = "mouse",
32
32
  WINDOW = "window",
33
33
  MEDIA = "media",
34
+ PHOTOS = "photos",
35
+ COMMAND_EXECUTION = "command_execution",
34
36
  CUSTOM = "custom"
35
37
  }
36
38
  /**