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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3817, 0.9311)
  [ 1]  (0.4061, 0.8362)
  [ 2]  (0.4175, 0.7331)
  [ 3]  (0.4178, 0.6298)
  [ 4]  (0.4136, 0.5262)
  [ 5]  (0.4093, 0.4227)
  [ 6]  (0.4028, 0.3193)
  [ 7]  (0.3817, 0.0000)
  [ 8]  (0.3407, 0.0909)
  [ 9]  (0.4291, 0.0963)
  [10]  (0.4714, 0.0452)
  [11]  (0.3785, 0.0469)
  [12]  (0.3759, 0.0889)
  [13]  (0.3937, 0.1077)
  [14]  (0.3817, 1.0000)
  [15]  (0.3936, 0.8969)
  [16]  (0.4008, 0.7934)
  [17]  (0.4063, 0.6898)
  [18]  (0.4058, 0.5862)
  [19]  (0.4003, 0.4826)
  [20]  (0.3908, 0.3793)
  [21]  (0.3817, 0.0865)
  [22]  (0.3580, 0.1525)
  [23]  (0.3960, 0.1386)
  [24]  (0.3772, 0.1005)
  [25]  (0.3477, 0.1536)
  [26]  (0.3717, 0.1334)
  [27]  (0.3757, 0.1958)
  [28]  (0.3817, 0.0772)
  [29]  (0.3504, 0.2670)
  [30]  (0.3387, 0.4596)
  [31]  (0.3388, 0.6526)
  [32]  (0.3638, 0.8014)
  [33]  (0.5500, 0.7561)
  [34]  (0.6780, 0.6824)
  [35]  (0.3817, 0.2563)
  [36]  (0.3240, 0.3060)
  [37]  (0.3387, 0.3516)
  [38]  (0.3441, 0.2997)
  [39]  (0.3220, 0.3218)
  [40]  (0.3665, 0.3626)
  [41]  (0.4449, 0.3704)
  [42]  (0.3817, 0.0556)
  [43]  (0.3541, 0.1892)
  [44]  (0.3377, 0.3248)
  [45]  (0.3369, 0.4608)
  [46]  (0.3477, 0.5970)
  [47]  (0.3638, 0.7327)
  [48]  (0.3876, 0.8255)
  [49]  (0.3817, 0.2984)
  [50]  (0.3479, 0.3552)
  [51]  (0.3961, 0.3613)
  [52]  (0.3903, 0.3322)
  [53]  (0.3503, 0.3766)
  [54]  (0.3645, 0.3819)
  [55]  (0.3637, 0.4183)
  [56]  (0.3817, 0.5539)
  [57]  (0.3431, 0.5882)
  [58]  (0.3508, 0.6385)
  [59]  (0.3890, 0.6063)
  [60]  (0.3864, 0.5592)
  [61]  (0.3553, 0.6013)
  [62]  (0.3667, 0.5842)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3817, 0.0000)  angle=151.9 deg
  V1  (0.3407, 0.0909)  angle=110.7 deg
  V2  (0.4291, 0.0963)  angle=53.9 deg
  V3  (0.4714, 0.0452)  angle=130.7 deg
  V4  (0.3785, 0.0469)  angle=85.5 deg
  V5  (0.3759, 0.0889)  angle=46.7 deg
  V6  (0.3937, 0.1077)  angle=44.1 deg
  V7  (0.3817, 1.0000)  angle=174.2 deg
  V8  (0.3817, 0.0865)  angle=158.5 deg
  V9  (0.3580, 0.1525)  angle=129.9 deg
  V10  (0.3960, 0.1386)  angle=96.1 deg
  V11  (0.3772, 0.1005)  angle=124.7 deg
  V12  (0.3477, 0.1536)  angle=159.1 deg
  V13  (0.3717, 0.1334)  angle=126.5 deg
  V14  (0.3757, 0.1958)  angle=173.5 deg
  V15  (0.3817, 0.0772)  angle=173.6 deg
  V16  (0.3638, 0.8014)  angle=94.1 deg
  V17  (0.6780, 0.6824)  angle=94.9 deg
  V18  (0.3817, 0.2563)  angle=96.0 deg
  V19  (0.3240, 0.3060)  angle=67.1 deg
  V20  (0.3387, 0.3516)  angle=156.3 deg
  V21  (0.3441, 0.2997)  angle=140.8 deg
  V22  (0.3220, 0.3218)  angle=92.5 deg
  V23  (0.3665, 0.3626)  angle=36.8 deg
  V24  (0.4449, 0.3704)  angle=107.0 deg
  V25  (0.3817, 0.0556)  angle=157.0 deg
  V26  (0.3876, 0.8255)  angle=166.3 deg
  V27  (0.3817, 0.2984)  angle=148.6 deg
  V28  (0.3479, 0.3552)  angle=113.6 deg
  V29  (0.3961, 0.3613)  angle=108.3 deg
  V30  (0.3903, 0.3322)  angle=126.8 deg
  V31  (0.3503, 0.3766)  angle=111.4 deg
  V32  (0.3645, 0.3819)  angle=70.7 deg
  V33  (0.3817, 0.5539)  angle=55.9 deg
  V34  (0.3431, 0.5882)  angle=56.9 deg
  V35  (0.3508, 0.6385)  angle=121.5 deg
  V36  (0.3890, 0.6063)  angle=53.1 deg
  V37  (0.3864, 0.5592)  angle=140.4 deg
  V38  (0.3553, 0.6013)  angle=177.2 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
    }
),
