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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.5344, 0.1032)
  [ 1]  (0.6173, 0.1819)
  [ 2]  (0.5931, 0.2736)
  [ 3]  (0.4860, 0.2689)
  [ 4]  (0.3945, 0.2235)
  [ 5]  (0.4262, 0.1274)
  [ 6]  (0.5344, 0.0875)
  [ 7]  (0.5344, 0.4809)
  [ 8]  (0.5523, 0.5697)
  [ 9]  (0.5541, 0.6609)
  [10]  (0.5516, 0.7520)
  [11]  (0.5452, 0.8429)
  [12]  (0.5398, 0.9340)
  [13]  (0.5065, 0.9721)
  [14]  (0.5344, 0.0000)
  [15]  (0.5442, 0.0947)
  [16]  (0.5562, 0.1892)
  [17]  (0.5683, 0.2837)
  [18]  (0.5808, 0.3782)
  [19]  (0.5934, 0.4726)
  [20]  (0.5725, 0.5632)
  [21]  (0.5344, 0.6868)
  [22]  (0.5844, 0.7514)
  [23]  (0.6156, 0.8257)
  [24]  (0.5863, 0.8934)
  [25]  (0.5195, 0.8638)
  [26]  (0.4939, 0.7971)
  [27]  (0.5517, 0.7566)
  [28]  (0.5344, 1.0000)
  [29]  (0.4835, 0.8347)
  [30]  (0.4124, 0.6769)
  [31]  (0.3583, 0.5130)
  [32]  (0.3913, 0.3631)
  [33]  (0.5644, 0.3609)
  [34]  (0.5899, 0.3791)
  [35]  (0.5344, 0.4556)
  [36]  (0.5958, 0.5159)
  [37]  (0.5503, 0.5759)
  [38]  (0.4732, 0.5566)
  [39]  (0.4123, 0.5137)
  [40]  (0.4344, 0.4349)
  [41]  (0.4615, 0.4591)
  [42]  (0.5344, 0.4629)
  [43]  (0.6151, 0.4985)
  [44]  (0.6010, 0.5688)
  [45]  (0.5226, 0.5845)
  [46]  (0.4860, 0.5154)
  [47]  (0.5539, 0.4816)
  [48]  (0.6213, 0.5273)
  [49]  (0.5344, 0.8334)
  [50]  (0.6417, 0.8588)
  [51]  (0.6111, 0.9242)
  [52]  (0.5050, 0.8946)
  [53]  (0.4758, 0.8063)
  [54]  (0.5815, 0.7710)
  [55]  (0.5412, 0.8334)
  [56]  (0.5344, 0.7672)
  [57]  (0.5561, 0.8231)
  [58]  (0.5334, 0.8587)
  [59]  (0.4768, 0.8788)
  [60]  (0.4427, 0.8485)
  [61]  (0.4584, 0.8002)
  [62]  (0.4997, 0.7566)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.6173, 0.1819)  angle=61.2 deg
  V1  (0.5931, 0.2736)  angle=77.8 deg
  V2  (0.3945, 0.2235)  angle=81.9 deg
  V3  (0.4262, 0.1274)  angle=51.5 deg
  V4  (0.5344, 0.0875)  angle=110.2 deg
  V5  (0.5398, 0.9340)  angle=37.8 deg
  V6  (0.5065, 0.9721)  angle=140.5 deg
  V7  (0.5344, 0.0000)  angle=172.4 deg
  V8  (0.5344, 0.6868)  angle=54.9 deg
  V9  (0.6156, 0.8257)  angle=46.2 deg
  V10  (0.5863, 0.8934)  angle=90.6 deg
  V11  (0.5195, 0.8638)  angle=45.0 deg
  V12  (0.4939, 0.7971)  angle=76.1 deg
  V13  (0.5517, 0.7566)  angle=129.1 deg
  V14  (0.5344, 1.0000)  angle=158.8 deg
  V15  (0.3583, 0.5130)  angle=30.7 deg
  V16  (0.3913, 0.3631)  angle=76.9 deg
  V17  (0.5644, 0.3609)  angle=36.3 deg
  V18  (0.5899, 0.3791)  angle=90.4 deg
  V19  (0.5344, 0.4556)  angle=81.5 deg
  V20  (0.5958, 0.5159)  angle=82.8 deg
  V21  (0.5503, 0.5759)  angle=66.8 deg
  V22  (0.4123, 0.5137)  angle=70.5 deg
  V23  (0.4344, 0.4349)  angle=116.0 deg
  V24  (0.4615, 0.4591)  angle=38.6 deg
  V25  (0.6151, 0.4985)  angle=77.6 deg
  V26  (0.6010, 0.5688)  angle=67.4 deg
  V27  (0.5226, 0.5845)  angle=73.4 deg
  V28  (0.4860, 0.5154)  angle=91.5 deg
  V29  (0.5539, 0.4816)  angle=60.6 deg
  V30  (0.6213, 0.5273)  angle=71.7 deg
  V31  (0.5344, 0.8334)  angle=92.6 deg
  V32  (0.6417, 0.8588)  angle=101.8 deg
  V33  (0.6111, 0.9242)  angle=80.5 deg
  V34  (0.5050, 0.8946)  angle=56.2 deg
  V35  (0.4758, 0.8063)  angle=89.8 deg
  V36  (0.5815, 0.7710)  angle=141.3 deg
  V37  (0.5412, 0.8334)  angle=141.3 deg
  V38  (0.5344, 0.7672)  angle=164.6 deg
  V39  (0.5561, 0.8231)  angle=53.9 deg
  V40  (0.5334, 0.8587)  angle=37.8 deg
  V41  (0.4768, 0.8788)  angle=61.2 deg
  V42  (0.4427, 0.8485)  angle=66.3 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
    }
),
