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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3306, 1.0000)
  [ 1]  (0.3550, 0.8881)
  [ 2]  (0.3625, 0.7734)
  [ 3]  (0.3625, 0.6585)
  [ 4]  (0.3470, 0.5446)
  [ 5]  (0.3473, 0.4297)
  [ 6]  (0.3522, 0.3148)
  [ 7]  (0.3306, 0.0077)
  [ 8]  (0.2728, 0.0952)
  [ 9]  (0.3199, 0.1780)
  [10]  (0.4196, 0.1556)
  [11]  (0.4418, 0.0651)
  [12]  (0.3536, 0.0264)
  [13]  (0.2877, 0.0942)
  [14]  (0.3306, 0.9212)
  [15]  (0.3325, 0.8388)
  [16]  (0.3342, 0.7564)
  [17]  (0.3377, 0.6741)
  [18]  (0.3453, 0.5921)
  [19]  (0.3474, 0.5097)
  [20]  (0.3474, 0.4273)
  [21]  (0.3306, 0.0512)
  [22]  (0.2445, 0.1272)
  [23]  (0.2236, 0.2423)
  [24]  (0.3215, 0.2903)
  [25]  (0.4146, 0.2370)
  [26]  (0.3970, 0.1208)
  [27]  (0.2925, 0.1117)
  [28]  (0.3306, 0.0077)
  [29]  (0.3257, 0.2225)
  [30]  (0.3211, 0.4374)
  [31]  (0.3363, 0.6517)
  [32]  (0.3571, 0.8446)
  [33]  (0.5720, 0.8438)
  [34]  (0.7861, 0.8393)
  [35]  (0.3306, 0.1911)
  [36]  (0.2565, 0.2699)
  [37]  (0.2139, 0.3685)
  [38]  (0.2890, 0.4126)
  [39]  (0.3592, 0.3540)
  [40]  (0.3289, 0.2539)
  [41]  (0.2496, 0.2640)
  [42]  (0.3306, 0.0000)
  [43]  (0.3171, 0.1468)
  [44]  (0.3086, 0.2939)
  [45]  (0.3070, 0.4414)
  [46]  (0.3156, 0.5885)
  [47]  (0.3306, 0.7351)
  [48]  (0.3282, 0.8826)
  [49]  (0.3306, 0.2156)
  [50]  (0.2762, 0.2820)
  [51]  (0.2591, 0.3657)
  [52]  (0.3024, 0.4215)
  [53]  (0.3713, 0.3799)
  [54]  (0.3672, 0.3044)
  [55]  (0.2830, 0.2883)
  [56]  (0.3306, 0.5440)
  [57]  (0.2630, 0.5896)
  [58]  (0.2434, 0.6683)
  [59]  (0.3086, 0.7014)
  [60]  (0.3766, 0.6583)
  [61]  (0.3639, 0.5797)
  [62]  (0.2901, 0.5441)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3306, 0.0077)  angle=142.5 deg
  V1  (0.2728, 0.0952)  angle=63.1 deg
  V2  (0.3199, 0.1780)  angle=73.0 deg
  V3  (0.4196, 0.1556)  angle=63.6 deg
  V4  (0.4418, 0.0651)  angle=80.1 deg
  V5  (0.3536, 0.0264)  angle=69.5 deg
  V6  (0.2877, 0.0942)  angle=47.1 deg
  V7  (0.3306, 0.9212)  angle=175.8 deg
  V8  (0.3306, 0.0512)  angle=128.9 deg
  V9  (0.2445, 0.1272)  angle=38.3 deg
  V10  (0.2236, 0.2423)  angle=74.2 deg
  V11  (0.3215, 0.2903)  angle=56.0 deg
  V12  (0.4146, 0.2370)  angle=68.8 deg
  V13  (0.3970, 0.1208)  angle=76.4 deg
  V14  (0.2925, 0.1117)  angle=105.1 deg
  V15  (0.3306, 0.0077)  angle=161.2 deg
  V16  (0.3571, 0.8446)  angle=84.0 deg
  V17  (0.7861, 0.8393)  angle=123.9 deg
  V18  (0.3306, 0.1911)  angle=101.6 deg
  V19  (0.2139, 0.3685)  angle=83.0 deg
  V20  (0.2890, 0.4126)  angle=70.2 deg
  V21  (0.3592, 0.3540)  angle=66.9 deg
  V22  (0.3289, 0.2539)  angle=80.4 deg
  V23  (0.2496, 0.2640)  angle=114.3 deg
  V24  (0.3306, 0.0000)  angle=168.2 deg
  V25  (0.3282, 0.8826)  angle=179.3 deg
  V26  (0.3306, 0.2156)  angle=140.9 deg
  V27  (0.2591, 0.3657)  angle=49.4 deg
  V28  (0.3024, 0.4215)  angle=83.2 deg
  V29  (0.3713, 0.3799)  angle=62.0 deg
  V30  (0.3672, 0.3044)  angle=76.0 deg
  V31  (0.2830, 0.2883)  angle=111.4 deg
  V32  (0.3306, 0.5440)  angle=66.5 deg
  V33  (0.2630, 0.5896)  angle=42.0 deg
  V34  (0.2434, 0.6683)  angle=77.1 deg
  V35  (0.3086, 0.7014)  angle=59.3 deg
  V36  (0.3766, 0.6583)  angle=66.8 deg
  V37  (0.3639, 0.5797)  angle=55.0 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
    }
),
