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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7925, 0.9182)
  [ 1]  (0.7769, 0.7698)
  [ 2]  (0.7641, 0.6211)
  [ 3]  (0.7687, 0.4783)
  [ 4]  (0.8923, 0.5114)
  [ 5]  (0.9862, 0.5231)
  [ 6]  (0.9994, 0.3744)
  [ 7]  (1.0000, 0.2252)
  [ 8]  (0.9737, 0.0818)
  [ 9]  (0.7925, 0.5241)
  [10]  (0.7365, 0.5309)
  [11]  (0.6311, 0.5289)
  [12]  (0.5258, 0.5287)
  [13]  (0.4204, 0.5286)
  [14]  (0.3151, 0.5285)
  [15]  (0.2098, 0.5264)
  [16]  (0.1045, 0.5229)
  [17]  (0.0000, 0.5145)
  [18]  (0.7925, 0.3452)
  [19]  (0.8190, 0.4071)
  [20]  (0.7687, 0.4316)
  [21]  (0.7042, 0.4460)
  [22]  (0.6498, 0.4062)
  [23]  (0.6425, 0.3621)
  [24]  (0.6886, 0.3131)
  [25]  (0.7336, 0.3206)
  [26]  (0.6783, 0.3592)
  [27]  (0.7925, 0.3356)
  [28]  (0.8405, 0.3572)
  [29]  (0.8788, 0.3811)
  [30]  (0.8458, 0.4222)
  [31]  (0.7964, 0.4165)
  [32]  (0.7450, 0.4053)
  [33]  (0.7492, 0.3656)
  [34]  (0.7758, 0.3248)
  [35]  (0.8280, 0.3186)
  [36]  (0.7925, 0.3427)
  [37]  (0.8253, 0.3806)
  [38]  (0.8195, 0.4071)
  [39]  (0.7714, 0.4212)
  [40]  (0.7287, 0.3967)
  [41]  (0.6864, 0.3700)
  [42]  (0.7170, 0.3425)
  [43]  (0.7588, 0.3149)
  [44]  (0.8067, 0.3211)
  [45]  (0.7925, 0.7873)
  [46]  (0.7518, 0.7389)
  [47]  (0.7112, 0.6905)
  [48]  (0.6850, 0.6342)
  [49]  (0.6661, 0.5739)
  [50]  (0.6473, 0.5136)
  [51]  (0.6439, 0.4517)
  [52]  (0.6500, 0.3888)
  [53]  (0.6617, 0.3275)
  [54]  (0.7925, 0.4719)
  [55]  (0.8056, 0.5202)
  [56]  (0.7969, 0.5590)
  [57]  (0.7552, 0.5722)
  [58]  (0.7289, 0.5296)
  [59]  (0.7378, 0.4858)
  [60]  (0.7613, 0.4416)
  [61]  (0.8020, 0.4694)
  [62]  (0.7948, 0.4910)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7687, 0.4783)  angle=103.2 deg
  V1  (0.9862, 0.5231)  angle=92.0 deg
  V2  (0.9737, 0.0818)  angle=147.3 deg
  V3  (0.7925, 0.5241)  angle=60.9 deg
  V4  (0.0000, 0.5145)  angle=163.4 deg
  V5  (0.7925, 0.3452)  angle=78.9 deg
  V6  (0.8190, 0.4071)  angle=87.1 deg
  V7  (0.7042, 0.4460)  angle=48.7 deg
  V8  (0.6498, 0.4062)  angle=44.4 deg
  V9  (0.6425, 0.3621)  angle=52.7 deg
  V10  (0.6886, 0.3131)  angle=56.3 deg
  V11  (0.7336, 0.3206)  angle=135.6 deg
  V12  (0.6783, 0.3592)  angle=156.8 deg
  V13  (0.7925, 0.3356)  angle=35.9 deg
  V14  (0.8788, 0.3811)  angle=96.7 deg
  V15  (0.8458, 0.4222)  angle=57.8 deg
  V16  (0.7450, 0.4053)  angle=83.8 deg
  V17  (0.7758, 0.3248)  angle=50.1 deg
  V18  (0.8280, 0.3186)  angle=152.6 deg
  V19  (0.7925, 0.3427)  angle=96.7 deg
  V20  (0.8253, 0.3806)  angle=53.4 deg
  V21  (0.8195, 0.4071)  angle=61.1 deg
  V22  (0.7714, 0.4212)  angle=46.2 deg
  V23  (0.6864, 0.3700)  angle=105.9 deg
  V24  (0.7588, 0.3149)  angle=40.9 deg
  V25  (0.8067, 0.3211)  angle=84.4 deg
  V26  (0.7925, 0.7873)  angle=138.2 deg
  V27  (0.6617, 0.3275)  angle=127.0 deg
  V28  (0.7969, 0.5590)  angle=59.8 deg
  V29  (0.7552, 0.5722)  angle=75.8 deg
  V30  (0.7289, 0.5296)  angle=43.2 deg
  V31  (0.7613, 0.4416)  angle=96.4 deg
  V32  (0.8020, 0.4694)  angle=74.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
    }
),
