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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3910, 0.9808)
  [ 1]  (0.3987, 0.8814)
  [ 2]  (0.4065, 0.7820)
  [ 3]  (0.4145, 0.6826)
  [ 4]  (0.4228, 0.5832)
  [ 5]  (0.4311, 0.4838)
  [ 6]  (0.4205, 0.3853)
  [ 7]  (0.3910, 0.0000)
  [ 8]  (0.3072, 0.0371)
  [ 9]  (0.2947, 0.1149)
  [10]  (0.3632, 0.1654)
  [11]  (0.4224, 0.1092)
  [12]  (0.3679, 0.0446)
  [13]  (0.2984, 0.0841)
  [14]  (0.3910, 1.0000)
  [15]  (0.4048, 0.9070)
  [16]  (0.4215, 0.8145)
  [17]  (0.4390, 0.7222)
  [18]  (0.4475, 0.6289)
  [19]  (0.4471, 0.5350)
  [20]  (0.4415, 0.4414)
  [21]  (0.3910, 0.1178)
  [22]  (0.3555, 0.1957)
  [23]  (0.3749, 0.2746)
  [24]  (0.4510, 0.2641)
  [25]  (0.4854, 0.1928)
  [26]  (0.4400, 0.1262)
  [27]  (0.3992, 0.1599)
  [28]  (0.3910, 0.1178)
  [29]  (0.3547, 0.3323)
  [30]  (0.3273, 0.5477)
  [31]  (0.3194, 0.7649)
  [32]  (0.3444, 0.9438)
  [33]  (0.5466, 0.8810)
  [34]  (0.7464, 0.8433)
  [35]  (0.3910, 0.3212)
  [36]  (0.3169, 0.3451)
  [37]  (0.2842, 0.4217)
  [38]  (0.3298, 0.4733)
  [39]  (0.3982, 0.4407)
  [40]  (0.3955, 0.3681)
  [41]  (0.3152, 0.3470)
  [42]  (0.3910, 0.1050)
  [43]  (0.3709, 0.2531)
  [44]  (0.3524, 0.4014)
  [45]  (0.3264, 0.5485)
  [46]  (0.3152, 0.6969)
  [47]  (0.3131, 0.8463)
  [48]  (0.3152, 0.9956)
  [49]  (0.3910, 0.2957)
  [50]  (0.3025, 0.3157)
  [51]  (0.2536, 0.4031)
  [52]  (0.2888, 0.4808)
  [53]  (0.3628, 0.4216)
  [54]  (0.3627, 0.3284)
  [55]  (0.2729, 0.3129)
  [56]  (0.3910, 0.6645)
  [57]  (0.2988, 0.7094)
  [58]  (0.2556, 0.8014)
  [59]  (0.3282, 0.8452)
  [60]  (0.4085, 0.7757)
  [61]  (0.4249, 0.6734)
  [62]  (0.3405, 0.6556)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3910, 0.0000)  angle=109.5 deg
  V1  (0.3072, 0.0371)  angle=57.0 deg
  V2  (0.2947, 0.1149)  angle=62.7 deg
  V3  (0.3632, 0.1654)  angle=79.9 deg
  V4  (0.4224, 0.1092)  angle=86.7 deg
  V5  (0.3679, 0.0446)  angle=79.5 deg
  V6  (0.2984, 0.0841)  angle=66.1 deg
  V7  (0.3910, 1.0000)  angle=165.8 deg
  V8  (0.3910, 0.1178)  angle=146.7 deg
  V9  (0.3555, 0.1957)  angle=38.2 deg
  V10  (0.3749, 0.2746)  angle=84.1 deg
  V11  (0.4510, 0.2641)  angle=56.4 deg
  V12  (0.4854, 0.1928)  angle=60.0 deg
  V13  (0.4400, 0.1262)  angle=95.3 deg
  V14  (0.3992, 0.1599)  angle=118.5 deg
  V15  (0.3910, 0.1178)  angle=159.3 deg
  V16  (0.3444, 0.9438)  angle=99.3 deg
  V17  (0.7464, 0.8433)  angle=113.6 deg
  V18  (0.3910, 0.3212)  angle=73.6 deg
  V19  (0.3169, 0.3451)  angle=49.1 deg
  V20  (0.2842, 0.4217)  angle=64.5 deg
  V21  (0.3298, 0.4733)  angle=74.0 deg
  V22  (0.3982, 0.4407)  angle=66.6 deg
  V23  (0.3955, 0.3681)  angle=73.2 deg
  V24  (0.3152, 0.3470)  angle=92.7 deg
  V25  (0.3910, 0.1050)  angle=170.3 deg
  V26  (0.3152, 0.9956)  angle=173.0 deg
  V27  (0.3910, 0.2957)  angle=109.0 deg
  V28  (0.3025, 0.3157)  angle=48.0 deg
  V29  (0.2536, 0.4031)  angle=53.6 deg
  V30  (0.2888, 0.4808)  angle=104.3 deg
  V31  (0.3628, 0.4216)  angle=51.4 deg
  V32  (0.3627, 0.3284)  angle=80.2 deg
  V33  (0.2729, 0.3129)  angle=118.3 deg
  V34  (0.3910, 0.6645)  angle=82.6 deg
  V35  (0.2988, 0.7094)  angle=38.9 deg
  V36  (0.2556, 0.8014)  angle=84.0 deg
  V37  (0.3282, 0.8452)  angle=72.0 deg
  V38  (0.4085, 0.7757)  angle=40.1 deg
  V39  (0.4249, 0.6734)  angle=87.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
    }
),
