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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.8127, 1.0000)
  [ 1]  (0.7315, 0.8379)
  [ 2]  (0.7037, 0.6587)
  [ 3]  (0.7558, 0.5455)
  [ 4]  (0.9056, 0.6430)
  [ 5]  (0.8669, 0.5318)
  [ 6]  (0.8309, 0.3540)
  [ 7]  (0.7947, 0.1764)
  [ 8]  (0.7525, 0.0000)
  [ 9]  (0.8127, 0.5370)
  [10]  (0.7755, 0.5416)
  [11]  (0.6782, 0.5442)
  [12]  (0.5809, 0.5468)
  [13]  (0.4835, 0.5494)
  [14]  (0.3862, 0.5520)
  [15]  (0.2888, 0.5546)
  [16]  (0.1916, 0.5496)
  [17]  (0.0944, 0.5445)
  [18]  (0.8127, 0.3077)
  [19]  (0.8310, 0.3390)
  [20]  (0.8494, 0.3703)
  [21]  (0.8272, 0.3870)
  [22]  (0.7931, 0.3994)
  [23]  (0.7713, 0.3781)
  [24]  (0.7532, 0.3467)
  [25]  (0.7419, 0.3150)
  [26]  (0.7579, 0.2824)
  [27]  (0.8127, 0.3356)
  [28]  (0.8413, 0.3528)
  [29]  (0.8699, 0.3700)
  [30]  (0.8457, 0.3846)
  [31]  (0.8195, 0.3782)
  [32]  (0.7968, 0.3537)
  [33]  (0.7990, 0.3325)
  [34]  (0.8272, 0.3146)
  [35]  (0.8344, 0.3441)
  [36]  (0.8127, 0.3413)
  [37]  (0.8442, 0.3599)
  [38]  (0.8757, 0.3786)
  [39]  (0.8462, 0.3902)
  [40]  (0.8113, 0.4012)
  [41]  (0.7885, 0.3837)
  [42]  (0.7724, 0.3508)
  [43]  (0.7963, 0.3244)
  [44]  (0.8154, 0.3385)
  [45]  (0.8127, 0.8837)
  [46]  (0.7111, 0.8507)
  [47]  (0.6334, 0.7756)
  [48]  (0.5556, 0.7006)
  [49]  (0.5011, 0.6086)
  [50]  (0.4537, 0.5115)
  [51]  (0.4064, 0.4143)
  [52]  (0.3817, 0.3102)
  [53]  (0.3664, 0.2032)
  [54]  (0.8127, 0.5205)
  [55]  (0.8258, 0.5691)
  [56]  (0.8051, 0.5877)
  [57]  (0.7553, 0.5805)
  [58]  (0.7056, 0.5733)
  [59]  (0.7071, 0.5279)
  [60]  (0.7146, 0.4782)
  [61]  (0.7515, 0.4617)
  [62]  (0.8018, 0.4602)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7037, 0.6587)  angle=33.5 deg
  V1  (0.7558, 0.5455)  angle=98.3 deg
  V2  (0.9056, 0.6430)  angle=142.2 deg
  V3  (0.7525, 0.0000)  angle=173.0 deg
  V4  (0.8127, 0.5370)  angle=89.3 deg
  V5  (0.0944, 0.5445)  angle=158.7 deg
  V6  (0.8127, 0.3077)  angle=77.8 deg
  V7  (0.8494, 0.3703)  angle=83.6 deg
  V8  (0.7931, 0.3994)  angle=64.3 deg
  V9  (0.7419, 0.3150)  angle=45.8 deg
  V10  (0.7579, 0.2824)  angle=108.0 deg
  V11  (0.8699, 0.3700)  angle=117.9 deg
  V12  (0.8457, 0.3846)  angle=44.9 deg
  V13  (0.8195, 0.3782)  angle=33.3 deg
  V14  (0.7968, 0.3537)  angle=48.9 deg
  V15  (0.7990, 0.3325)  angle=51.6 deg
  V16  (0.8272, 0.3146)  angle=108.6 deg
  V17  (0.8344, 0.3441)  angle=111.1 deg
  V18  (0.8127, 0.3413)  angle=156.7 deg
  V19  (0.8757, 0.3786)  angle=127.9 deg
  V20  (0.8113, 0.4012)  angle=55.0 deg
  V21  (0.7724, 0.3508)  angle=68.3 deg
  V22  (0.7963, 0.3244)  angle=84.2 deg
  V23  (0.8154, 0.3385)  angle=54.0 deg
  V24  (0.8127, 0.8837)  angle=107.7 deg
  V25  (0.3664, 0.2032)  angle=133.6 deg
  V26  (0.8127, 0.5205)  angle=39.5 deg
  V27  (0.8258, 0.5691)  angle=63.2 deg
  V28  (0.8051, 0.5877)  angle=50.2 deg
  V29  (0.7056, 0.5733)  angle=83.7 deg
  V30  (0.7146, 0.4782)  angle=57.4 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
    }
),
