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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.9341, 0.8364)
  [ 1]  (0.7351, 0.8828)
  [ 2]  (0.5337, 0.9134)
  [ 3]  (0.3299, 0.9274)
  [ 4]  (0.2287, 0.8194)
  [ 5]  (0.1986, 0.6175)
  [ 6]  (0.1595, 0.4169)
  [ 7]  (0.1265, 0.2154)
  [ 8]  (0.1014, 0.0126)
  [ 9]  (0.9341, 0.4051)
  [10]  (0.9968, 0.4640)
  [11]  (1.0000, 0.5500)
  [12]  (0.9429, 0.5769)
  [13]  (0.8568, 0.5752)
  [14]  (0.7934, 0.5484)
  [15]  (0.7916, 0.4665)
  [16]  (0.8582, 0.4119)
  [17]  (0.9383, 0.4175)
  [18]  (0.9341, 0.7189)
  [19]  (0.8177, 0.7299)
  [20]  (0.7010, 0.7359)
  [21]  (0.5842, 0.7401)
  [22]  (0.4674, 0.7444)
  [23]  (0.3506, 0.7486)
  [24]  (0.2338, 0.7527)
  [25]  (0.1169, 0.7547)
  [26]  (0.0000, 0.7568)
  [27]  (0.9341, 0.4260)
  [28]  (0.9540, 0.4593)
  [29]  (0.9308, 0.4724)
  [30]  (0.8926, 0.4785)
  [31]  (0.8543, 0.4845)
  [32]  (0.8322, 0.4553)
  [33]  (0.8397, 0.4187)
  [34]  (0.8596, 0.3882)
  [35]  (0.8922, 0.3673)
  [36]  (0.9341, 0.3966)
  [37]  (0.9706, 0.4407)
  [38]  (0.9843, 0.4825)
  [39]  (0.9400, 0.5188)
  [40]  (0.8869, 0.5172)
  [41]  (0.8382, 0.4989)
  [42]  (0.8382, 0.4417)
  [43]  (0.8803, 0.4073)
  [44]  (0.9341, 0.3924)
  [45]  (0.9341, 0.9874)
  [46]  (0.8382, 0.9105)
  [47]  (0.7565, 0.8216)
  [48]  (0.6973, 0.7138)
  [49]  (0.6433, 0.6040)
  [50]  (0.6112, 0.4853)
  [51]  (0.5718, 0.3691)
  [52]  (0.6035, 0.2748)
  [53]  (0.7209, 0.2381)
  [54]  (0.9341, 0.4637)
  [55]  (0.9628, 0.5047)
  [56]  (0.9731, 0.5414)
  [57]  (0.9292, 0.5655)
  [58]  (0.8854, 0.5895)
  [59]  (0.8409, 0.5772)
  [60]  (0.8251, 0.5430)
  [61]  (0.8415, 0.4957)
  [62]  (0.8799, 0.4722)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3299, 0.9274)  angle=50.8 deg
  V1  (0.2287, 0.8194)  angle=34.7 deg
  V2  (0.1014, 0.0126)  angle=122.3 deg
  V3  (0.9968, 0.4640)  angle=44.7 deg
  V4  (1.0000, 0.5500)  angle=66.9 deg
  V5  (0.7934, 0.5484)  angle=65.9 deg
  V6  (0.7916, 0.4665)  angle=52.0 deg
  V7  (0.8582, 0.4119)  angle=43.3 deg
  V8  (0.9383, 0.4175)  angle=86.8 deg
  V9  (0.9341, 0.7189)  angle=83.8 deg
  V10  (0.0000, 0.7568)  angle=161.5 deg
  V11  (0.9341, 0.4260)  angle=78.7 deg
  V12  (0.9540, 0.4593)  angle=91.2 deg
  V13  (0.8543, 0.4845)  angle=61.8 deg
  V14  (0.8322, 0.4553)  angle=48.7 deg
  V15  (0.8922, 0.3673)  angle=67.7 deg
  V16  (0.9843, 0.4825)  angle=68.8 deg
  V17  (0.9400, 0.5188)  angle=40.9 deg
  V18  (0.8382, 0.4989)  angle=69.3 deg
  V19  (0.8382, 0.4417)  angle=50.8 deg
  V20  (0.9341, 0.3924)  angle=105.5 deg
  V21  (0.9341, 0.9874)  angle=128.7 deg
  V22  (0.5718, 0.3691)  angle=37.4 deg
  V23  (0.6035, 0.2748)  angle=54.0 deg
  V24  (0.7209, 0.2381)  angle=64.0 deg
  V25  (0.9731, 0.5414)  angle=77.0 deg
  V26  (0.8854, 0.5895)  angle=44.2 deg
  V27  (0.8409, 0.5772)  angle=49.8 deg
  V28  (0.8251, 0.5430)  angle=43.8 deg
  V29  (0.8415, 0.4957)  angle=39.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
    }
),
