=== SAVED CAST: moonless_33_s71 ===
Normalized points: 63
Raw points: N/A

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7477, 0.9063)
  [ 1]  (0.7382, 0.7472)
  [ 2]  (0.7563, 0.5874)
  [ 3]  (0.8777, 0.5276)
  [ 4]  (0.9971, 0.6296)
  [ 5]  (1.0000, 0.5725)
  [ 6]  (0.9761, 0.4135)
  [ 7]  (0.9567, 0.2540)
  [ 8]  (0.9448, 0.0937)
  [ 9]  (0.7477, 0.5825)
  [10]  (0.6409, 0.5839)
  [11]  (0.5342, 0.5852)
  [12]  (0.4274, 0.5867)
  [13]  (0.3206, 0.5886)
  [14]  (0.2139, 0.5905)
  [15]  (0.1071, 0.5924)
  [16]  (0.0004, 0.5944)
  [17]  (0.0000, 0.5388)
  [18]  (0.7477, 0.3807)
  [19]  (0.7629, 0.4206)
  [20]  (0.7447, 0.4339)
  [21]  (0.7023, 0.4281)
  [22]  (0.6600, 0.4223)
  [23]  (0.6415, 0.3890)
  [24]  (0.6296, 0.3480)
  [25]  (0.6572, 0.3313)
  [26]  (0.6992, 0.3235)
  [27]  (0.7477, 0.3887)
  [28]  (0.7889, 0.4110)
  [29]  (0.8109, 0.4388)
  [30]  (0.7858, 0.4731)
  [31]  (0.7420, 0.4565)
  [32]  (0.6982, 0.4399)
  [33]  (0.7175, 0.4079)
  [34]  (0.7488, 0.3730)
  [35]  (0.7881, 0.3562)
  [36]  (0.7477, 0.4022)
  [37]  (0.7726, 0.4272)
  [38]  (0.7816, 0.4486)
  [39]  (0.7482, 0.4601)
  [40]  (0.7170, 0.4646)
  [41]  (0.6956, 0.4366)
  [42]  (0.6824, 0.4100)
  [43]  (0.7123, 0.3912)
  [44]  (0.7422, 0.3725)
  [45]  (0.7477, 0.8669)
  [46]  (0.6853, 0.8077)
  [47]  (0.6316, 0.7395)
  [48]  (0.5794, 0.6704)
  [49]  (0.5417, 0.5923)
  [50]  (0.5040, 0.5141)
  [51]  (0.4663, 0.4360)
  [52]  (0.4500, 0.3517)
  [53]  (0.4406, 0.2655)
  [54]  (0.7477, 0.4992)
  [55]  (0.7477, 0.5169)
  [56]  (0.7477, 0.5345)
  [57]  (0.7406, 0.5427)
  [58]  (0.7237, 0.5377)
  [59]  (0.7068, 0.5328)
  [60]  (0.6898, 0.5278)
  [61]  (0.6729, 0.5229)
  [62]  (0.6560, 0.5179)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7563, 0.5874)  angle=57.3 deg
  V1  (0.8777, 0.5276)  angle=66.7 deg
  V2  (0.9971, 0.6296)  angle=127.5 deg
  V3  (0.9448, 0.0937)  angle=153.8 deg
  V4  (0.7477, 0.5825)  angle=67.3 deg
  V5  (0.0004, 0.5944)  angle=90.6 deg
  V6  (0.0000, 0.5388)  angle=78.5 deg
  V7  (0.7477, 0.3807)  angle=81.1 deg
  V8  (0.7629, 0.4206)  angle=74.7 deg
  V9  (0.7447, 0.4339)  angle=44.0 deg
  V10  (0.6600, 0.4223)  angle=53.0 deg
  V11  (0.6296, 0.3480)  angle=74.9 deg
  V12  (0.6992, 0.3235)  angle=63.8 deg
  V13  (0.8109, 0.4388)  angle=74.5 deg
  V14  (0.7858, 0.4731)  angle=74.5 deg
  V15  (0.6982, 0.4399)  angle=100.4 deg
  V16  (0.7881, 0.3562)  angle=154.5 deg
  V17  (0.7477, 0.4022)  angle=86.2 deg
  V18  (0.7816, 0.4486)  angle=93.9 deg
  V19  (0.7170, 0.4646)  angle=60.8 deg
  V20  (0.6824, 0.4100)  angle=84.2 deg
  V21  (0.7422, 0.3725)  angle=121.5 deg
  V22  (0.7477, 0.8669)  angle=134.1 deg
  V23  (0.4406, 0.2655)  angle=133.5 deg
  V24  (0.7477, 0.4992)  angle=52.7 deg
  V25  (0.7477, 0.5345)  angle=40.7 deg
  V26  (0.7406, 0.5427)  angle=65.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
    }
),
