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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.4181, 1.0000)
  [ 1]  (0.4159, 0.8971)
  [ 2]  (0.4122, 0.7943)
  [ 3]  (0.4080, 0.6915)
  [ 4]  (0.4080, 0.5886)
  [ 5]  (0.4008, 0.4861)
  [ 6]  (0.3954, 0.3834)
  [ 7]  (0.4181, 0.0000)
  [ 8]  (0.3633, 0.0897)
  [ 9]  (0.4064, 0.1782)
  [10]  (0.5087, 0.1836)
  [11]  (0.5282, 0.0868)
  [12]  (0.4303, 0.1137)
  [13]  (0.3218, 0.1384)
  [14]  (0.4181, 0.8793)
  [15]  (0.4262, 0.8382)
  [16]  (0.4277, 0.7639)
  [17]  (0.4298, 0.6897)
  [18]  (0.4322, 0.6155)
  [19]  (0.4306, 0.5413)
  [20]  (0.4256, 0.4672)
  [21]  (0.4181, 0.1973)
  [22]  (0.3741, 0.2405)
  [23]  (0.3746, 0.2990)
  [24]  (0.4150, 0.3314)
  [25]  (0.4666, 0.3127)
  [26]  (0.4690, 0.2546)
  [27]  (0.4106, 0.2418)
  [28]  (0.4181, 0.0879)
  [29]  (0.3942, 0.2579)
  [30]  (0.3744, 0.4283)
  [31]  (0.3709, 0.5999)
  [32]  (0.3808, 0.7711)
  [33]  (0.5191, 0.7806)
  [34]  (0.6782, 0.7335)
  [35]  (0.4181, 0.3168)
  [36]  (0.3644, 0.3624)
  [37]  (0.3491, 0.4281)
  [38]  (0.3930, 0.4710)
  [39]  (0.4307, 0.4219)
  [40]  (0.4223, 0.3574)
  [41]  (0.3725, 0.3706)
  [42]  (0.4181, 0.1629)
  [43]  (0.3945, 0.2736)
  [44]  (0.3785, 0.3856)
  [45]  (0.3641, 0.4979)
  [46]  (0.3496, 0.6101)
  [47]  (0.3352, 0.7224)
  [48]  (0.3243, 0.8350)
  [49]  (0.4181, 0.3092)
  [50]  (0.3526, 0.3606)
  [51]  (0.3388, 0.4418)
  [52]  (0.3810, 0.4969)
  [53]  (0.4385, 0.4776)
  [54]  (0.4298, 0.4017)
  [55]  (0.3751, 0.4292)
  [56]  (0.4181, 0.6468)
  [57]  (0.4109, 0.7055)
  [58]  (0.4543, 0.7371)
  [59]  (0.5112, 0.7085)
  [60]  (0.5013, 0.6459)
  [61]  (0.4526, 0.6149)
  [62]  (0.3978, 0.6342)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.4181, 0.0000)  angle=152.0 deg
  V1  (0.3633, 0.0897)  angle=57.4 deg
  V2  (0.4064, 0.1782)  angle=61.0 deg
  V3  (0.5087, 0.1836)  angle=81.7 deg
  V4  (0.5282, 0.0868)  angle=116.7 deg
  V5  (0.3218, 0.1384)  angle=84.6 deg
  V6  (0.4181, 0.8793)  angle=161.5 deg
  V7  (0.4181, 0.1973)  angle=132.9 deg
  V8  (0.3741, 0.2405)  angle=46.0 deg
  V9  (0.3746, 0.2990)  angle=50.8 deg
  V10  (0.4150, 0.3314)  angle=58.7 deg
  V11  (0.4666, 0.3127)  angle=67.8 deg
  V12  (0.4690, 0.2546)  angle=79.9 deg
  V13  (0.4106, 0.2418)  angle=80.4 deg
  V14  (0.4181, 0.0879)  angle=174.8 deg
  V15  (0.3808, 0.7711)  angle=82.8 deg
  V16  (0.6782, 0.7335)  angle=105.5 deg
  V17  (0.4181, 0.3168)  angle=98.4 deg
  V18  (0.3644, 0.3624)  angle=36.6 deg
  V19  (0.3491, 0.4281)  angle=58.8 deg
  V20  (0.3930, 0.4710)  angle=96.7 deg
  V21  (0.4307, 0.4219)  angle=45.0 deg
  V22  (0.4223, 0.3574)  angle=97.5 deg
  V23  (0.3725, 0.3706)  angle=117.3 deg
  V24  (0.4181, 0.1629)  angle=179.6 deg
  V25  (0.3243, 0.8350)  angle=175.4 deg
  V26  (0.4181, 0.3092)  angle=138.3 deg
  V27  (0.3526, 0.3606)  angle=42.2 deg
  V28  (0.3388, 0.4418)  angle=47.0 deg
  V29  (0.3810, 0.4969)  angle=71.2 deg
  V30  (0.4385, 0.4776)  angle=77.9 deg
  V31  (0.4298, 0.4017)  angle=110.1 deg
  V32  (0.3751, 0.4292)  angle=74.5 deg
  V33  (0.4109, 0.7055)  angle=61.0 deg
  V34  (0.4543, 0.7371)  angle=62.7 deg
  V35  (0.5112, 0.7085)  angle=72.3 deg
  V36  (0.5013, 0.6459)  angle=48.5 deg
  V37  (0.4526, 0.6149)  angle=51.9 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
    }
),
