=== SAVED CAST: arcaneblade_8_s71 ===
Normalized points: 63
Raw points: N/A

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.8395, 0.9017)
  [ 1]  (0.5762, 0.9267)
  [ 2]  (0.3123, 0.9404)
  [ 3]  (0.0478, 0.9449)
  [ 4]  (0.1320, 0.8509)
  [ 5]  (0.3700, 0.7646)
  [ 6]  (0.2846, 0.5159)
  [ 7]  (0.2133, 0.2620)
  [ 8]  (0.1842, 0.0000)
  [ 9]  (0.8395, 0.0681)
  [10]  (0.8410, 0.1575)
  [11]  (0.8426, 0.2470)
  [12]  (0.8448, 0.3365)
  [13]  (0.8524, 0.4257)
  [14]  (0.8600, 0.5148)
  [15]  (0.8676, 0.6040)
  [16]  (0.8752, 0.6932)
  [17]  (0.8805, 0.7825)
  [18]  (0.8395, 0.2991)
  [19]  (0.8883, 0.3456)
  [20]  (0.8760, 0.4107)
  [21]  (0.8570, 0.4691)
  [22]  (0.7924, 0.4500)
  [23]  (0.7584, 0.4028)
  [24]  (0.7632, 0.3531)
  [25]  (0.8116, 0.3858)
  [26]  (0.8395, 0.4472)
  [27]  (0.8395, 0.8192)
  [28]  (0.8368, 0.8717)
  [29]  (0.8221, 0.9071)
  [30]  (0.7717, 0.8917)
  [31]  (0.7299, 0.8703)
  [32]  (0.7322, 0.8177)
  [33]  (0.7421, 0.7716)
  [34]  (0.7937, 0.7614)
  [35]  (0.7891, 0.8008)
  [36]  (0.8395, 0.9842)
  [37]  (0.6384, 1.0000)
  [38]  (0.4357, 0.9952)
  [39]  (0.4010, 0.8845)
  [40]  (0.4299, 0.6932)
  [41]  (0.4053, 0.4920)
  [42]  (0.3673, 0.2929)
  [43]  (0.2175, 0.1622)
  [44]  (0.0388, 0.1692)
  [45]  (0.8395, 0.1726)
  [46]  (0.8721, 0.3313)
  [47]  (0.9031, 0.4903)
  [48]  (0.9321, 0.6497)
  [49]  (0.9612, 0.8091)
  [50]  (0.8807, 0.9017)
  [51]  (0.7187, 0.8975)
  [52]  (0.5567, 0.8933)
  [53]  (0.4901, 0.7858)
  [54]  (0.8395, 0.3137)
  [55]  (0.8668, 0.3612)
  [56]  (0.8942, 0.4088)
  [57]  (0.8421, 0.4246)
  [58]  (0.7895, 0.4402)
  [59]  (0.7574, 0.4178)
  [60]  (0.7485, 0.3685)
  [61]  (0.7985, 0.3458)
  [62]  (0.8484, 0.3231)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.0478, 0.9449)  angle=132.8 deg
  V1  (0.3700, 0.7646)  angle=89.0 deg
  V2  (0.1842, 0.0000)  angle=102.3 deg
  V3  (0.8395, 0.0681)  angle=83.1 deg
  V4  (0.8805, 0.7825)  angle=178.5 deg
  V5  (0.8395, 0.2991)  angle=138.5 deg
  V6  (0.8883, 0.3456)  angle=57.1 deg
  V7  (0.8570, 0.4691)  angle=88.5 deg
  V8  (0.7924, 0.4500)  angle=37.7 deg
  V9  (0.7584, 0.4028)  angle=41.3 deg
  V10  (0.7632, 0.3531)  angle=118.5 deg
  V11  (0.8116, 0.3858)  angle=31.6 deg
  V12  (0.8221, 0.9071)  angle=84.4 deg
  V13  (0.7299, 0.8703)  angle=65.4 deg
  V14  (0.7421, 0.7716)  angle=66.8 deg
  V15  (0.7937, 0.7614)  angle=107.8 deg
  V16  (0.8395, 0.9842)  angle=100.8 deg
  V17  (0.4357, 0.9952)  angle=71.3 deg
  V18  (0.3673, 0.2929)  angle=38.1 deg
  V19  (0.2175, 0.1622)  angle=43.4 deg
  V20  (0.0388, 0.1692)  angle=177.5 deg
  V21  (0.8395, 0.1726)  angle=78.1 deg
  V22  (0.9612, 0.8091)  angle=51.3 deg
  V23  (0.8807, 0.9017)  angle=50.5 deg
  V24  (0.5567, 0.8933)  angle=56.8 deg
  V25  (0.4901, 0.7858)  angle=68.3 deg
  V26  (0.8395, 0.3137)  angle=113.6 deg
  V27  (0.8942, 0.4088)  angle=103.0 deg
  V28  (0.7895, 0.4402)  angle=51.4 deg
  V29  (0.7574, 0.4178)  angle=44.9 deg
  V30  (0.7485, 0.3685)  angle=75.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
    }
),
