=== SAVED CAST: A_3 ===
Normalized points: 64
Raw points: 18

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.9853, 0.5669)
  [ 1]  (0.9969, 0.5993)
  [ 2]  (1.0000, 0.6282)
  [ 3]  (0.9690, 0.6432)
  [ 4]  (0.9380, 0.6581)
  [ 5]  (0.9070, 0.6730)
  [ 6]  (0.8760, 0.6879)
  [ 7]  (0.8450, 0.7029)
  [ 8]  (0.8140, 0.7178)
  [ 9]  (0.7830, 0.7327)
  [10]  (0.7520, 0.7477)
  [11]  (0.7198, 0.7586)
  [12]  (0.6857, 0.7634)
  [13]  (0.6516, 0.7681)
  [14]  (0.6175, 0.7728)
  [15]  (0.5835, 0.7775)
  [16]  (0.5494, 0.7823)
  [17]  (0.5153, 0.7870)
  [18]  (0.4812, 0.7917)
  [19]  (0.4471, 0.7965)
  [20]  (0.4130, 0.8012)
  [21]  (0.3790, 0.8059)
  [22]  (0.3449, 0.8107)
  [23]  (0.3108, 0.8154)
  [24]  (0.2767, 0.8201)
  [25]  (0.2426, 0.8248)
  [26]  (0.2086, 0.8296)
  [27]  (0.1745, 0.8343)
  [28]  (0.1403, 0.8374)
  [29]  (0.1059, 0.8371)
  [30]  (0.1054, 0.8148)
  [31]  (0.1191, 0.7832)
  [32]  (0.1329, 0.7517)
  [33]  (0.1474, 0.7205)
  [34]  (0.1628, 0.6898)
  [35]  (0.1783, 0.6590)
  [36]  (0.1937, 0.6283)
  [37]  (0.2091, 0.5975)
  [38]  (0.2245, 0.5667)
  [39]  (0.2400, 0.5360)
  [40]  (0.2554, 0.5052)
  [41]  (0.2711, 0.4746)
  [42]  (0.2879, 0.4446)
  [43]  (0.3046, 0.4145)
  [44]  (0.3214, 0.3845)
  [45]  (0.3381, 0.3544)
  [46]  (0.3549, 0.3244)
  [47]  (0.3716, 0.2943)
  [48]  (0.3884, 0.2642)
  [49]  (0.3989, 0.2353)
  [50]  (0.3726, 0.2131)
  [51]  (0.3464, 0.1908)
  [52]  (0.3201, 0.1686)
  [53]  (0.2917, 0.1626)
  [54]  (0.2604, 0.1770)
  [55]  (0.2292, 0.1915)
  [56]  (0.1980, 0.2059)
  [57]  (0.1668, 0.2204)
  [58]  (0.1355, 0.2348)
  [59]  (0.1043, 0.2493)
  [60]  (0.0771, 0.2698)
  [61]  (0.0514, 0.2927)
  [62]  (0.0257, 0.3156)
  [63]  (0.0000, 0.3385)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (1.0000, 0.6282)  angle=70.4 deg
  V1  (0.1059, 0.8371)  angle=88.2 deg
  V2  (0.3989, 0.2353)  angle=69.7 deg
  V3  (0.2917, 0.1626)  angle=36.8 deg

--- SUGGESTED DOT TEMPLATE FORMAT ---
// Paste into SpellGestureTracker.java getDotTemplates():
new DotTemplate(DetectedPattern.SPELL_NAME, "description",
    new double[][] {
        // pick key dots from vertices above
    },
    new int[][] {
        // define connections between dots
    }
),
