=== SAVED CAST: s_1 ===
Normalized points: 64
Raw points: 14

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.4400, 1.0000)
  [ 1]  (0.4363, 0.9792)
  [ 2]  (0.4326, 0.9585)
  [ 3]  (0.4288, 0.9377)
  [ 4]  (0.4251, 0.9170)
  [ 5]  (0.4214, 0.8962)
  [ 6]  (0.4177, 0.8755)
  [ 7]  (0.4140, 0.8547)
  [ 8]  (0.4102, 0.8340)
  [ 9]  (0.4065, 0.8132)
  [10]  (0.4028, 0.7924)
  [11]  (0.4001, 0.7716)
  [12]  (0.4001, 0.7505)
  [13]  (0.4001, 0.7294)
  [14]  (0.4001, 0.7083)
  [15]  (0.4001, 0.6873)
  [16]  (0.4001, 0.6662)
  [17]  (0.4001, 0.6451)
  [18]  (0.4001, 0.6240)
  [19]  (0.4001, 0.6029)
  [20]  (0.4001, 0.5818)
  [21]  (0.4001, 0.5607)
  [22]  (0.4066, 0.5408)
  [23]  (0.4141, 0.5211)
  [24]  (0.4216, 0.5014)
  [25]  (0.4290, 0.4817)
  [26]  (0.4438, 0.4793)
  [27]  (0.4632, 0.4877)
  [28]  (0.4825, 0.4961)
  [29]  (0.5019, 0.5045)
  [30]  (0.5212, 0.5129)
  [31]  (0.5370, 0.5265)
  [32]  (0.5524, 0.5410)
  [33]  (0.5677, 0.5555)
  [34]  (0.5830, 0.5700)
  [35]  (0.5983, 0.5845)
  [36]  (0.5957, 0.5674)
  [37]  (0.5916, 0.5467)
  [38]  (0.5903, 0.5257)
  [39]  (0.5890, 0.5046)
  [40]  (0.5877, 0.4836)
  [41]  (0.5864, 0.4626)
  [42]  (0.5850, 0.4415)
  [43]  (0.5837, 0.4205)
  [44]  (0.5824, 0.3994)
  [45]  (0.5811, 0.3784)
  [46]  (0.5798, 0.3573)
  [47]  (0.5785, 0.3363)
  [48]  (0.5772, 0.3152)
  [49]  (0.5759, 0.2942)
  [50]  (0.5773, 0.2732)
  [51]  (0.5789, 0.2521)
  [52]  (0.5806, 0.2311)
  [53]  (0.5822, 0.2101)
  [54]  (0.5838, 0.1891)
  [55]  (0.5854, 0.1680)
  [56]  (0.5871, 0.1470)
  [57]  (0.5887, 0.1260)
  [58]  (0.5903, 0.1050)
  [59]  (0.5919, 0.0840)
  [60]  (0.5936, 0.0629)
  [61]  (0.5952, 0.0419)
  [62]  (0.5973, 0.0209)
  [63]  (0.5999, 0.0000)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.4290, 0.4817)  angle=59.9 deg
  V1  (0.4438, 0.4793)  angle=32.8 deg
  V2  (0.5983, 0.5845)  angle=142.2 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
    }
),
