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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.3571, 0.9655)
  [ 1]  (0.3511, 0.7406)
  [ 2]  (0.3854, 0.5409)
  [ 3]  (0.6082, 0.5702)
  [ 4]  (0.6489, 0.4443)
  [ 5]  (0.6223, 0.2209)
  [ 6]  (0.5821, 0.0000)
  [ 7]  (0.3571, 0.0533)
  [ 8]  (0.3575, 0.1223)
  [ 9]  (0.3593, 0.1914)
  [10]  (0.3618, 0.2604)
  [11]  (0.3649, 0.3294)
  [12]  (0.3658, 0.3984)
  [13]  (0.3688, 0.4674)
  [14]  (0.3571, 0.6949)
  [15]  (0.3624, 0.7456)
  [16]  (0.3678, 0.7962)
  [17]  (0.3688, 0.8471)
  [18]  (0.3688, 0.8981)
  [19]  (0.3688, 0.9490)
  [20]  (0.3688, 1.0000)
  [21]  (0.3571, 0.1816)
  [22]  (0.3659, 0.2930)
  [23]  (0.3717, 0.4046)
  [24]  (0.3718, 0.5164)
  [25]  (0.3725, 0.6281)
  [26]  (0.3903, 0.7385)
  [27]  (0.4100, 0.8485)
  [28]  (0.3571, 0.2927)
  [29]  (0.4121, 0.3106)
  [30]  (0.4671, 0.3285)
  [31]  (0.4894, 0.3737)
  [32]  (0.4614, 0.4052)
  [33]  (0.4432, 0.3664)
  [34]  (0.4781, 0.3251)
  [35]  (0.3571, 0.6562)
  [36]  (0.3994, 0.6730)
  [37]  (0.4091, 0.7200)
  [38]  (0.3856, 0.7448)
  [39]  (0.3825, 0.7027)
  [40]  (0.3966, 0.6596)
  [41]  (0.3867, 0.6592)
  [42]  (0.3571, 0.5320)
  [43]  (0.4064, 0.5552)
  [44]  (0.4501, 0.5807)
  [45]  (0.4320, 0.6321)
  [46]  (0.3902, 0.6259)
  [47]  (0.3941, 0.5716)
  [48]  (0.4219, 0.5290)
  [49]  (0.3571, 0.3166)
  [50]  (0.3694, 0.3983)
  [51]  (0.3817, 0.4800)
  [52]  (0.3940, 0.5617)
  [53]  (0.3925, 0.6437)
  [54]  (0.3833, 0.7258)
  [55]  (0.3600, 0.8029)
  [56]  (0.3571, 0.4614)
  [57]  (0.3916, 0.4993)
  [58]  (0.4261, 0.5372)
  [59]  (0.4370, 0.5757)
  [60]  (0.4031, 0.5742)
  [61]  (0.3694, 0.5368)
  [62]  (0.3925, 0.4910)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.3854, 0.5409)  angle=87.7 deg
  V1  (0.6082, 0.5702)  angle=79.6 deg
  V2  (0.5821, 0.0000)  angle=93.0 deg
  V3  (0.3571, 0.0533)  angle=77.0 deg
  V4  (0.3688, 1.0000)  angle=179.2 deg
  V5  (0.3571, 0.1816)  angle=176.3 deg
  V6  (0.4100, 0.8485)  angle=175.3 deg
  V7  (0.3571, 0.2927)  angle=113.5 deg
  V8  (0.4671, 0.3285)  angle=45.7 deg
  V9  (0.4894, 0.3737)  angle=68.0 deg
  V10  (0.4614, 0.4052)  angle=113.3 deg
  V11  (0.4432, 0.3664)  angle=65.2 deg
  V12  (0.4781, 0.3251)  angle=160.0 deg
  V13  (0.3571, 0.6562)  angle=88.5 deg
  V14  (0.3994, 0.6730)  angle=56.8 deg
  V15  (0.4091, 0.7200)  angle=55.1 deg
  V16  (0.3856, 0.7448)  angle=132.3 deg
  V17  (0.3966, 0.6596)  angle=106.0 deg
  V18  (0.3867, 0.6592)  angle=74.8 deg
  V19  (0.3571, 0.5320)  angle=128.3 deg
  V20  (0.4501, 0.5807)  angle=79.0 deg
  V21  (0.4320, 0.6321)  angle=79.1 deg
  V22  (0.3902, 0.6259)  angle=85.7 deg
  V23  (0.4219, 0.5290)  angle=50.1 deg
  V24  (0.3571, 0.3166)  angle=171.6 deg
  V25  (0.3600, 0.8029)  angle=162.7 deg
  V26  (0.3571, 0.4614)  angle=138.2 deg
  V27  (0.4370, 0.5757)  angle=108.3 deg
  V28  (0.4031, 0.5742)  angle=45.6 deg
  V29  (0.3694, 0.5368)  angle=68.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
    }
),
