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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.8597, 0.7958)
  [ 1]  (0.6732, 0.8245)
  [ 2]  (0.4868, 0.8532)
  [ 3]  (0.2990, 0.8713)
  [ 4]  (0.1775, 0.7483)
  [ 5]  (0.1438, 0.5630)
  [ 6]  (0.1338, 0.3746)
  [ 7]  (0.1152, 0.1871)
  [ 8]  (0.0911, 0.0000)
  [ 9]  (0.8597, 0.1631)
  [10]  (0.8783, 0.2386)
  [11]  (0.8955, 0.3145)
  [12]  (0.8869, 0.3900)
  [13]  (0.8133, 0.4152)
  [14]  (0.7373, 0.4083)
  [15]  (0.6900, 0.3539)
  [16]  (0.7061, 0.2981)
  [17]  (0.7699, 0.2535)
  [18]  (0.8597, 0.5338)
  [19]  (0.7903, 0.5469)
  [20]  (0.7199, 0.5527)
  [21]  (0.6494, 0.5569)
  [22]  (0.5789, 0.5611)
  [23]  (0.5083, 0.5652)
  [24]  (0.4378, 0.5659)
  [25]  (0.3671, 0.5639)
  [26]  (0.2965, 0.5619)
  [27]  (0.8597, 0.2534)
  [28]  (0.8835, 0.2774)
  [29]  (0.9008, 0.2995)
  [30]  (0.8677, 0.3061)
  [31]  (0.8346, 0.3127)
  [32]  (0.8014, 0.3193)
  [33]  (0.7961, 0.2972)
  [34]  (0.8017, 0.2639)
  [35]  (0.8072, 0.2306)
  [36]  (0.8597, 0.2606)
  [37]  (0.8703, 0.2823)
  [38]  (0.8809, 0.3039)
  [39]  (0.8607, 0.3118)
  [40]  (0.8374, 0.3183)
  [41]  (0.8141, 0.3248)
  [42]  (0.8032, 0.3204)
  [43]  (0.8126, 0.2981)
  [44]  (0.8219, 0.2758)
  [45]  (0.8597, 1.0000)
  [46]  (0.7531, 0.9052)
  [47]  (0.6516, 0.8051)
  [48]  (0.5535, 0.7014)
  [49]  (0.4589, 0.5951)
  [50]  (0.3842, 0.4736)
  [51]  (0.3343, 0.3450)
  [52]  (0.3598, 0.2120)
  [53]  (0.4777, 0.1413)
  [54]  (0.8597, 0.3288)
  [55]  (0.8940, 0.3594)
  [56]  (0.9089, 0.3885)
  [57]  (0.8702, 0.4133)
  [58]  (0.8317, 0.4308)
  [59]  (0.7944, 0.4039)
  [60]  (0.7997, 0.3665)
  [61]  (0.8361, 0.3485)
  [62]  (0.8819, 0.3441)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.2990, 0.8713)  angle=50.8 deg
  V1  (0.1775, 0.7483)  angle=34.4 deg
  V2  (0.0911, 0.0000)  angle=109.3 deg
  V3  (0.8597, 0.1631)  angle=64.2 deg
  V4  (0.8869, 0.3900)  angle=64.6 deg
  V5  (0.7373, 0.4083)  angle=43.9 deg
  V6  (0.6900, 0.3539)  angle=57.0 deg
  V7  (0.7061, 0.2981)  angle=39.0 deg
  V8  (0.7699, 0.2535)  angle=107.2 deg
  V9  (0.8597, 0.5338)  angle=97.0 deg
  V10  (0.2965, 0.5619)  angle=149.7 deg
  V11  (0.8597, 0.2534)  angle=74.0 deg
  V12  (0.9008, 0.2995)  angle=116.9 deg
  V13  (0.8014, 0.3193)  angle=87.8 deg
  V14  (0.8072, 0.2306)  angle=110.3 deg
  V15  (0.8597, 0.2606)  angle=34.1 deg
  V16  (0.8809, 0.3039)  angle=94.9 deg
  V17  (0.8141, 0.3248)  angle=37.5 deg
  V18  (0.8032, 0.3204)  angle=90.8 deg
  V19  (0.8219, 0.2758)  angle=154.3 deg
  V20  (0.8597, 1.0000)  angle=134.6 deg
  V21  (0.3343, 0.3450)  angle=32.1 deg
  V22  (0.3598, 0.2120)  angle=48.2 deg
  V23  (0.4777, 0.1413)  angle=57.1 deg
  V24  (0.9089, 0.3885)  angle=84.5 deg
  V25  (0.8317, 0.4308)  angle=60.2 deg
  V26  (0.7944, 0.4039)  angle=62.2 deg
  V27  (0.7997, 0.3665)  angle=55.7 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
    }
),
