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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3613, 0.9710)
  [ 1]  (0.3711, 0.8594)
  [ 2]  (0.3773, 0.7476)
  [ 3]  (0.3695, 0.6358)
  [ 4]  (0.3613, 0.5241)
  [ 5]  (0.3613, 0.4121)
  [ 6]  (0.3580, 0.3001)
  [ 7]  (0.3613, 0.0000)
  [ 8]  (0.2585, 0.0375)
  [ 9]  (0.2489, 0.1217)
  [10]  (0.3439, 0.1565)
  [11]  (0.4256, 0.1049)
  [12]  (0.3780, 0.0283)
  [13]  (0.3091, 0.0983)
  [14]  (0.3613, 1.0000)
  [15]  (0.3613, 0.9024)
  [16]  (0.3633, 0.8050)
  [17]  (0.3696, 0.7076)
  [18]  (0.3750, 0.6102)
  [19]  (0.3772, 0.5127)
  [20]  (0.3970, 0.4174)
  [21]  (0.3613, 0.1637)
  [22]  (0.3166, 0.1973)
  [23]  (0.3233, 0.2475)
  [24]  (0.3729, 0.2448)
  [25]  (0.3973, 0.2018)
  [26]  (0.3645, 0.1651)
  [27]  (0.3321, 0.1799)
  [28]  (0.3613, 0.1962)
  [29]  (0.3525, 0.3786)
  [30]  (0.3462, 0.5612)
  [31]  (0.3396, 0.7437)
  [32]  (0.4201, 0.8396)
  [33]  (0.6015, 0.8185)
  [34]  (0.7522, 0.7825)
  [35]  (0.3613, 0.3326)
  [36]  (0.3246, 0.4060)
  [37]  (0.3434, 0.4794)
  [38]  (0.4146, 0.4536)
  [39]  (0.4017, 0.3869)
  [40]  (0.3308, 0.3455)
  [41]  (0.3223, 0.3488)
  [42]  (0.3613, 0.1082)
  [43]  (0.3448, 0.2510)
  [44]  (0.3288, 0.3938)
  [45]  (0.3129, 0.5366)
  [46]  (0.3293, 0.6792)
  [47]  (0.3462, 0.8219)
  [48]  (0.3874, 0.8399)
  [49]  (0.3613, 0.2968)
  [50]  (0.2845, 0.3286)
  [51]  (0.2478, 0.4110)
  [52]  (0.2504, 0.4978)
  [53]  (0.3374, 0.4817)
  [54]  (0.3518, 0.4054)
  [55]  (0.2734, 0.3946)
  [56]  (0.3613, 0.6052)
  [57]  (0.2842, 0.6310)
  [58]  (0.2526, 0.7083)
  [59]  (0.3051, 0.7351)
  [60]  (0.3687, 0.6909)
  [61]  (0.3433, 0.6143)
  [62]  (0.2701, 0.6255)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3613, 0.0000)  angle=110.7 deg
  V1  (0.2585, 0.0375)  angle=63.4 deg
  V2  (0.2489, 0.1217)  angle=76.4 deg
  V3  (0.3439, 0.1565)  angle=52.4 deg
  V4  (0.4256, 0.1049)  angle=89.6 deg
  V5  (0.3780, 0.0283)  angle=103.6 deg
  V6  (0.3091, 0.0983)  angle=47.8 deg
  V7  (0.3613, 1.0000)  angle=176.7 deg
  V8  (0.3613, 0.1637)  angle=118.9 deg
  V9  (0.3166, 0.1973)  angle=60.7 deg
  V10  (0.3233, 0.2475)  angle=85.5 deg
  V11  (0.3729, 0.2448)  angle=57.3 deg
  V12  (0.3973, 0.2018)  angle=71.4 deg
  V13  (0.3645, 0.1651)  angle=72.8 deg
  V14  (0.3321, 0.1799)  angle=126.2 deg
  V15  (0.3613, 0.1962)  angle=63.6 deg
  V16  (0.3396, 0.7437)  angle=42.1 deg
  V17  (0.4201, 0.8396)  angle=56.6 deg
  V18  (0.7522, 0.7825)  angle=117.5 deg
  V19  (0.3613, 0.3326)  angle=112.5 deg
  V20  (0.3246, 0.4060)  angle=40.9 deg
  V21  (0.3434, 0.4794)  angle=95.6 deg
  V22  (0.4146, 0.4536)  angle=81.0 deg
  V23  (0.4017, 0.3869)  angle=48.8 deg
  V24  (0.3308, 0.3455)  angle=51.4 deg
  V25  (0.3223, 0.3488)  angle=120.3 deg
  V26  (0.3613, 0.1082)  angle=177.4 deg
  V27  (0.3462, 0.8219)  angle=59.6 deg
  V28  (0.3874, 0.8399)  angle=116.3 deg
  V29  (0.3613, 0.2968)  angle=109.7 deg
  V30  (0.2845, 0.3286)  angle=43.5 deg
  V31  (0.2504, 0.4978)  angle=98.8 deg
  V32  (0.3374, 0.4817)  angle=68.9 deg
  V33  (0.3518, 0.4054)  angle=92.8 deg
  V34  (0.2734, 0.3946)  angle=120.5 deg
  V35  (0.3613, 0.6052)  angle=94.1 deg
  V36  (0.2842, 0.6310)  angle=49.2 deg
  V37  (0.2526, 0.7083)  angle=85.2 deg
  V38  (0.3051, 0.7351)  angle=61.8 deg
  V39  (0.3687, 0.6909)  angle=73.6 deg
  V40  (0.3433, 0.6143)  angle=80.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
    }
),
