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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7706, 1.0000)
  [ 1]  (0.7572, 0.8604)
  [ 2]  (0.7556, 0.7201)
  [ 3]  (0.7718, 0.5821)
  [ 4]  (0.8779, 0.5480)
  [ 5]  (0.8892, 0.4176)
  [ 6]  (0.8860, 0.2773)
  [ 7]  (0.8748, 0.1377)
  [ 8]  (0.8498, 0.0000)
  [ 9]  (0.7706, 0.5939)
  [10]  (0.6882, 0.5887)
  [11]  (0.6058, 0.5875)
  [12]  (0.5233, 0.5896)
  [13]  (0.4408, 0.5917)
  [14]  (0.3582, 0.5937)
  [15]  (0.2758, 0.5960)
  [16]  (0.1933, 0.5987)
  [17]  (0.1108, 0.6014)
  [18]  (0.7706, 0.4111)
  [19]  (0.7988, 0.4394)
  [20]  (0.8037, 0.4714)
  [21]  (0.7724, 0.4824)
  [22]  (0.7475, 0.4632)
  [23]  (0.7522, 0.4288)
  [24]  (0.7888, 0.4129)
  [25]  (0.8144, 0.4251)
  [26]  (0.7837, 0.4506)
  [27]  (0.7706, 0.4506)
  [28]  (0.8006, 0.4733)
  [29]  (0.7880, 0.5072)
  [30]  (0.7566, 0.5158)
  [31]  (0.7190, 0.5144)
  [32]  (0.7052, 0.4838)
  [33]  (0.7075, 0.4504)
  [34]  (0.7358, 0.4333)
  [35]  (0.7336, 0.4560)
  [36]  (0.7706, 0.4323)
  [37]  (0.7958, 0.4516)
  [38]  (0.8133, 0.4733)
  [39]  (0.8020, 0.5001)
  [40]  (0.7715, 0.4914)
  [41]  (0.7499, 0.4762)
  [42]  (0.7516, 0.4445)
  [43]  (0.7740, 0.4316)
  [44]  (0.7916, 0.4481)
  [45]  (0.7706, 0.9853)
  [46]  (0.7297, 0.9156)
  [47]  (0.6903, 0.8450)
  [48]  (0.6509, 0.7744)
  [49]  (0.6272, 0.6972)
  [50]  (0.6044, 0.6197)
  [51]  (0.5851, 0.5412)
  [52]  (0.5665, 0.4626)
  [53]  (0.5610, 0.3821)
  [54]  (0.7706, 0.5806)
  [55]  (0.7905, 0.6130)
  [56]  (0.7925, 0.6488)
  [57]  (0.7594, 0.6433)
  [58]  (0.7229, 0.6324)
  [59]  (0.7005, 0.6100)
  [60]  (0.6969, 0.5721)
  [61]  (0.7326, 0.5674)
  [62]  (0.7706, 0.5646)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7718, 0.5821)  angle=65.5 deg
  V1  (0.8779, 0.5480)  angle=67.3 deg
  V2  (0.8498, 0.0000)  angle=162.1 deg
  V3  (0.7706, 0.5939)  angle=86.0 deg
  V4  (0.1108, 0.6014)  angle=165.8 deg
  V5  (0.7706, 0.4111)  angle=61.1 deg
  V6  (0.7988, 0.4394)  angle=36.2 deg
  V7  (0.8037, 0.4714)  angle=79.4 deg
  V8  (0.7724, 0.4824)  angle=57.0 deg
  V9  (0.7475, 0.4632)  angle=60.1 deg
  V10  (0.7522, 0.4288)  angle=58.9 deg
  V11  (0.7888, 0.4129)  angle=49.0 deg
  V12  (0.8144, 0.4251)  angle=114.8 deg
  V13  (0.7837, 0.4506)  angle=39.7 deg
  V14  (0.7706, 0.4506)  angle=143.0 deg
  V15  (0.8006, 0.4733)  angle=73.5 deg
  V16  (0.7880, 0.5072)  angle=54.1 deg
  V17  (0.7190, 0.5144)  angle=63.7 deg
  V18  (0.7075, 0.4504)  angle=54.9 deg
  V19  (0.7358, 0.4333)  angle=126.7 deg
  V20  (0.7336, 0.4560)  angle=128.2 deg
  V21  (0.7706, 0.4323)  angle=70.0 deg
  V22  (0.8133, 0.4733)  angle=61.7 deg
  V23  (0.8020, 0.5001)  angle=83.1 deg
  V24  (0.7499, 0.4762)  angle=58.0 deg
  V25  (0.7516, 0.4445)  angle=57.0 deg
  V26  (0.7740, 0.4316)  angle=73.3 deg
  V27  (0.7916, 0.4481)  angle=48.9 deg
  V28  (0.7706, 0.9853)  angle=147.4 deg
  V29  (0.5610, 0.3821)  angle=137.3 deg
  V30  (0.7925, 0.6488)  angle=102.5 deg
  V31  (0.7005, 0.6100)  angle=39.5 deg
  V32  (0.6969, 0.5721)  angle=88.0 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
    }
),
