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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.0000, 0.2324)
  [ 1]  (0.0323, 0.2324)
  [ 2]  (0.0645, 0.2323)
  [ 3]  (0.0968, 0.2322)
  [ 4]  (0.1290, 0.2320)
  [ 5]  (0.1613, 0.2319)
  [ 6]  (0.1936, 0.2318)
  [ 7]  (0.2258, 0.2317)
  [ 8]  (0.2581, 0.2315)
  [ 9]  (0.2903, 0.2314)
  [10]  (0.3226, 0.2313)
  [11]  (0.3549, 0.2312)
  [12]  (0.3871, 0.2310)
  [13]  (0.4194, 0.2309)
  [14]  (0.4517, 0.2308)
  [15]  (0.4839, 0.2310)
  [16]  (0.5162, 0.2313)
  [17]  (0.5484, 0.2316)
  [18]  (0.5807, 0.2319)
  [19]  (0.6130, 0.2322)
  [20]  (0.6452, 0.2324)
  [21]  (0.6775, 0.2327)
  [22]  (0.7097, 0.2330)
  [23]  (0.7420, 0.2333)
  [24]  (0.7743, 0.2336)
  [25]  (0.8065, 0.2339)
  [26]  (0.8388, 0.2342)
  [27]  (0.8710, 0.2345)
  [28]  (0.9033, 0.2348)
  [29]  (0.9355, 0.2356)
  [30]  (0.9678, 0.2370)
  [31]  (1.0000, 0.2384)
  [32]  (0.0000, 0.4783)
  [33]  (0.0221, 0.4883)
  [34]  (0.0443, 0.4982)
  [35]  (0.0664, 0.5082)
  [36]  (0.0886, 0.5182)
  [37]  (0.1107, 0.5282)
  [38]  (0.1331, 0.5377)
  [39]  (0.1556, 0.5467)
  [40]  (0.1782, 0.5557)
  [41]  (0.2007, 0.5647)
  [42]  (0.2233, 0.5738)
  [43]  (0.2458, 0.5828)
  [44]  (0.2684, 0.5918)
  [45]  (0.2909, 0.6008)
  [46]  (0.3135, 0.6099)
  [47]  (0.3360, 0.6189)
  [48]  (0.3586, 0.6279)
  [49]  (0.3811, 0.6369)
  [50]  (0.4037, 0.6460)
  [51]  (0.4262, 0.6550)
  [52]  (0.4488, 0.6640)
  [53]  (0.4713, 0.6731)
  [54]  (0.4938, 0.6821)
  [55]  (0.5164, 0.6912)
  [56]  (0.5389, 0.7002)
  [57]  (0.5615, 0.7092)
  [58]  (0.5840, 0.7183)
  [59]  (0.6066, 0.7273)
  [60]  (0.6291, 0.7363)
  [61]  (0.6511, 0.7465)
  [62]  (0.6726, 0.7578)
  [63]  (0.6941, 0.7692)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (1.0000, 0.2384)  angle=164.0 deg
  V1  (0.0000, 0.4783)  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
    }
),
