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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7656, 1.0000)
  [ 1]  (0.7171, 0.8285)
  [ 2]  (0.6824, 0.6539)
  [ 3]  (0.6677, 0.4778)
  [ 4]  (0.8066, 0.5264)
  [ 5]  (0.9323, 0.5276)
  [ 6]  (0.9216, 0.3497)
  [ 7]  (0.8926, 0.1740)
  [ 8]  (0.8542, 0.0000)
  [ 9]  (0.7656, 0.5749)
  [10]  (0.6787, 0.5671)
  [11]  (0.5914, 0.5632)
  [12]  (0.5041, 0.5600)
  [13]  (0.4168, 0.5580)
  [14]  (0.3294, 0.5560)
  [15]  (0.2421, 0.5533)
  [16]  (0.1547, 0.5503)
  [17]  (0.0677, 0.5431)
  [18]  (0.7656, 0.3441)
  [19]  (0.8039, 0.3634)
  [20]  (0.8102, 0.3950)
  [21]  (0.7695, 0.4042)
  [22]  (0.7256, 0.3975)
  [23]  (0.6951, 0.3768)
  [24]  (0.7138, 0.3391)
  [25]  (0.7535, 0.3290)
  [26]  (0.7978, 0.3275)
  [27]  (0.7656, 0.3275)
  [28]  (0.8163, 0.3351)
  [29]  (0.8434, 0.3759)
  [30]  (0.8234, 0.4089)
  [31]  (0.7724, 0.4137)
  [32]  (0.7276, 0.3956)
  [33]  (0.7110, 0.3537)
  [34]  (0.7423, 0.3223)
  [35]  (0.7925, 0.3247)
  [36]  (0.7656, 0.3080)
  [37]  (0.8101, 0.3233)
  [38]  (0.8461, 0.3521)
  [39]  (0.8676, 0.3890)
  [40]  (0.8418, 0.4132)
  [41]  (0.7950, 0.4091)
  [42]  (0.7614, 0.3848)
  [43]  (0.7588, 0.3467)
  [44]  (0.7924, 0.3469)
  [45]  (0.7656, 0.7841)
  [46]  (0.7124, 0.7297)
  [47]  (0.6570, 0.6774)
  [48]  (0.6118, 0.6165)
  [49]  (0.5695, 0.5532)
  [50]  (0.5399, 0.4836)
  [51]  (0.5144, 0.4118)
  [52]  (0.4890, 0.3402)
  [53]  (0.5038, 0.2845)
  [54]  (0.7656, 0.4181)
  [55]  (0.7924, 0.4370)
  [56]  (0.8089, 0.4638)
  [57]  (0.8048, 0.4850)
  [58]  (0.7725, 0.4897)
  [59]  (0.7446, 0.4785)
  [60]  (0.7193, 0.4577)
  [61]  (0.7294, 0.4295)
  [62]  (0.7604, 0.4400)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.6677, 0.4778)  angle=114.1 deg
  V1  (0.9323, 0.5276)  angle=94.0 deg
  V2  (0.8542, 0.0000)  angle=158.8 deg
  V3  (0.7656, 0.5749)  angle=86.4 deg
  V4  (0.0677, 0.5431)  angle=159.4 deg
  V5  (0.7656, 0.3441)  angle=42.6 deg
  V6  (0.8039, 0.3634)  angle=52.1 deg
  V7  (0.8102, 0.3950)  angle=88.6 deg
  V8  (0.6951, 0.3768)  angle=82.4 deg
  V9  (0.7138, 0.3391)  angle=49.2 deg
  V10  (0.7978, 0.3275)  angle=178.1 deg
  V11  (0.7656, 0.3275)  angle=171.4 deg
  V12  (0.8163, 0.3351)  angle=47.8 deg
  V13  (0.8434, 0.3759)  angle=64.8 deg
  V14  (0.8234, 0.4089)  angle=53.4 deg
  V15  (0.7276, 0.3956)  angle=46.3 deg
  V16  (0.7110, 0.3537)  angle=66.4 deg
  V17  (0.7423, 0.3223)  angle=47.9 deg
  V18  (0.7925, 0.3247)  angle=151.0 deg
  V19  (0.7656, 0.3080)  angle=167.2 deg
  V20  (0.8676, 0.3890)  angle=77.1 deg
  V21  (0.8418, 0.4132)  angle=48.2 deg
  V22  (0.7950, 0.4091)  angle=30.9 deg
  V23  (0.7614, 0.3848)  angle=50.1 deg
  V24  (0.7588, 0.3467)  angle=94.3 deg
  V25  (0.7924, 0.3469)  angle=93.1 deg
  V26  (0.7656, 0.7841)  angle=132.1 deg
  V27  (0.4890, 0.3402)  angle=34.4 deg
  V28  (0.5038, 0.2845)  angle=102.1 deg
  V29  (0.8089, 0.4638)  angle=42.4 deg
  V30  (0.8048, 0.4850)  angle=70.8 deg
  V31  (0.7725, 0.4897)  angle=30.3 deg
  V32  (0.7193, 0.4577)  angle=70.1 deg
  V33  (0.7294, 0.4295)  angle=89.1 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
    }
),
