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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.6831, 0.0000)
  [ 1]  (0.6818, 0.0334)
  [ 2]  (0.6805, 0.0668)
  [ 3]  (0.6805, 0.1002)
  [ 4]  (0.6805, 0.1336)
  [ 5]  (0.6805, 0.1670)
  [ 6]  (0.6805, 0.2004)
  [ 7]  (0.6805, 0.2338)
  [ 8]  (0.6779, 0.2670)
  [ 9]  (0.6744, 0.3002)
  [10]  (0.6708, 0.3335)
  [11]  (0.6672, 0.3667)
  [12]  (0.6831, 0.6366)
  [13]  (0.6860, 0.6696)
  [14]  (0.6889, 0.7026)
  [15]  (0.6918, 0.7356)
  [16]  (0.6948, 0.7686)
  [17]  (0.6961, 0.8016)
  [18]  (0.6956, 0.8347)
  [19]  (0.6951, 0.8678)
  [20]  (0.6945, 0.9010)
  [21]  (0.6940, 0.9341)
  [22]  (0.6921, 0.9671)
  [23]  (0.6883, 1.0000)
  [24]  (0.6831, 0.0898)
  [25]  (0.6840, 0.1330)
  [26]  (0.6849, 0.1762)
  [27]  (0.6854, 0.2193)
  [28]  (0.6803, 0.2622)
  [29]  (0.6752, 0.3052)
  [30]  (0.6701, 0.3481)
  [31]  (0.6650, 0.3910)
  [32]  (0.6600, 0.4339)
  [33]  (0.6505, 0.4754)
  [34]  (0.6294, 0.5131)
  [35]  (0.6084, 0.5508)
  [36]  (0.6831, 0.6503)
  [37]  (0.6557, 0.6497)
  [38]  (0.6283, 0.6492)
  [39]  (0.6009, 0.6487)
  [40]  (0.5735, 0.6481)
  [41]  (0.5461, 0.6476)
  [42]  (0.5187, 0.6471)
  [43]  (0.4914, 0.6465)
  [44]  (0.4642, 0.6440)
  [45]  (0.4375, 0.6379)
  [46]  (0.4108, 0.6318)
  [47]  (0.3841, 0.6257)
  [48]  (0.6831, 0.8285)
  [49]  (0.6484, 0.8306)
  [50]  (0.6139, 0.8342)
  [51]  (0.5794, 0.8387)
  [52]  (0.5450, 0.8433)
  [53]  (0.5105, 0.8478)
  [54]  (0.4761, 0.8523)
  [55]  (0.4417, 0.8568)
  [56]  (0.4072, 0.8613)
  [57]  (0.3728, 0.8659)
  [58]  (0.3383, 0.8702)
  [59]  (0.3039, 0.8746)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.6883, 1.0000)  angle=173.1 deg
  V1  (0.6831, 0.0898)  angle=179.1 deg
  V2  (0.6084, 0.5508)  angle=66.1 deg
  V3  (0.6831, 0.6503)  angle=128.0 deg
  V4  (0.3841, 0.6257)  angle=158.7 deg
  V5  (0.6831, 0.8285)  angle=142.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
    }
),
