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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.5312, 0.1660)
  [ 1]  (0.6217, 0.2452)
  [ 2]  (0.6245, 0.3511)
  [ 3]  (0.5125, 0.3788)
  [ 4]  (0.4038, 0.3494)
  [ 5]  (0.3845, 0.2313)
  [ 6]  (0.4603, 0.1514)
  [ 7]  (0.5714, 0.1927)
  [ 8]  (0.5312, 1.0000)
  [ 9]  (0.5216, 0.8799)
  [10]  (0.5118, 0.7599)
  [11]  (0.5367, 0.6535)
  [12]  (0.6542, 0.6406)
  [13]  (0.6888, 0.5285)
  [14]  (0.6888, 0.4088)
  [15]  (0.6752, 0.2899)
  [16]  (0.5312, 0.0000)
  [17]  (0.5836, 0.0152)
  [18]  (0.6276, 0.0449)
  [19]  (0.6479, 0.0857)
  [20]  (0.5969, 0.0916)
  [21]  (0.5502, 0.0662)
  [22]  (0.5495, 0.0209)
  [23]  (0.5983, 0.0169)
  [24]  (0.5312, 0.4438)
  [25]  (0.5383, 0.5107)
  [26]  (0.5453, 0.5776)
  [27]  (0.5514, 0.6446)
  [28]  (0.5569, 0.7117)
  [29]  (0.5623, 0.7787)
  [30]  (0.5625, 0.8458)
  [31]  (0.5581, 0.9129)
  [32]  (0.5312, 0.4339)
  [33]  (0.4694, 0.4299)
  [34]  (0.4073, 0.4286)
  [35]  (0.3453, 0.4272)
  [36]  (0.2833, 0.4252)
  [37]  (0.2212, 0.4231)
  [38]  (0.1592, 0.4220)
  [39]  (0.0971, 0.4225)
  [40]  (0.5312, 0.2197)
  [41]  (0.4873, 0.2047)
  [42]  (0.4415, 0.1954)
  [43]  (0.3950, 0.1909)
  [44]  (0.3482, 0.1889)
  [45]  (0.3014, 0.1887)
  [46]  (0.2546, 0.1884)
  [47]  (0.2077, 0.1880)
  [48]  (0.5312, 0.2531)
  [49]  (0.4938, 0.2635)
  [50]  (0.4563, 0.2738)
  [51]  (0.4188, 0.2842)
  [52]  (0.3813, 0.2946)
  [53]  (0.3429, 0.2995)
  [54]  (0.3042, 0.3030)
  [55]  (0.2654, 0.3066)
  [56]  (0.5312, 0.2163)
  [57]  (0.5782, 0.3212)
  [58]  (0.6383, 0.4193)
  [59]  (0.6974, 0.5179)
  [60]  (0.7553, 0.6173)
  [61]  (0.8024, 0.7222)
  [62]  (0.8579, 0.8229)
  [63]  (0.9029, 0.9286)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.6217, 0.2452)  angle=47.2 deg
  V1  (0.6245, 0.3511)  angle=77.6 deg
  V2  (0.4038, 0.3494)  angle=65.6 deg
  V3  (0.3845, 0.2313)  angle=52.8 deg
  V4  (0.4603, 0.1514)  angle=66.9 deg
  V5  (0.5714, 0.1927)  angle=72.5 deg
  V6  (0.5312, 1.0000)  angle=172.6 deg
  V7  (0.5367, 0.6535)  angle=70.6 deg
  V8  (0.6542, 0.6406)  angle=66.6 deg
  V9  (0.5312, 0.0000)  angle=132.6 deg
  V10  (0.6479, 0.0857)  angle=109.9 deg
  V11  (0.5969, 0.0916)  angle=35.0 deg
  V12  (0.5502, 0.0662)  angle=60.7 deg
  V13  (0.5495, 0.0209)  angle=86.1 deg
  V14  (0.5983, 0.0169)  angle=103.7 deg
  V15  (0.5581, 0.9129)  angle=173.0 deg
  V16  (0.5312, 0.4339)  angle=83.1 deg
  V17  (0.0971, 0.4225)  angle=155.4 deg
  V18  (0.5312, 0.2197)  angle=136.1 deg
  V19  (0.2077, 0.1880)  angle=169.1 deg
  V20  (0.5312, 0.2531)  angle=153.2 deg
  V21  (0.2654, 0.3066)  angle=166.5 deg
  V22  (0.5312, 0.2163)  angle=84.6 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
    }
),
