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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3342, 0.0000)
  [ 1]  (0.3452, 0.1249)
  [ 2]  (0.3567, 0.2497)
  [ 3]  (0.3688, 0.3745)
  [ 4]  (0.3801, 0.4994)
  [ 5]  (0.3801, 0.6247)
  [ 6]  (0.3788, 0.7501)
  [ 7]  (0.3697, 0.8751)
  [ 8]  (0.3588, 1.0000)
  [ 9]  (0.3342, 0.2105)
  [10]  (0.2530, 0.2698)
  [11]  (0.2206, 0.3671)
  [12]  (0.2492, 0.4609)
  [13]  (0.3433, 0.4881)
  [14]  (0.4314, 0.4481)
  [15]  (0.4290, 0.3482)
  [16]  (0.3589, 0.2849)
  [17]  (0.2596, 0.2962)
  [18]  (0.3342, 0.6689)
  [19]  (0.2464, 0.7021)
  [20]  (0.2064, 0.7876)
  [21]  (0.2248, 0.8835)
  [22]  (0.3080, 0.9195)
  [23]  (0.3934, 0.8915)
  [24]  (0.4065, 0.7966)
  [25]  (0.3609, 0.7089)
  [26]  (0.2739, 0.6760)
  [27]  (0.3342, 0.8453)
  [28]  (0.4714, 0.8815)
  [29]  (0.5955, 0.8595)
  [30]  (0.5951, 0.7196)
  [31]  (0.5674, 0.5803)
  [32]  (0.5414, 0.4408)
  [33]  (0.5503, 0.3000)
  [34]  (0.6537, 0.2437)
  [35]  (0.7936, 0.2676)
  [36]  (0.3342, 0.5265)
  [37]  (0.2658, 0.5593)
  [38]  (0.2428, 0.6223)
  [39]  (0.2919, 0.6691)
  [40]  (0.3618, 0.6691)
  [41]  (0.4130, 0.6281)
  [42]  (0.3962, 0.5607)
  [43]  (0.3284, 0.5459)
  [44]  (0.2526, 0.5478)
  [45]  (0.3342, 0.2032)
  [46]  (0.3152, 0.2949)
  [47]  (0.3095, 0.3885)
  [48]  (0.3038, 0.4822)
  [49]  (0.3042, 0.5759)
  [50]  (0.3066, 0.6697)
  [51]  (0.3090, 0.7635)
  [52]  (0.3189, 0.8568)
  [53]  (0.3662, 0.8635)
  [54]  (0.3342, 0.4524)
  [55]  (0.2764, 0.4737)
  [56]  (0.2427, 0.5276)
  [57]  (0.2292, 0.5868)
  [58]  (0.2439, 0.6419)
  [59]  (0.3029, 0.6650)
  [60]  (0.3557, 0.6296)
  [61]  (0.3696, 0.5717)
  [62]  (0.3342, 0.5195)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3588, 1.0000)  angle=173.2 deg
  V1  (0.3342, 0.2105)  angle=124.4 deg
  V2  (0.2530, 0.2698)  angle=35.3 deg
  V3  (0.2206, 0.3671)  angle=35.4 deg
  V4  (0.2492, 0.4609)  angle=56.9 deg
  V5  (0.3433, 0.4881)  angle=40.5 deg
  V6  (0.4314, 0.4481)  angle=67.0 deg
  V7  (0.4290, 0.3482)  angle=46.5 deg
  V8  (0.3589, 0.2849)  angle=48.6 deg
  V9  (0.2596, 0.2962)  angle=94.8 deg
  V10  (0.3342, 0.6689)  angle=80.6 deg
  V11  (0.2464, 0.7021)  angle=44.2 deg
  V12  (0.2064, 0.7876)  angle=35.9 deg
  V13  (0.2248, 0.8835)  angle=55.8 deg
  V14  (0.3080, 0.9195)  angle=41.5 deg
  V15  (0.3934, 0.8915)  angle=64.0 deg
  V16  (0.4065, 0.7966)  angle=35.3 deg
  V17  (0.3609, 0.7089)  angle=41.8 deg
  V18  (0.2739, 0.6760)  angle=130.3 deg
  V19  (0.3342, 0.8453)  angle=55.6 deg
  V20  (0.5955, 0.8595)  angle=80.1 deg
  V21  (0.5503, 0.3000)  angle=57.8 deg
  V22  (0.6537, 0.2437)  angle=38.3 deg
  V23  (0.7936, 0.2676)  angle=140.9 deg
  V24  (0.2658, 0.5593)  angle=44.2 deg
  V25  (0.2428, 0.6223)  angle=66.5 deg
  V26  (0.2919, 0.6691)  angle=43.6 deg
  V27  (0.3618, 0.6691)  angle=38.7 deg
  V28  (0.4130, 0.6281)  angle=65.2 deg
  V29  (0.3962, 0.5607)  angle=63.7 deg
  V30  (0.2526, 0.5478)  angle=104.8 deg
  V31  (0.3342, 0.2032)  angle=178.4 deg
  V32  (0.3189, 0.8568)  angle=75.9 deg
  V33  (0.3662, 0.8635)  angle=102.5 deg
  V34  (0.3342, 0.4524)  angle=105.8 deg
  V35  (0.2764, 0.4737)  angle=37.7 deg
  V36  (0.2439, 0.6419)  angle=53.7 deg
  V37  (0.3029, 0.6650)  angle=55.2 deg
  V38  (0.3557, 0.6296)  angle=42.7 deg
  V39  (0.3696, 0.5717)  angle=47.7 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
    }
),
