=== SAVED CAST: revelio_20_s61 ===
Normalized points: 60
Raw points: N/A

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.7464, 0.0522)
  [ 1]  (0.5640, 0.0399)
  [ 2]  (0.3820, 0.0240)
  [ 3]  (0.2010, 0.0000)
  [ 4]  (0.1762, 0.1345)
  [ 5]  (0.1897, 0.3168)
  [ 6]  (0.3165, 0.3962)
  [ 7]  (0.4970, 0.3767)
  [ 8]  (0.5867, 0.2437)
  [ 9]  (0.5554, 0.0647)
  [10]  (0.7464, 0.6302)
  [11]  (0.5816, 0.6351)
  [12]  (0.4168, 0.6354)
  [13]  (0.2950, 0.6772)
  [14]  (0.2977, 0.8405)
  [15]  (0.3244, 1.0000)
  [16]  (0.4877, 0.9904)
  [17]  (0.6255, 0.9133)
  [18]  (0.6301, 0.7531)
  [19]  (0.5554, 0.6184)
  [20]  (0.7464, 0.9615)
  [21]  (0.6123, 0.9606)
  [22]  (0.4802, 0.9369)
  [23]  (0.3895, 0.8517)
  [24]  (0.3899, 0.7189)
  [25]  (0.4504, 0.5990)
  [26]  (0.5355, 0.5529)
  [27]  (0.6102, 0.6632)
  [28]  (0.6430, 0.7917)
  [29]  (0.6262, 0.9215)
  [30]  (0.7464, 0.4515)
  [31]  (0.6098, 0.4466)
  [32]  (0.4751, 0.4286)
  [33]  (0.4407, 0.3024)
  [34]  (0.4495, 0.1664)
  [35]  (0.5429, 0.0843)
  [36]  (0.6657, 0.0855)
  [37]  (0.6903, 0.2180)
  [38]  (0.6885, 0.3545)
  [39]  (0.6718, 0.4895)
  [40]  (0.7464, 0.0522)
  [41]  (0.7464, 0.1762)
  [42]  (0.7468, 0.3002)
  [43]  (0.7517, 0.4241)
  [44]  (0.7567, 0.5479)
  [45]  (0.7512, 0.6714)
  [46]  (0.6965, 0.7601)
  [47]  (0.5744, 0.7595)
  [48]  (0.4522, 0.7434)
  [49]  (0.3884, 0.6436)
  [50]  (0.7464, 0.1930)
  [51]  (0.7818, 0.2118)
  [52]  (0.8168, 0.2308)
  [53]  (0.8210, 0.2707)
  [54]  (0.8238, 0.3095)
  [55]  (0.7839, 0.3130)
  [56]  (0.7439, 0.3165)
  [57]  (0.7213, 0.2902)
  [58]  (0.7151, 0.2547)
  [59]  (0.7380, 0.2218)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.2010, 0.0000)  angle=87.1 deg
  V1  (0.1897, 0.3168)  angle=53.7 deg
  V2  (0.3165, 0.3962)  angle=38.2 deg
  V3  (0.4970, 0.3767)  angle=49.8 deg
  V4  (0.5867, 0.2437)  angle=43.9 deg
  V5  (0.5554, 0.0647)  angle=171.3 deg
  V6  (0.7464, 0.6302)  angle=106.9 deg
  V7  (0.2950, 0.6772)  angle=72.0 deg
  V8  (0.3244, 1.0000)  angle=83.9 deg
  V9  (0.6255, 0.9133)  angle=59.1 deg
  V10  (0.6301, 0.7531)  angle=30.7 deg
  V11  (0.5554, 0.6184)  angle=179.9 deg
  V12  (0.7464, 0.9615)  angle=119.5 deg
  V13  (0.4802, 0.9369)  angle=33.0 deg
  V14  (0.3895, 0.8517)  angle=47.0 deg
  V15  (0.4504, 0.5990)  angle=34.8 deg
  V16  (0.5355, 0.5529)  angle=84.3 deg
  V17  (0.6262, 0.9215)  angle=173.0 deg
  V18  (0.7464, 0.4515)  angle=102.3 deg
  V19  (0.4751, 0.4286)  angle=67.2 deg
  V20  (0.4495, 0.1664)  angle=45.0 deg
  V21  (0.5429, 0.0843)  angle=41.9 deg
  V22  (0.6657, 0.0855)  angle=78.9 deg
  V23  (0.6718, 0.4895)  angle=177.4 deg
  V24  (0.7464, 0.0522)  angle=170.3 deg
  V25  (0.6965, 0.7601)  angle=58.6 deg
  V26  (0.4522, 0.7434)  angle=49.9 deg
  V27  (0.3884, 0.6436)  angle=71.0 deg
  V28  (0.7464, 0.1930)  angle=79.4 deg
  V29  (0.8168, 0.2308)  angle=55.3 deg
  V30  (0.8238, 0.3095)  angle=89.1 deg
  V31  (0.7439, 0.3165)  angle=54.3 deg
  V32  (0.7213, 0.2902)  angle=30.9 deg
  V33  (0.7151, 0.2547)  angle=44.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
    }
),
