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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7607, 1.0000)
  [ 1]  (0.7184, 0.8583)
  [ 2]  (0.7030, 0.7137)
  [ 3]  (0.7149, 0.5663)
  [ 4]  (0.8499, 0.5333)
  [ 5]  (0.9030, 0.4371)
  [ 6]  (0.8915, 0.2896)
  [ 7]  (0.8973, 0.1419)
  [ 8]  (0.8836, 0.0000)
  [ 9]  (0.7607, 0.5463)
  [10]  (0.6779, 0.5551)
  [11]  (0.5951, 0.5631)
  [12]  (0.5120, 0.5686)
  [13]  (0.4290, 0.5741)
  [14]  (0.3459, 0.5795)
  [15]  (0.2629, 0.5850)
  [16]  (0.1799, 0.5817)
  [17]  (0.0970, 0.5749)
  [18]  (0.7607, 0.2663)
  [19]  (0.8042, 0.3053)
  [20]  (0.8209, 0.3419)
  [21]  (0.7690, 0.3578)
  [22]  (0.7126, 0.3420)
  [23]  (0.7187, 0.3072)
  [24]  (0.7686, 0.2867)
  [25]  (0.7768, 0.2904)
  [26]  (0.7197, 0.3032)
  [27]  (0.7607, 0.3181)
  [28]  (0.7957, 0.3448)
  [29]  (0.8307, 0.3715)
  [30]  (0.8056, 0.3800)
  [31]  (0.7616, 0.3826)
  [32]  (0.7191, 0.3832)
  [33]  (0.7070, 0.3408)
  [34]  (0.7384, 0.3197)
  [35]  (0.7792, 0.3032)
  [36]  (0.7607, 0.3070)
  [37]  (0.7946, 0.3296)
  [38]  (0.8269, 0.3517)
  [39]  (0.7862, 0.3488)
  [40]  (0.7455, 0.3460)
  [41]  (0.7264, 0.3309)
  [42]  (0.7513, 0.3017)
  [43]  (0.7784, 0.2932)
  [44]  (0.7494, 0.3218)
  [45]  (0.7607, 0.8373)
  [46]  (0.7071, 0.7631)
  [47]  (0.6529, 0.6893)
  [48]  (0.5985, 0.6157)
  [49]  (0.5468, 0.5404)
  [50]  (0.5022, 0.4605)
  [51]  (0.4851, 0.3729)
  [52]  (0.5297, 0.3010)
  [53]  (0.6039, 0.2511)
  [54]  (0.7607, 0.3890)
  [55]  (0.7973, 0.4204)
  [56]  (0.8037, 0.4599)
  [57]  (0.7822, 0.4955)
  [58]  (0.7352, 0.4848)
  [59]  (0.7167, 0.4593)
  [60]  (0.7352, 0.4147)
  [61]  (0.7658, 0.3845)
  [62]  (0.8129, 0.3741)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7149, 0.5663)  angle=71.6 deg
  V1  (0.8499, 0.5333)  angle=47.4 deg
  V2  (0.9030, 0.4371)  angle=33.4 deg
  V3  (0.8836, 0.0000)  angle=161.8 deg
  V4  (0.7607, 0.5463)  angle=71.2 deg
  V5  (0.0970, 0.5749)  angle=150.4 deg
  V6  (0.7607, 0.2663)  angle=66.8 deg
  V7  (0.8209, 0.3419)  angle=97.5 deg
  V8  (0.7690, 0.3578)  angle=32.7 deg
  V9  (0.7126, 0.3420)  angle=84.2 deg
  V10  (0.7187, 0.3072)  angle=57.8 deg
  V11  (0.7686, 0.2867)  angle=46.6 deg
  V12  (0.7768, 0.2904)  angle=143.1 deg
  V13  (0.7197, 0.3032)  angle=147.5 deg
  V14  (0.8307, 0.3715)  angle=124.1 deg
  V15  (0.7191, 0.3832)  angle=74.8 deg
  V16  (0.7070, 0.3408)  angle=71.9 deg
  V17  (0.7792, 0.3032)  angle=169.5 deg
  V18  (0.7607, 0.3070)  angle=134.8 deg
  V19  (0.8269, 0.3517)  angle=149.6 deg
  V20  (0.7455, 0.3460)  angle=34.3 deg
  V21  (0.7264, 0.3309)  angle=92.2 deg
  V22  (0.7513, 0.3017)  angle=32.2 deg
  V23  (0.7784, 0.2932)  angle=152.7 deg
  V24  (0.7494, 0.3218)  angle=46.7 deg
  V25  (0.7607, 0.8373)  angle=145.4 deg
  V26  (0.4851, 0.3729)  angle=42.9 deg
  V27  (0.6039, 0.2511)  angle=75.2 deg
  V28  (0.7973, 0.4204)  angle=40.1 deg
  V29  (0.8037, 0.4599)  angle=40.4 deg
  V30  (0.7822, 0.4955)  angle=71.7 deg
  V31  (0.7352, 0.4848)  angle=41.2 deg
  V32  (0.7167, 0.4593)  angle=58.4 deg
  V33  (0.7658, 0.3845)  angle=32.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
    }
),
