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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.8004, 0.9953)
  [ 1]  (0.5622, 0.9959)
  [ 2]  (0.3240, 0.9973)
  [ 3]  (0.0862, 0.9870)
  [ 4]  (0.2495, 0.8851)
  [ 5]  (0.4665, 0.7890)
  [ 6]  (0.4849, 0.5741)
  [ 7]  (0.4686, 0.3371)
  [ 8]  (0.4730, 0.0991)
  [ 9]  (0.8004, 0.0000)
  [10]  (0.8334, 0.1224)
  [11]  (0.8647, 0.2449)
  [12]  (0.8670, 0.3716)
  [13]  (0.8693, 0.4983)
  [14]  (0.8716, 0.6250)
  [15]  (0.8739, 0.7517)
  [16]  (0.8487, 0.8758)
  [17]  (0.8234, 1.0000)
  [18]  (0.8004, 0.3290)
  [19]  (0.8379, 0.3885)
  [20]  (0.8754, 0.4480)
  [21]  (0.8461, 0.5020)
  [22]  (0.7871, 0.4745)
  [23]  (0.7654, 0.4175)
  [24]  (0.7731, 0.3505)
  [25]  (0.8309, 0.3426)
  [26]  (0.8649, 0.4042)
  [27]  (0.8004, 0.8211)
  [28]  (0.8216, 0.8722)
  [29]  (0.8429, 0.9234)
  [30]  (0.8360, 0.9644)
  [31]  (0.7870, 0.9901)
  [32]  (0.7574, 0.9676)
  [33]  (0.7399, 0.9151)
  [34]  (0.7562, 0.8654)
  [35]  (0.7822, 0.8165)
  [36]  (0.8004, 0.9311)
  [37]  (0.6232, 0.9359)
  [38]  (0.4460, 0.9407)
  [39]  (0.4285, 0.8102)
  [40]  (0.5171, 0.6567)
  [41]  (0.5636, 0.4936)
  [42]  (0.5321, 0.3206)
  [43]  (0.4171, 0.2159)
  [44]  (0.2617, 0.2967)
  [45]  (0.8004, 0.1712)
  [46]  (0.7973, 0.3412)
  [47]  (0.7958, 0.5113)
  [48]  (0.7958, 0.6814)
  [49]  (0.7958, 0.8515)
  [50]  (0.7332, 0.9827)
  [51]  (0.5642, 0.9628)
  [52]  (0.4007, 0.9177)
  [53]  (0.2384, 0.8669)
  [54]  (0.8004, 0.1519)
  [55]  (0.8591, 0.1837)
  [56]  (0.9138, 0.2164)
  [57]  (0.8749, 0.2707)
  [58]  (0.8295, 0.3036)
  [59]  (0.7672, 0.2798)
  [60]  (0.7738, 0.2203)
  [61]  (0.7905, 0.1557)
  [62]  (0.8512, 0.1325)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.0862, 0.9870)  angle=145.5 deg
  V1  (0.4665, 0.7890)  angle=61.2 deg
  V2  (0.4730, 0.0991)  angle=72.1 deg
  V3  (0.8004, 0.0000)  angle=91.8 deg
  V4  (0.8234, 1.0000)  angle=166.5 deg
  V5  (0.8004, 0.3290)  angle=149.8 deg
  V6  (0.8754, 0.4480)  angle=60.6 deg
  V7  (0.8461, 0.5020)  angle=86.5 deg
  V8  (0.7871, 0.4745)  angle=44.3 deg
  V9  (0.7731, 0.3505)  angle=75.8 deg
  V10  (0.8309, 0.3426)  angle=68.8 deg
  V11  (0.8649, 0.4042)  angle=37.7 deg
  V12  (0.8004, 0.8211)  angle=31.3 deg
  V13  (0.8429, 0.9234)  angle=32.0 deg
  V14  (0.8360, 0.9644)  angle=52.8 deg
  V15  (0.7870, 0.9901)  angle=65.0 deg
  V16  (0.7574, 0.9676)  angle=34.2 deg
  V17  (0.7399, 0.9151)  angle=36.7 deg
  V18  (0.7822, 0.8165)  angle=143.0 deg
  V19  (0.8004, 0.9311)  angle=97.5 deg
  V20  (0.4460, 0.9407)  angle=83.9 deg
  V21  (0.4285, 0.8102)  angle=37.6 deg
  V22  (0.5321, 0.3206)  angle=37.4 deg
  V23  (0.4171, 0.2159)  angle=69.8 deg
  V24  (0.2617, 0.2967)  angle=165.6 deg
  V25  (0.8004, 0.1712)  angle=104.2 deg
  V26  (0.7332, 0.9827)  angle=71.2 deg
  V27  (0.2384, 0.8669)  angle=110.8 deg
  V28  (0.8004, 0.1519)  angle=80.3 deg
  V29  (0.9138, 0.2164)  angle=94.8 deg
  V30  (0.8295, 0.3036)  angle=56.8 deg
  V31  (0.7672, 0.2798)  angle=75.5 deg
  V32  (0.7905, 0.1557)  angle=54.7 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
    }
),
