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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.5796, 0.9473)
  [ 1]  (0.5743, 0.8609)
  [ 2]  (0.5709, 0.7745)
  [ 3]  (0.5686, 0.6880)
  [ 4]  (0.5671, 0.6014)
  [ 5]  (0.5660, 0.5149)
  [ 6]  (0.5660, 0.4283)
  [ 7]  (0.5796, 0.0000)
  [ 8]  (0.6576, 0.0266)
  [ 9]  (0.6848, 0.0953)
  [10]  (0.6219, 0.1360)
  [11]  (0.5504, 0.1050)
  [12]  (0.5453, 0.0318)
  [13]  (0.6207, 0.0036)
  [14]  (0.5796, 0.0037)
  [15]  (0.5946, 0.0962)
  [16]  (0.6053, 0.1893)
  [17]  (0.6121, 0.2827)
  [18]  (0.6157, 0.3763)
  [19]  (0.6172, 0.4700)
  [20]  (0.6068, 0.5621)
  [21]  (0.5796, 0.7744)
  [22]  (0.6452, 0.8436)
  [23]  (0.6366, 0.9331)
  [24]  (0.5610, 0.9580)
  [25]  (0.5041, 0.8980)
  [26]  (0.5055, 0.8123)
  [27]  (0.5898, 0.8052)
  [28]  (0.5796, 1.0000)
  [29]  (0.4944, 0.8215)
  [30]  (0.3733, 0.6641)
  [31]  (0.2768, 0.4932)
  [32]  (0.3545, 0.3744)
  [33]  (0.5530, 0.3704)
  [34]  (0.6823, 0.3589)
  [35]  (0.5796, 0.3974)
  [36]  (0.6855, 0.3873)
  [37]  (0.7232, 0.4784)
  [38]  (0.6472, 0.5194)
  [39]  (0.5452, 0.4899)
  [40]  (0.5406, 0.3953)
  [41]  (0.6138, 0.4076)
  [42]  (0.5796, 0.4353)
  [43]  (0.6201, 0.5110)
  [44]  (0.5374, 0.5366)
  [45]  (0.4563, 0.5447)
  [46]  (0.3794, 0.5049)
  [47]  (0.4089, 0.4456)
  [48]  (0.4905, 0.4386)
  [49]  (0.5796, 0.6955)
  [50]  (0.6358, 0.7713)
  [51]  (0.5551, 0.7922)
  [52]  (0.4920, 0.7379)
  [53]  (0.5382, 0.6722)
  [54]  (0.6351, 0.6683)
  [55]  (0.5625, 0.6955)
  [56]  (0.5796, 0.6920)
  [57]  (0.6260, 0.7444)
  [58]  (0.5823, 0.7779)
  [59]  (0.5219, 0.7776)
  [60]  (0.4882, 0.7305)
  [61]  (0.5187, 0.6679)
  [62]  (0.5865, 0.6509)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.5796, 0.0000)  angle=107.0 deg
  V1  (0.6576, 0.0266)  angle=49.6 deg
  V2  (0.6848, 0.0953)  angle=78.6 deg
  V3  (0.6219, 0.1360)  angle=56.4 deg
  V4  (0.5504, 0.1050)  angle=62.6 deg
  V5  (0.5453, 0.0318)  angle=73.5 deg
  V6  (0.6207, 0.0036)  angle=159.7 deg
  V7  (0.5796, 0.0037)  angle=99.1 deg
  V8  (0.5796, 0.7744)  angle=50.8 deg
  V9  (0.6452, 0.8436)  angle=49.0 deg
  V10  (0.6366, 0.9331)  angle=66.2 deg
  V11  (0.5610, 0.9580)  angle=64.8 deg
  V12  (0.5041, 0.8980)  angle=44.4 deg
  V13  (0.5055, 0.8123)  angle=84.2 deg
  V14  (0.5898, 0.8052)  angle=97.8 deg
  V15  (0.5796, 1.0000)  angle=151.5 deg
  V16  (0.2768, 0.4932)  angle=62.6 deg
  V17  (0.3545, 0.3744)  angle=55.7 deg
  V18  (0.6823, 0.3589)  angle=164.6 deg
  V19  (0.5796, 0.3974)  angle=164.9 deg
  V20  (0.6855, 0.3873)  angle=73.0 deg
  V21  (0.7232, 0.4784)  angle=84.1 deg
  V22  (0.6472, 0.5194)  angle=44.4 deg
  V23  (0.5452, 0.4899)  angle=71.2 deg
  V24  (0.5406, 0.3953)  angle=102.3 deg
  V25  (0.6138, 0.4076)  angle=131.4 deg
  V26  (0.5796, 0.4353)  angle=79.1 deg
  V27  (0.6201, 0.5110)  angle=100.9 deg
  V28  (0.4563, 0.5447)  angle=33.0 deg
  V29  (0.3794, 0.5049)  angle=89.1 deg
  V30  (0.4089, 0.4456)  angle=58.7 deg
  V31  (0.4905, 0.4386)  angle=75.8 deg
  V32  (0.6358, 0.7713)  angle=112.1 deg
  V33  (0.5551, 0.7922)  angle=55.2 deg
  V34  (0.4920, 0.7379)  angle=84.5 deg
  V35  (0.5382, 0.6722)  angle=52.5 deg
  V36  (0.6351, 0.6683)  angle=161.8 deg
  V37  (0.5625, 0.6955)  angle=170.9 deg
  V38  (0.5796, 0.6920)  angle=59.9 deg
  V39  (0.6260, 0.7444)  angle=94.0 deg
  V40  (0.5823, 0.7779)  angle=37.8 deg
  V41  (0.5219, 0.7776)  angle=54.2 deg
  V42  (0.4882, 0.7305)  angle=61.5 deg
  V43  (0.5187, 0.6679)  angle=50.0 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
    }
),
