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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3786, 1.0000)
  [ 1]  (0.3828, 0.8814)
  [ 2]  (0.3871, 0.7629)
  [ 3]  (0.3919, 0.6443)
  [ 4]  (0.3966, 0.5258)
  [ 5]  (0.4005, 0.4072)
  [ 6]  (0.4062, 0.2887)
  [ 7]  (0.3786, 0.0000)
  [ 8]  (0.2680, 0.0465)
  [ 9]  (0.2531, 0.1462)
  [10]  (0.3724, 0.1550)
  [11]  (0.3923, 0.0726)
  [12]  (0.2795, 0.0277)
  [13]  (0.2349, 0.0428)
  [14]  (0.3786, 0.8742)
  [15]  (0.3772, 0.7824)
  [16]  (0.3758, 0.6906)
  [17]  (0.3748, 0.5987)
  [18]  (0.3737, 0.5069)
  [19]  (0.3806, 0.4154)
  [20]  (0.3886, 0.3239)
  [21]  (0.3786, 0.0718)
  [22]  (0.3188, 0.0998)
  [23]  (0.3189, 0.1557)
  [24]  (0.3848, 0.1832)
  [25]  (0.4470, 0.1539)
  [26]  (0.4117, 0.0914)
  [27]  (0.3458, 0.1048)
  [28]  (0.3786, 0.0997)
  [29]  (0.3653, 0.2851)
  [30]  (0.3443, 0.4698)
  [31]  (0.3281, 0.6549)
  [32]  (0.4687, 0.6982)
  [33]  (0.6546, 0.7010)
  [34]  (0.7651, 0.6355)
  [35]  (0.3786, 0.2159)
  [36]  (0.3336, 0.2728)
  [37]  (0.3199, 0.3375)
  [38]  (0.3747, 0.3442)
  [39]  (0.4189, 0.2985)
  [40]  (0.4057, 0.2400)
  [41]  (0.3635, 0.2084)
  [42]  (0.3786, 0.0205)
  [43]  (0.3727, 0.1641)
  [44]  (0.3672, 0.3077)
  [45]  (0.3613, 0.4513)
  [46]  (0.3545, 0.5949)
  [47]  (0.3496, 0.7385)
  [48]  (0.3711, 0.8488)
  [49]  (0.3786, 0.2361)
  [50]  (0.3095, 0.1924)
  [51]  (0.2643, 0.2708)
  [52]  (0.2802, 0.3361)
  [53]  (0.3521, 0.3031)
  [54]  (0.3443, 0.2225)
  [55]  (0.3031, 0.2461)
  [56]  (0.3786, 0.5014)
  [57]  (0.2996, 0.5218)
  [58]  (0.2781, 0.5918)
  [59]  (0.3064, 0.6651)
  [60]  (0.3539, 0.6189)
  [61]  (0.3424, 0.5397)
  [62]  (0.2854, 0.5069)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3786, 0.0000)  angle=107.4 deg
  V1  (0.2680, 0.0465)  angle=58.6 deg
  V2  (0.2531, 0.1462)  angle=94.3 deg
  V3  (0.3724, 0.1550)  angle=80.6 deg
  V4  (0.3923, 0.0726)  angle=81.9 deg
  V5  (0.2795, 0.0277)  angle=40.4 deg
  V6  (0.2349, 0.0428)  angle=81.1 deg
  V7  (0.3786, 0.8742)  angle=171.1 deg
  V8  (0.3786, 0.0718)  angle=112.9 deg
  V9  (0.3188, 0.0998)  angle=65.0 deg
  V10  (0.3189, 0.1557)  angle=67.2 deg
  V11  (0.3848, 0.1832)  angle=47.9 deg
  V12  (0.4470, 0.1539)  angle=94.3 deg
  V13  (0.4117, 0.0914)  angle=72.0 deg
  V14  (0.3458, 0.1048)  angle=177.3 deg
  V15  (0.3786, 0.0997)  angle=103.0 deg
  V16  (0.3281, 0.6549)  angle=77.9 deg
  V17  (0.6546, 0.7010)  angle=31.5 deg
  V18  (0.7651, 0.6355)  angle=102.0 deg
  V19  (0.3786, 0.2159)  angle=99.1 deg
  V20  (0.3199, 0.3375)  angle=95.1 deg
  V21  (0.3747, 0.3442)  angle=52.9 deg
  V22  (0.4189, 0.2985)  angle=56.7 deg
  V23  (0.4057, 0.2400)  angle=40.5 deg
  V24  (0.3635, 0.2084)  angle=57.8 deg
  V25  (0.3786, 0.0205)  angle=177.7 deg
  V26  (0.3711, 0.8488)  angle=168.3 deg
  V27  (0.3786, 0.2361)  angle=58.4 deg
  V28  (0.3095, 0.1924)  angle=92.3 deg
  V29  (0.2643, 0.2708)  angle=43.6 deg
  V30  (0.2802, 0.3361)  angle=101.0 deg
  V31  (0.3521, 0.3031)  angle=70.8 deg
  V32  (0.3443, 0.2225)  angle=114.2 deg
  V33  (0.3031, 0.2461)  angle=76.8 deg
  V34  (0.3786, 0.5014)  angle=92.0 deg
  V35  (0.2996, 0.5218)  angle=58.5 deg
  V36  (0.2781, 0.5918)  angle=38.2 deg
  V37  (0.3064, 0.6651)  angle=113.1 deg
  V38  (0.3539, 0.6189)  angle=54.1 deg
  V39  (0.3424, 0.5397)  angle=51.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
    }
),
