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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3965, 1.0000)
  [ 1]  (0.4105, 0.9009)
  [ 2]  (0.4176, 0.8012)
  [ 3]  (0.4200, 0.7011)
  [ 4]  (0.4213, 0.6011)
  [ 5]  (0.4193, 0.5010)
  [ 6]  (0.4078, 0.4016)
  [ 7]  (0.3965, 0.0000)
  [ 8]  (0.3376, 0.0547)
  [ 9]  (0.3626, 0.1230)
  [10]  (0.4366, 0.1371)
  [11]  (0.5025, 0.1088)
  [12]  (0.4762, 0.0354)
  [13]  (0.4188, 0.0220)
  [14]  (0.3965, 0.7506)
  [15]  (0.3968, 0.6839)
  [16]  (0.4008, 0.6174)
  [17]  (0.4047, 0.5508)
  [18]  (0.4102, 0.4844)
  [19]  (0.4185, 0.4183)
  [20]  (0.4301, 0.3527)
  [21]  (0.3965, 0.0126)
  [22]  (0.3493, 0.0612)
  [23]  (0.3367, 0.1249)
  [24]  (0.4003, 0.1573)
  [25]  (0.4416, 0.1165)
  [26]  (0.3923, 0.0792)
  [27]  (0.3321, 0.1089)
  [28]  (0.3965, 0.1367)
  [29]  (0.3703, 0.2597)
  [30]  (0.3485, 0.4138)
  [31]  (0.3344, 0.5689)
  [32]  (0.3948, 0.6381)
  [33]  (0.5488, 0.6244)
  [34]  (0.7044, 0.6183)
  [35]  (0.3965, 0.2329)
  [36]  (0.3723, 0.2955)
  [37]  (0.3876, 0.3466)
  [38]  (0.4371, 0.3309)
  [39]  (0.4369, 0.2842)
  [40]  (0.3869, 0.2393)
  [41]  (0.3435, 0.2355)
  [42]  (0.3965, 0.0536)
  [43]  (0.3769, 0.1580)
  [44]  (0.3677, 0.2636)
  [45]  (0.3626, 0.3697)
  [46]  (0.3576, 0.4758)
  [47]  (0.3649, 0.5805)
  [48]  (0.4245, 0.6079)
  [49]  (0.3965, 0.1610)
  [50]  (0.3204, 0.1999)
  [51]  (0.3003, 0.2809)
  [52]  (0.3383, 0.3204)
  [53]  (0.4009, 0.2856)
  [54]  (0.3914, 0.2226)
  [55]  (0.3321, 0.2474)
  [56]  (0.3965, 0.4557)
  [57]  (0.3256, 0.4849)
  [58]  (0.3069, 0.5569)
  [59]  (0.3241, 0.6206)
  [60]  (0.3812, 0.6057)
  [61]  (0.3628, 0.5431)
  [62]  (0.2956, 0.5150)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3965, 0.0000)  angle=131.3 deg
  V1  (0.3376, 0.0547)  angle=67.2 deg
  V2  (0.3626, 0.1230)  angle=59.1 deg
  V3  (0.4366, 0.1371)  angle=34.0 deg
  V4  (0.5025, 0.1088)  angle=86.5 deg
  V5  (0.4762, 0.0354)  angle=57.1 deg
  V6  (0.4188, 0.0220)  angle=101.4 deg
  V7  (0.3965, 0.7506)  angle=178.5 deg
  V8  (0.3965, 0.0126)  angle=130.2 deg
  V9  (0.3493, 0.0612)  angle=32.9 deg
  V10  (0.3367, 0.1249)  angle=74.3 deg
  V11  (0.4003, 0.1573)  angle=71.7 deg
  V12  (0.4416, 0.1165)  angle=98.2 deg
  V13  (0.3923, 0.0792)  angle=63.5 deg
  V14  (0.3321, 0.1089)  angle=130.4 deg
  V15  (0.3965, 0.1367)  angle=78.7 deg
  V16  (0.3344, 0.5689)  angle=46.3 deg
  V17  (0.3948, 0.6381)  angle=54.0 deg
  V18  (0.7044, 0.6183)  angle=126.4 deg
  V19  (0.3965, 0.2329)  angle=120.2 deg
  V20  (0.3723, 0.2955)  angle=37.9 deg
  V21  (0.3876, 0.3466)  angle=90.8 deg
  V22  (0.4371, 0.3309)  angle=72.7 deg
  V23  (0.4369, 0.2842)  angle=47.8 deg
  V24  (0.3869, 0.2393)  angle=36.9 deg
  V25  (0.3435, 0.2355)  angle=101.2 deg
  V26  (0.3965, 0.0536)  angle=174.4 deg
  V27  (0.3649, 0.5805)  angle=61.3 deg
  V28  (0.4245, 0.6079)  angle=118.3 deg
  V29  (0.3965, 0.1610)  angle=113.5 deg
  V30  (0.3204, 0.1999)  angle=49.0 deg
  V31  (0.3003, 0.2809)  angle=57.8 deg
  V32  (0.3383, 0.3204)  angle=75.2 deg
  V33  (0.4009, 0.2856)  angle=69.4 deg
  V34  (0.3914, 0.2226)  angle=104.1 deg
  V35  (0.3321, 0.2474)  angle=84.5 deg
  V36  (0.3965, 0.4557)  angle=84.8 deg
  V37  (0.3256, 0.4849)  angle=53.0 deg
  V38  (0.3241, 0.6206)  angle=89.5 deg
  V39  (0.3812, 0.6057)  angle=91.7 deg
  V40  (0.3628, 0.5431)  angle=50.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
    }
),
