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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7473, 1.0000)
  [ 1]  (0.7421, 0.9588)
  [ 2]  (0.7369, 0.9177)
  [ 3]  (0.7306, 0.8767)
  [ 4]  (0.7242, 0.8357)
  [ 5]  (0.7191, 0.7946)
  [ 6]  (0.7206, 0.7531)
  [ 7]  (0.7220, 0.7117)
  [ 8]  (0.7244, 0.6703)
  [ 9]  (0.7279, 0.6289)
  [10]  (0.7290, 0.5875)
  [11]  (0.7209, 0.5470)
  [12]  (0.7473, 0.3738)
  [13]  (0.7498, 0.3400)
  [14]  (0.7509, 0.3062)
  [15]  (0.7512, 0.2723)
  [16]  (0.7512, 0.2384)
  [17]  (0.7512, 0.2045)
  [18]  (0.7538, 0.1707)
  [19]  (0.7561, 0.1369)
  [20]  (0.7574, 0.1031)
  [21]  (0.7574, 0.0692)
  [22]  (0.7574, 0.0353)
  [23]  (0.7512, 0.0021)
  [24]  (0.7473, 0.0000)
  [25]  (0.7473, 0.0424)
  [26]  (0.7447, 0.0846)
  [27]  (0.7408, 0.1268)
  [28]  (0.7360, 0.1689)
  [29]  (0.7324, 0.2111)
  [30]  (0.7304, 0.2534)
  [31]  (0.7271, 0.2956)
  [32]  (0.7270, 0.3379)
  [33]  (0.7270, 0.3803)
  [34]  (0.7299, 0.4226)
  [35]  (0.7331, 0.4647)
  [36]  (0.7473, 0.4751)
  [37]  (0.7030, 0.4674)
  [38]  (0.6577, 0.4647)
  [39]  (0.6123, 0.4634)
  [40]  (0.5669, 0.4634)
  [41]  (0.5215, 0.4637)
  [42]  (0.4762, 0.4651)
  [43]  (0.4309, 0.4674)
  [44]  (0.3856, 0.4705)
  [45]  (0.3403, 0.4727)
  [46]  (0.2949, 0.4751)
  [47]  (0.2496, 0.4776)
  [48]  (0.7473, 0.6271)
  [49]  (0.7012, 0.6273)
  [50]  (0.6553, 0.6291)
  [51]  (0.6096, 0.6345)
  [52]  (0.5639, 0.6398)
  [53]  (0.5180, 0.6442)
  [54]  (0.4722, 0.6486)
  [55]  (0.4263, 0.6519)
  [56]  (0.3804, 0.6552)
  [57]  (0.3345, 0.6591)
  [58]  (0.2886, 0.6624)
  [59]  (0.2426, 0.6631)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.7512, 0.0021)  angle=51.5 deg
  V1  (0.7473, 0.0000)  angle=118.0 deg
  V2  (0.7331, 0.4647)  angle=49.6 deg
  V3  (0.7473, 0.4751)  angle=153.7 deg
  V4  (0.2496, 0.4776)  angle=160.2 deg
  V5  (0.7473, 0.6271)  angle=162.9 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
    }
),
