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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7681, 0.9079)
  [ 1]  (0.7440, 0.7679)
  [ 2]  (0.7499, 0.6256)
  [ 3]  (0.8113, 0.5585)
  [ 4]  (0.9438, 0.6105)
  [ 5]  (0.9854, 0.5192)
  [ 6]  (0.9923, 0.3769)
  [ 7]  (0.9986, 0.2346)
  [ 8]  (1.0000, 0.0921)
  [ 9]  (0.7681, 0.5752)
  [10]  (0.6722, 0.5837)
  [11]  (0.5762, 0.5913)
  [12]  (0.4799, 0.5900)
  [13]  (0.3836, 0.5887)
  [14]  (0.2874, 0.5860)
  [15]  (0.1914, 0.5789)
  [16]  (0.0953, 0.5718)
  [17]  (0.0000, 0.5583)
  [18]  (0.7681, 0.4202)
  [19]  (0.8089, 0.4378)
  [20]  (0.8214, 0.4781)
  [21]  (0.7913, 0.4961)
  [22]  (0.7502, 0.4970)
  [23]  (0.7186, 0.4659)
  [24]  (0.7396, 0.4295)
  [25]  (0.7737, 0.4091)
  [26]  (0.7738, 0.4181)
  [27]  (0.7681, 0.4261)
  [28]  (0.8092, 0.4280)
  [29]  (0.8398, 0.4552)
  [30]  (0.8607, 0.4852)
  [31]  (0.8390, 0.5093)
  [32]  (0.7996, 0.4975)
  [33]  (0.7806, 0.4637)
  [34]  (0.7928, 0.4345)
  [35]  (0.8331, 0.4359)
  [36]  (0.7681, 0.4302)
  [37]  (0.8054, 0.4449)
  [38]  (0.8150, 0.4764)
  [39]  (0.7990, 0.5040)
  [40]  (0.7589, 0.5065)
  [41]  (0.7359, 0.4800)
  [42]  (0.7458, 0.4507)
  [43]  (0.7805, 0.4342)
  [44]  (0.7681, 0.4462)
  [45]  (0.7681, 0.7934)
  [46]  (0.7281, 0.7346)
  [47]  (0.6791, 0.6821)
  [48]  (0.6363, 0.6245)
  [49]  (0.5987, 0.5636)
  [50]  (0.5691, 0.4981)
  [51]  (0.5566, 0.4275)
  [52]  (0.5593, 0.3566)
  [53]  (0.5871, 0.2929)
  [54]  (0.7681, 0.4818)
  [55]  (0.7884, 0.5070)
  [56]  (0.7874, 0.5358)
  [57]  (0.7668, 0.5487)
  [58]  (0.7352, 0.5415)
  [59]  (0.7104, 0.5273)
  [60]  (0.7024, 0.4959)
  [61]  (0.7170, 0.4754)
  [62]  (0.7413, 0.4797)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7499, 0.6256)  angle=40.1 deg
  V1  (0.8113, 0.5585)  angle=69.0 deg
  V2  (0.9438, 0.6105)  angle=87.0 deg
  V3  (1.0000, 0.0921)  angle=154.9 deg
  V4  (0.7681, 0.5752)  angle=59.3 deg
  V5  (0.0000, 0.5583)  angle=161.7 deg
  V6  (0.7681, 0.4202)  angle=33.5 deg
  V7  (0.8089, 0.4378)  angle=49.5 deg
  V8  (0.8214, 0.4781)  angle=76.2 deg
  V9  (0.7502, 0.4970)  angle=45.9 deg
  V10  (0.7186, 0.4659)  angle=75.5 deg
  V11  (0.7737, 0.4091)  angle=120.5 deg
  V12  (0.7738, 0.4181)  angle=35.9 deg
  V13  (0.7681, 0.4261)  angle=122.9 deg
  V14  (0.8092, 0.4280)  angle=39.1 deg
  V15  (0.8607, 0.4852)  angle=76.8 deg
  V16  (0.8390, 0.5093)  angle=64.7 deg
  V17  (0.7996, 0.4975)  angle=43.9 deg
  V18  (0.7806, 0.4637)  angle=52.2 deg
  V19  (0.7928, 0.4345)  angle=69.2 deg
  V20  (0.8331, 0.4359)  angle=176.9 deg
  V21  (0.7681, 0.4302)  angle=163.4 deg
  V22  (0.8054, 0.4449)  angle=51.5 deg
  V23  (0.8150, 0.4764)  angle=47.0 deg
  V24  (0.7990, 0.5040)  angle=56.4 deg
  V25  (0.7589, 0.5065)  angle=52.5 deg
  V26  (0.7359, 0.4800)  angle=59.8 deg
  V27  (0.7458, 0.4507)  angle=45.8 deg
  V28  (0.7805, 0.4342)  angle=161.4 deg
  V29  (0.7681, 0.4462)  angle=45.9 deg
  V30  (0.7681, 0.7934)  angle=145.8 deg
  V31  (0.5871, 0.2929)  angle=112.7 deg
  V32  (0.7884, 0.5070)  angle=40.9 deg
  V33  (0.7874, 0.5358)  angle=55.9 deg
  V34  (0.7668, 0.5487)  angle=44.9 deg
  V35  (0.7104, 0.5273)  angle=46.0 deg
  V36  (0.7024, 0.4959)  angle=49.7 deg
  V37  (0.7170, 0.4754)  angle=64.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
    }
),
