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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.8540, 0.8639)
  [ 1]  (0.8099, 0.7308)
  [ 2]  (0.7956, 0.5903)
  [ 3]  (0.8738, 0.5996)
  [ 4]  (0.9923, 0.6758)
  [ 5]  (1.0000, 0.5592)
  [ 6]  (0.9860, 0.4185)
  [ 7]  (0.9744, 0.2775)
  [ 8]  (0.9694, 0.1361)
  [ 9]  (0.8540, 0.5730)
  [10]  (0.7473, 0.5698)
  [11]  (0.6403, 0.5694)
  [12]  (0.5334, 0.5689)
  [13]  (0.4264, 0.5676)
  [14]  (0.3195, 0.5647)
  [15]  (0.2130, 0.5564)
  [16]  (0.1066, 0.5454)
  [17]  (0.0000, 0.5363)
  [18]  (0.8540, 0.3685)
  [19]  (0.8882, 0.4059)
  [20]  (0.8971, 0.4485)
  [21]  (0.8604, 0.4704)
  [22]  (0.8116, 0.4711)
  [23]  (0.7872, 0.4266)
  [24]  (0.8073, 0.3829)
  [25]  (0.8452, 0.3588)
  [26]  (0.8525, 0.3811)
  [27]  (0.8540, 0.3716)
  [28]  (0.8905, 0.3964)
  [29]  (0.9136, 0.4293)
  [30]  (0.8945, 0.4569)
  [31]  (0.8545, 0.4391)
  [32]  (0.8396, 0.4059)
  [33]  (0.8582, 0.3727)
  [34]  (0.8984, 0.3662)
  [35]  (0.8661, 0.3842)
  [36]  (0.8540, 0.3653)
  [37]  (0.8929, 0.3774)
  [38]  (0.9218, 0.4069)
  [39]  (0.9324, 0.4430)
  [40]  (0.9040, 0.4588)
  [41]  (0.8709, 0.4459)
  [42]  (0.8699, 0.4103)
  [43]  (0.8910, 0.3755)
  [44]  (0.9130, 0.3933)
  [45]  (0.8540, 0.7761)
  [46]  (0.8337, 0.7254)
  [47]  (0.8124, 0.6751)
  [48]  (0.7908, 0.6248)
  [49]  (0.7750, 0.5726)
  [50]  (0.7603, 0.5199)
  [51]  (0.7566, 0.4656)
  [52]  (0.7596, 0.4113)
  [53]  (0.7813, 0.3631)
  [54]  (0.8540, 0.5032)
  [55]  (0.8714, 0.5180)
  [56]  (0.8846, 0.5348)
  [57]  (0.8815, 0.5529)
  [58]  (0.8588, 0.5508)
  [59]  (0.8449, 0.5348)
  [60]  (0.8466, 0.5168)
  [61]  (0.8626, 0.5007)
  [62]  (0.8843, 0.5063)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7956, 0.5903)  angle=102.6 deg
  V1  (0.9923, 0.6758)  angle=119.0 deg
  V2  (0.9694, 0.1361)  angle=163.2 deg
  V3  (0.8540, 0.5730)  angle=76.9 deg
  V4  (0.0000, 0.5363)  angle=164.0 deg
  V5  (0.8540, 0.3685)  angle=58.7 deg
  V6  (0.8882, 0.4059)  angle=30.7 deg
  V7  (0.8971, 0.4485)  angle=71.1 deg
  V8  (0.8116, 0.4711)  angle=62.2 deg
  V9  (0.7872, 0.4266)  angle=53.4 deg
  V10  (0.8073, 0.3829)  angle=32.8 deg
  V11  (0.8452, 0.3588)  angle=104.4 deg
  V12  (0.8525, 0.3811)  angle=152.7 deg
  V13  (0.8540, 0.3716)  angle=115.0 deg
  V14  (0.9136, 0.4293)  angle=69.7 deg
  V15  (0.8945, 0.4569)  angle=79.3 deg
  V16  (0.8545, 0.4391)  angle=41.8 deg
  V17  (0.8396, 0.4059)  angle=53.4 deg
  V18  (0.8582, 0.3727)  angle=51.6 deg
  V19  (0.8984, 0.3662)  angle=160.0 deg
  V20  (0.8661, 0.3842)  angle=86.7 deg
  V21  (0.8540, 0.3653)  angle=139.7 deg
  V22  (0.9324, 0.4430)  angle=77.3 deg
  V23  (0.9040, 0.4588)  angle=50.3 deg
  V24  (0.8709, 0.4459)  angle=67.1 deg
  V25  (0.8699, 0.4103)  angle=33.0 deg
  V26  (0.8910, 0.3755)  angle=97.9 deg
  V27  (0.9130, 0.3933)  angle=59.6 deg
  V28  (0.8540, 0.7761)  angle=149.4 deg
  V29  (0.7813, 0.3631)  angle=128.4 deg
  V30  (0.8846, 0.5348)  angle=48.3 deg
  V31  (0.8815, 0.5529)  angle=85.4 deg
  V32  (0.8588, 0.5508)  angle=43.7 deg
  V33  (0.8449, 0.5348)  angle=46.2 deg
  V34  (0.8466, 0.5168)  angle=39.5 deg
  V35  (0.8626, 0.5007)  angle=59.8 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
    }
),
