=== SAVED CAST: bless_3_s51 ===
Normalized points: 60
Raw points: N/A

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.4667, 0.8625)
  [ 1]  (0.5187, 0.8557)
  [ 2]  (0.5671, 0.8685)
  [ 3]  (0.6014, 0.9010)
  [ 4]  (0.6065, 0.9531)
  [ 5]  (0.5654, 0.9812)
  [ 6]  (0.5195, 1.0000)
  [ 7]  (0.4721, 0.9776)
  [ 8]  (0.4557, 0.9353)
  [ 9]  (0.4624, 0.8855)
  [10]  (0.5003, 0.8556)
  [11]  (0.5525, 0.8594)
  [12]  (0.4667, 0.3366)
  [13]  (0.4692, 0.3716)
  [14]  (0.4717, 0.4065)
  [15]  (0.4742, 0.4415)
  [16]  (0.4750, 0.4765)
  [17]  (0.4757, 0.5115)
  [18]  (0.4764, 0.5466)
  [19]  (0.4771, 0.5816)
  [20]  (0.4772, 0.6167)
  [21]  (0.4772, 0.6517)
  [22]  (0.4772, 0.6868)
  [23]  (0.4772, 0.7218)
  [24]  (0.4667, 0.5161)
  [25]  (0.5078, 0.5316)
  [26]  (0.5375, 0.5676)
  [27]  (0.5322, 0.6109)
  [28]  (0.5048, 0.6413)
  [29]  (0.4603, 0.6538)
  [30]  (0.4295, 0.6188)
  [31]  (0.4063, 0.5785)
  [32]  (0.3935, 0.5376)
  [33]  (0.4313, 0.5162)
  [34]  (0.4768, 0.5060)
  [35]  (0.5234, 0.5039)
  [36]  (0.4667, 0.5016)
  [37]  (0.5122, 0.5235)
  [38]  (0.5398, 0.5655)
  [39]  (0.5459, 0.6120)
  [40]  (0.5232, 0.6485)
  [41]  (0.4734, 0.6569)
  [42]  (0.4327, 0.6353)
  [43]  (0.4117, 0.5952)
  [44]  (0.4192, 0.5453)
  [45]  (0.4514, 0.5086)
  [46]  (0.4979, 0.4969)
  [47]  (0.5467, 0.5051)
  [48]  (0.4667, 0.0000)
  [49]  (0.5204, 0.0452)
  [50]  (0.5579, 0.1098)
  [51]  (0.5854, 0.1799)
  [52]  (0.5830, 0.2529)
  [53]  (0.5436, 0.3020)
  [54]  (0.4795, 0.2843)
  [55]  (0.4269, 0.2312)
  [56]  (0.4162, 0.1566)
  [57]  (0.4122, 0.0831)
  [58]  (0.4602, 0.0461)
  [59]  (0.5254, 0.0751)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.6014, 0.9010)  angle=41.0 deg
  V1  (0.6065, 0.9531)  angle=61.3 deg
  V2  (0.5195, 1.0000)  angle=47.6 deg
  V3  (0.4721, 0.9776)  angle=43.4 deg
  V4  (0.4624, 0.8855)  angle=44.2 deg
  V5  (0.5003, 0.8556)  angle=42.4 deg
  V6  (0.5525, 0.8594)  angle=103.5 deg
  V7  (0.4667, 0.3366)  angle=174.8 deg
  V8  (0.4772, 0.7218)  angle=177.1 deg
  V9  (0.4667, 0.5161)  angle=113.6 deg
  V10  (0.5375, 0.5676)  angle=46.5 deg
  V11  (0.5322, 0.6109)  angle=35.2 deg
  V12  (0.5048, 0.6413)  angle=32.2 deg
  V13  (0.4603, 0.6538)  angle=64.3 deg
  V14  (0.3935, 0.5376)  angle=77.8 deg
  V15  (0.5234, 0.5039)  angle=175.0 deg
  V16  (0.4667, 0.5016)  angle=156.6 deg
  V17  (0.5122, 0.5235)  angle=30.9 deg
  V18  (0.5459, 0.6120)  angle=39.3 deg
  V19  (0.5232, 0.6485)  angle=48.6 deg
  V20  (0.4734, 0.6569)  angle=37.5 deg
  V21  (0.4327, 0.6353)  angle=34.4 deg
  V22  (0.4117, 0.5952)  angle=36.3 deg
  V23  (0.4192, 0.5453)  angle=32.6 deg
  V24  (0.4514, 0.5086)  angle=34.7 deg
  V25  (0.5467, 0.5051)  angle=108.5 deg
  V26  (0.4667, 0.0000)  angle=139.1 deg
  V27  (0.5830, 0.2529)  angle=36.9 deg
  V28  (0.5436, 0.3020)  angle=66.6 deg
  V29  (0.4269, 0.2312)  angle=36.5 deg
  V30  (0.4122, 0.0831)  angle=55.4 deg
  V31  (0.4602, 0.0461)  angle=61.7 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
    }
),
