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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.4200, 0.0000)
  [ 1]  (0.4920, 0.0127)
  [ 2]  (0.5454, 0.0692)
  [ 3]  (0.5849, 0.1313)
  [ 4]  (0.5838, 0.2091)
  [ 5]  (0.5288, 0.2445)
  [ 6]  (0.4534, 0.2638)
  [ 7]  (0.4019, 0.2148)
  [ 8]  (0.3815, 0.1426)
  [ 9]  (0.3775, 0.0660)
  [10]  (0.4466, 0.0381)
  [11]  (0.5236, 0.0499)
  [12]  (0.4200, 0.7169)
  [13]  (0.4816, 0.7474)
  [14]  (0.5201, 0.8011)
  [15]  (0.5508, 0.8626)
  [16]  (0.5536, 0.9261)
  [17]  (0.5319, 0.9914)
  [18]  (0.4669, 1.0000)
  [19]  (0.4153, 0.9719)
  [20]  (0.3801, 0.9128)
  [21]  (0.3912, 0.8496)
  [22]  (0.4306, 0.7968)
  [23]  (0.4906, 0.7700)
  [24]  (0.4200, 0.4302)
  [25]  (0.4238, 0.4569)
  [26]  (0.4275, 0.4836)
  [27]  (0.4313, 0.5103)
  [28]  (0.4351, 0.5370)
  [29]  (0.4389, 0.5637)
  [30]  (0.4410, 0.5906)
  [31]  (0.4428, 0.6175)
  [32]  (0.4445, 0.6444)
  [33]  (0.4463, 0.6713)
  [34]  (0.4487, 0.6981)
  [35]  (0.4577, 0.7235)
  [36]  (0.4200, 0.5212)
  [37]  (0.4636, 0.5404)
  [38]  (0.4938, 0.5716)
  [39]  (0.5081, 0.6171)
  [40]  (0.4889, 0.6497)
  [41]  (0.4479, 0.6741)
  [42]  (0.4092, 0.6465)
  [43]  (0.3731, 0.6179)
  [44]  (0.3861, 0.5720)
  [45]  (0.4172, 0.5449)
  [46]  (0.4635, 0.5338)
  [47]  (0.4709, 0.5393)
  [48]  (0.4200, 0.5791)
  [49]  (0.4747, 0.5794)
  [50]  (0.5294, 0.5798)
  [51]  (0.5810, 0.5888)
  [52]  (0.6236, 0.6231)
  [53]  (0.6269, 0.6583)
  [54]  (0.5860, 0.6946)
  [55]  (0.5366, 0.6928)
  [56]  (0.4921, 0.6726)
  [57]  (0.5041, 0.6192)
  [58]  (0.5304, 0.5818)
  [59]  (0.5785, 0.5950)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.4920, 0.0127)  angle=36.6 deg
  V1  (0.5849, 0.1313)  angle=33.3 deg
  V2  (0.5838, 0.2091)  angle=56.5 deg
  V3  (0.4534, 0.2638)  angle=58.0 deg
  V4  (0.4019, 0.2148)  angle=30.6 deg
  V5  (0.3775, 0.0660)  angle=71.0 deg
  V6  (0.4466, 0.0381)  angle=30.7 deg
  V7  (0.5236, 0.0499)  angle=90.1 deg
  V8  (0.4200, 0.7169)  angle=72.5 deg
  V9  (0.5319, 0.9914)  angle=64.1 deg
  V10  (0.4669, 1.0000)  angle=36.1 deg
  V11  (0.4153, 0.9719)  angle=30.7 deg
  V12  (0.3801, 0.9128)  angle=40.7 deg
  V13  (0.4906, 0.7700)  angle=77.7 deg
  V14  (0.4200, 0.4302)  angle=176.3 deg
  V15  (0.4577, 0.7235)  angle=171.2 deg
  V16  (0.4200, 0.5212)  angle=124.4 deg
  V17  (0.5081, 0.6171)  angle=47.9 deg
  V18  (0.4479, 0.6741)  angle=66.2 deg
  V19  (0.3731, 0.6179)  angle=67.5 deg
  V20  (0.3861, 0.5720)  angle=33.0 deg
  V21  (0.4635, 0.5338)  angle=50.6 deg
  V22  (0.4709, 0.5393)  angle=105.0 deg
  V23  (0.4200, 0.5791)  angle=141.6 deg
  V24  (0.6236, 0.6231)  angle=45.8 deg
  V25  (0.6269, 0.6583)  angle=53.8 deg
  V26  (0.5860, 0.6946)  angle=43.6 deg
  V27  (0.4921, 0.6726)  angle=78.3 deg
  V28  (0.5304, 0.5818)  angle=70.3 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
    }
),
