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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7757, 0.8951)
  [ 1]  (0.7282, 0.7380)
  [ 2]  (0.6914, 0.5795)
  [ 3]  (0.7407, 0.4694)
  [ 4]  (0.8845, 0.5445)
  [ 5]  (1.0000, 0.5885)
  [ 6]  (0.9827, 0.4253)
  [ 7]  (0.9650, 0.2621)
  [ 8]  (0.9199, 0.1049)
  [ 9]  (0.7757, 0.5221)
  [10]  (0.6787, 0.5221)
  [11]  (0.5818, 0.5228)
  [12]  (0.4848, 0.5235)
  [13]  (0.3878, 0.5243)
  [14]  (0.2908, 0.5250)
  [15]  (0.1939, 0.5234)
  [16]  (0.0969, 0.5205)
  [17]  (0.0000, 0.5176)
  [18]  (0.7757, 0.2811)
  [19]  (0.8099, 0.3212)
  [20]  (0.8278, 0.3572)
  [21]  (0.7783, 0.3755)
  [22]  (0.7293, 0.3886)
  [23]  (0.6838, 0.3620)
  [24]  (0.6959, 0.3293)
  [25]  (0.7349, 0.2937)
  [26]  (0.7826, 0.2741)
  [27]  (0.7757, 0.2776)
  [28]  (0.8065, 0.3174)
  [29]  (0.8083, 0.3554)
  [30]  (0.7698, 0.3760)
  [31]  (0.7233, 0.3569)
  [32]  (0.6948, 0.3299)
  [33]  (0.7121, 0.2826)
  [34]  (0.7586, 0.2729)
  [35]  (0.7551, 0.2881)
  [36]  (0.7757, 0.3019)
  [37]  (0.8119, 0.3305)
  [38]  (0.8181, 0.3702)
  [39]  (0.8070, 0.4120)
  [40]  (0.7612, 0.4068)
  [41]  (0.7174, 0.3998)
  [42]  (0.7154, 0.3538)
  [43]  (0.7283, 0.3184)
  [44]  (0.7725, 0.3054)
  [45]  (0.7757, 0.8112)
  [46]  (0.7456, 0.7546)
  [47]  (0.7158, 0.6979)
  [48]  (0.6864, 0.6410)
  [49]  (0.6601, 0.5825)
  [50]  (0.6339, 0.5240)
  [51]  (0.6154, 0.4635)
  [52]  (0.6097, 0.3997)
  [53]  (0.6109, 0.3359)
  [54]  (0.7757, 0.4913)
  [55]  (0.7785, 0.5402)
  [56]  (0.7432, 0.5485)
  [57]  (0.7082, 0.5226)
  [58]  (0.6847, 0.4797)
  [59]  (0.7137, 0.4523)
  [60]  (0.7606, 0.4532)
  [61]  (0.7914, 0.4640)
  [62]  (0.7448, 0.4707)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.6914, 0.5795)  angle=37.2 deg
  V1  (0.7407, 0.4694)  angle=93.4 deg
  V2  (1.0000, 0.5885)  angle=116.9 deg
  V3  (0.9199, 0.1049)  angle=144.9 deg
  V4  (0.7757, 0.5221)  angle=70.9 deg
  V5  (0.0000, 0.5176)  angle=161.3 deg
  V6  (0.7757, 0.2811)  angle=66.5 deg
  V7  (0.8278, 0.3572)  angle=96.1 deg
  V8  (0.7293, 0.3886)  angle=45.4 deg
  V9  (0.6838, 0.3620)  angle=79.8 deg
  V10  (0.7826, 0.2741)  angle=175.5 deg
  V11  (0.7757, 0.2776)  angle=100.8 deg
  V12  (0.8065, 0.3174)  angle=34.8 deg
  V13  (0.8083, 0.3554)  angle=64.7 deg
  V14  (0.7698, 0.3760)  angle=50.5 deg
  V15  (0.6948, 0.3299)  angle=66.5 deg
  V16  (0.7121, 0.2826)  angle=58.1 deg
  V17  (0.7586, 0.2729)  angle=114.6 deg
  V18  (0.7551, 0.2881)  angle=68.9 deg
  V19  (0.8119, 0.3305)  angle=42.8 deg
  V20  (0.8070, 0.4120)  angle=81.5 deg
  V21  (0.7174, 0.3998)  angle=78.4 deg
  V22  (0.7283, 0.3184)  angle=53.6 deg
  V23  (0.7725, 0.3054)  angle=106.0 deg
  V24  (0.7757, 0.8112)  angle=152.4 deg
  V25  (0.6109, 0.3359)  angle=132.3 deg
  V26  (0.7757, 0.4913)  angle=43.5 deg
  V27  (0.7785, 0.5402)  angle=79.9 deg
  V28  (0.7432, 0.5485)  angle=49.9 deg
  V29  (0.6847, 0.4797)  angle=75.4 deg
  V30  (0.7137, 0.4523)  angle=44.5 deg
  V31  (0.7914, 0.4640)  angle=152.5 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
    }
),
