@willwade/aac-processors 0.2.18 → 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.
@@ -12,22 +12,12 @@ export class MorphologyEngine {
12
12
  }
13
13
  }
14
14
  static fromGrid3Verbs(verbForms) {
15
- const engine = new MorphologyEngine({
16
- locale: verbForms.locale,
17
- version: 1,
18
- irregular: {},
19
- regular: {},
20
- });
15
+ const engine = new MorphologyEngine(verbForms.locale.replace('_', '-'));
21
16
  engine.grid3Verbs = verbForms.verbs;
22
17
  return engine;
23
18
  }
24
19
  static fromTDSnapLexicon(lexiconData) {
25
- const engine = new MorphologyEngine({
26
- locale: lexiconData.locale,
27
- version: 1,
28
- irregular: {},
29
- regular: {},
30
- });
20
+ const engine = new MorphologyEngine(lexiconData.locale.replace('_', '-'));
31
21
  engine.tdsnapLexicon = lexiconData;
32
22
  return engine;
33
23
  }
@@ -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
  /**