=== SAVED CAST: ultimateskybound_4_s81 ===
Normalized points: 64
Raw points: N/A

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.0735, 0.6280)
  [ 1]  (0.0649, 0.5735)
  [ 2]  (0.0578, 0.5187)
  [ 3]  (0.0567, 0.4645)
  [ 4]  (0.1052, 0.4788)
  [ 5]  (0.1198, 0.4492)
  [ 6]  (0.1135, 0.3944)
  [ 7]  (0.0966, 0.3425)
  [ 8]  (0.0735, 0.4460)
  [ 9]  (0.0858, 0.4552)
  [10]  (0.0947, 0.4661)
  [11]  (0.0944, 0.4813)
  [12]  (0.0817, 0.4825)
  [13]  (0.0682, 0.4754)
  [14]  (0.0632, 0.4611)
  [15]  (0.0746, 0.4540)
  [16]  (0.0735, 0.3916)
  [17]  (0.0709, 0.4177)
  [18]  (0.0719, 0.4440)
  [19]  (0.0736, 0.4703)
  [20]  (0.0764, 0.4965)
  [21]  (0.0793, 0.5227)
  [22]  (0.0823, 0.5488)
  [23]  (0.0786, 0.5636)
  [24]  (0.0735, 0.4710)
  [25]  (0.0823, 0.4759)
  [26]  (0.0910, 0.4807)
  [27]  (0.0916, 0.4903)
  [28]  (0.0846, 0.4922)
  [29]  (0.0760, 0.4894)
  [30]  (0.0731, 0.4798)
  [31]  (0.0766, 0.4710)
  [32]  (0.0735, 0.3896)
  [33]  (0.0775, 0.4134)
  [34]  (0.0810, 0.4373)
  [35]  (0.0829, 0.4614)
  [36]  (0.0848, 0.4855)
  [37]  (0.0866, 0.5096)
  [38]  (0.0831, 0.5335)
  [39]  (0.0796, 0.5574)
  [40]  (0.0735, 0.4017)
  [41]  (0.0762, 0.4222)
  [42]  (0.0789, 0.4427)
  [43]  (0.0810, 0.4632)
  [44]  (0.0824, 0.4837)
  [45]  (0.0837, 0.5043)
  [46]  (0.0833, 0.5248)
  [47]  (0.0766, 0.5440)
  [48]  (0.0735, 0.5512)
  [49]  (0.0369, 0.5391)
  [50]  (0.0000, 0.5274)
  [51]  (0.0168, 0.5122)
  [52]  (0.0412, 0.4929)
  [53]  (0.0378, 0.4546)
  [54]  (0.0373, 0.4160)
  [55]  (0.0373, 0.3773)
  [56]  (0.0735, 0.3406)
  [57]  (0.0958, 0.6584)
  [58]  (0.4509, 0.7967)
  [59]  (0.8269, 0.7630)
  [60]  (1.0000, 0.4421)
  [61]  (0.7522, 0.2033)
  [62]  (0.3729, 0.2377)
  [63]  (0.0384, 0.3935)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.0567, 0.4645)  angle=107.5 deg
  V1  (0.1052, 0.4788)  angle=80.1 deg
  V2  (0.1198, 0.4492)  angle=32.8 deg
  V3  (0.0966, 0.3425)  angle=149.4 deg
  V4  (0.0735, 0.4460)  angle=65.5 deg
  V5  (0.0947, 0.4661)  angle=40.3 deg
  V6  (0.0944, 0.4813)  angle=83.7 deg
  V7  (0.0817, 0.4825)  angle=33.1 deg
  V8  (0.0682, 0.4754)  angle=43.0 deg
  V9  (0.0632, 0.4611)  angle=77.1 deg
  V10  (0.0746, 0.4540)  angle=58.7 deg
  V11  (0.0735, 0.3916)  angle=173.3 deg
  V12  (0.0786, 0.5636)  angle=162.8 deg
  V13  (0.0735, 0.4710)  angle=122.2 deg
  V14  (0.0910, 0.4807)  angle=57.0 deg
  V15  (0.0916, 0.4903)  angle=78.6 deg
  V16  (0.0846, 0.4922)  angle=33.9 deg
  V17  (0.0760, 0.4894)  angle=54.2 deg
  V18  (0.0731, 0.4798)  angle=39.1 deg
  V19  (0.0735, 0.3896)  angle=172.7 deg
  V20  (0.0796, 0.5574)  angle=169.4 deg
  V21  (0.0735, 0.4017)  angle=174.8 deg
  V22  (0.0735, 0.5512)  angle=85.4 deg
  V23  (0.0000, 0.5274)  angle=120.3 deg
  V24  (0.0412, 0.4929)  angle=56.8 deg
  V25  (0.0373, 0.3773)  angle=44.6 deg
  V26  (0.0735, 0.3406)  angle=131.4 deg
  V27  (0.0958, 0.6584)  angle=64.7 deg
  V28  (0.8269, 0.7630)  angle=56.5 deg
  V29  (1.0000, 0.4421)  angle=74.4 deg
  V30  (0.7522, 0.2033)  angle=49.1 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
    }
),
