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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7269, 0.4911)
  [ 1]  (0.7262, 0.4569)
  [ 2]  (0.7225, 0.4228)
  [ 3]  (0.7188, 0.3887)
  [ 4]  (0.7152, 0.3546)
  [ 5]  (0.7126, 0.3204)
  [ 6]  (0.7112, 0.2861)
  [ 7]  (0.7098, 0.2519)
  [ 8]  (0.7083, 0.2176)
  [ 9]  (0.7069, 0.1834)
  [10]  (0.7036, 0.1492)
  [11]  (0.6996, 0.1152)
  [12]  (0.7269, 1.0000)
  [13]  (0.7269, 0.9746)
  [14]  (0.7265, 0.9493)
  [15]  (0.7250, 0.9240)
  [16]  (0.7235, 0.8986)
  [17]  (0.7220, 0.8733)
  [18]  (0.7206, 0.8480)
  [19]  (0.7161, 0.8231)
  [20]  (0.7101, 0.7985)
  [21]  (0.7041, 0.7738)
  [22]  (0.6982, 0.7491)
  [23]  (0.6928, 0.7244)
  [24]  (0.7269, 0.0000)
  [25]  (0.7331, 0.0460)
  [26]  (0.7393, 0.0921)
  [27]  (0.7455, 0.1381)
  [28]  (0.7517, 0.1842)
  [29]  (0.7578, 0.2302)
  [30]  (0.7621, 0.2764)
  [31]  (0.7665, 0.3227)
  [32]  (0.7708, 0.3689)
  [33]  (0.7747, 0.4152)
  [34]  (0.7747, 0.4617)
  [35]  (0.7747, 0.5081)
  [36]  (0.7269, 0.6312)
  [37]  (0.6813, 0.6314)
  [38]  (0.6357, 0.6317)
  [39]  (0.5901, 0.6320)
  [40]  (0.5445, 0.6323)
  [41]  (0.4989, 0.6326)
  [42]  (0.4533, 0.6329)
  [43]  (0.4077, 0.6333)
  [44]  (0.3621, 0.6341)
  [45]  (0.3165, 0.6348)
  [46]  (0.2709, 0.6356)
  [47]  (0.2253, 0.6363)
  [48]  (0.7269, 0.9173)
  [49]  (0.6999, 0.9201)
  [50]  (0.6729, 0.9229)
  [51]  (0.6460, 0.9257)
  [52]  (0.6190, 0.9285)
  [53]  (0.5920, 0.9313)
  [54]  (0.5649, 0.9332)
  [55]  (0.5378, 0.9338)
  [56]  (0.5107, 0.9344)
  [57]  (0.4835, 0.9350)
  [58]  (0.4564, 0.9356)
  [59]  (0.4293, 0.9362)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.6996, 0.1152)  angle=175.1 deg
  V1  (0.7269, 1.0000)  angle=178.2 deg
  V2  (0.7269, 0.0000)  angle=169.6 deg
  V3  (0.7269, 0.6312)  angle=68.4 deg
  V4  (0.2253, 0.6363)  angle=149.8 deg
  V5  (0.7269, 0.9173)  angle=144.8 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
    }
),
