=== SAVED CAST: echo_4_s81 ===
Normalized points: 64
Raw points: N/A

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7923, 0.2689)
  [ 1]  (0.8307, 0.4704)
  [ 2]  (0.8400, 0.6754)
  [ 3]  (0.8480, 0.8805)
  [ 4]  (0.7643, 0.9689)
  [ 5]  (0.5601, 0.9484)
  [ 6]  (0.3560, 0.9485)
  [ 7]  (0.1520, 0.9705)
  [ 8]  (0.7923, 0.2408)
  [ 9]  (0.8356, 0.2867)
  [10]  (0.8362, 0.3307)
  [11]  (0.7872, 0.3645)
  [12]  (0.7267, 0.3466)
  [13]  (0.6979, 0.3026)
  [14]  (0.7178, 0.2548)
  [15]  (0.7782, 0.2585)
  [16]  (0.7923, 0.9804)
  [17]  (0.7143, 0.8643)
  [18]  (0.6511, 0.7385)
  [19]  (0.6074, 0.6048)
  [20]  (0.7373, 0.5623)
  [21]  (0.8407, 0.5086)
  [22]  (0.8345, 0.3680)
  [23]  (0.7958, 0.2340)
  [24]  (0.7923, 0.0000)
  [25]  (0.8090, 0.0387)
  [26]  (0.8257, 0.0774)
  [27]  (0.7949, 0.1021)
  [28]  (0.7595, 0.1061)
  [29]  (0.7271, 0.0812)
  [30]  (0.7231, 0.0474)
  [31]  (0.7643, 0.0385)
  [32]  (0.7923, 1.0000)
  [33]  (0.7817, 0.9239)
  [34]  (0.7712, 0.8477)
  [35]  (0.7607, 0.7716)
  [36]  (0.7522, 0.6952)
  [37]  (0.7446, 0.6188)
  [38]  (0.7370, 0.5423)
  [39]  (0.7294, 0.4658)
  [40]  (0.7923, 0.2863)
  [41]  (0.7245, 0.2864)
  [42]  (0.6568, 0.2862)
  [43]  (0.5891, 0.2858)
  [44]  (0.5214, 0.2854)
  [45]  (0.4536, 0.2850)
  [46]  (0.3859, 0.2846)
  [47]  (0.3182, 0.2851)
  [48]  (0.7923, 0.0876)
  [49]  (0.7364, 0.0875)
  [50]  (0.6805, 0.0874)
  [51]  (0.6247, 0.0873)
  [52]  (0.5688, 0.0872)
  [53]  (0.5130, 0.0869)
  [54]  (0.4571, 0.0866)
  [55]  (0.4013, 0.0864)
  [56]  (0.7923, 0.9843)
  [57]  (0.6970, 0.9001)
  [58]  (0.6023, 0.8154)
  [59]  (0.5398, 0.7047)
  [60]  (0.4807, 0.5933)
  [61]  (0.5040, 0.4683)
  [62]  (0.6229, 0.4292)
  [63]  (0.7468, 0.4023)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.8480, 0.8805)  angle=45.7 deg
  V1  (0.7643, 0.9689)  angle=52.3 deg
  V2  (0.1520, 0.9705)  angle=137.4 deg
  V3  (0.7923, 0.2408)  angle=95.4 deg
  V4  (0.8356, 0.2867)  angle=42.6 deg
  V5  (0.8362, 0.3307)  angle=56.2 deg
  V6  (0.7872, 0.3645)  angle=51.0 deg
  V7  (0.7267, 0.3466)  angle=40.3 deg
  V8  (0.6979, 0.3026)  angle=55.8 deg
  V9  (0.7178, 0.2548)  angle=70.9 deg
  V10  (0.7782, 0.2585)  angle=85.4 deg
  V11  (0.7923, 0.9804)  angle=147.2 deg
  V12  (0.6074, 0.6048)  angle=90.0 deg
  V13  (0.8407, 0.5086)  angle=65.1 deg
  V14  (0.7923, 0.0000)  angle=157.5 deg
  V15  (0.8257, 0.0774)  angle=74.7 deg
  V16  (0.7949, 0.1021)  angle=32.2 deg
  V17  (0.7595, 0.1061)  angle=44.0 deg
  V18  (0.7271, 0.0812)  angle=45.6 deg
  V19  (0.7231, 0.0474)  angle=84.7 deg
  V20  (0.7643, 0.0385)  angle=100.5 deg
  V21  (0.7923, 1.0000)  angle=173.8 deg
  V22  (0.7923, 0.2863)  angle=109.4 deg
  V23  (0.3182, 0.2851)  angle=157.8 deg
  V24  (0.7923, 0.0876)  angle=157.3 deg
  V25  (0.4013, 0.0864)  angle=113.8 deg
  V26  (0.7923, 0.9843)  angle=155.0 deg
  V27  (0.4807, 0.5933)  angle=38.5 deg
  V28  (0.5040, 0.4683)  angle=61.3 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
    }
),
