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

--- NORMALIZED STROKE POINTS (x, y in [0,1], top-left origin) ---
  [ 0]  (0.5119, 1.0000)
  [ 1]  (0.5122, 0.8901)
  [ 2]  (0.5267, 0.7812)
  [ 3]  (0.5386, 0.6720)
  [ 4]  (0.5461, 0.5625)
  [ 5]  (0.5421, 0.4527)
  [ 6]  (0.5468, 0.3430)
  [ 7]  (0.5119, 0.0000)
  [ 8]  (0.5666, 0.0901)
  [ 9]  (0.5304, 0.1845)
  [10]  (0.4305, 0.1808)
  [11]  (0.4299, 0.0896)
  [12]  (0.5299, 0.0696)
  [13]  (0.4958, 0.0899)
  [14]  (0.5119, 0.1042)
  [15]  (0.5046, 0.1819)
  [16]  (0.4922, 0.2588)
  [17]  (0.4791, 0.3357)
  [18]  (0.4663, 0.4127)
  [19]  (0.4536, 0.4897)
  [20]  (0.4501, 0.5664)
  [21]  (0.5119, 0.6848)
  [22]  (0.5760, 0.7465)
  [23]  (0.6124, 0.8312)
  [24]  (0.5483, 0.8994)
  [25]  (0.4614, 0.8833)
  [26]  (0.4672, 0.8028)
  [27]  (0.5307, 0.7552)
  [28]  (0.5119, 0.8985)
  [29]  (0.4551, 0.7248)
  [30]  (0.3712, 0.5603)
  [31]  (0.2968, 0.3934)
  [32]  (0.3415, 0.2465)
  [33]  (0.5187, 0.2107)
  [34]  (0.7032, 0.2120)
  [35]  (0.5119, 0.2112)
  [36]  (0.5937, 0.2523)
  [37]  (0.6615, 0.3171)
  [38]  (0.6261, 0.3740)
  [39]  (0.5386, 0.3542)
  [40]  (0.5318, 0.2657)
  [41]  (0.6193, 0.2549)
  [42]  (0.5119, 0.2416)
  [43]  (0.6205, 0.2601)
  [44]  (0.6373, 0.3602)
  [45]  (0.5514, 0.4028)
  [46]  (0.4864, 0.3351)
  [47]  (0.5617, 0.2820)
  [48]  (0.6517, 0.3150)
  [49]  (0.5119, 0.6604)
  [50]  (0.5518, 0.7386)
  [51]  (0.5253, 0.8184)
  [52]  (0.4376, 0.8209)
  [53]  (0.4158, 0.7477)
  [54]  (0.4855, 0.6988)
  [55]  (0.5280, 0.7253)
  [56]  (0.5119, 0.6659)
  [57]  (0.5899, 0.7098)
  [58]  (0.6166, 0.7881)
  [59]  (0.5289, 0.8055)
  [60]  (0.4664, 0.7565)
  [61]  (0.5216, 0.6928)
  [62]  (0.6111, 0.6930)

--- KEY VERTICES (corners with angle < 120 degrees) ---
  V0  (0.5119, 0.0000)  angle=154.5 deg
  V1  (0.5666, 0.0901)  angle=52.3 deg
  V2  (0.5304, 0.1845)  angle=71.1 deg
  V3  (0.4305, 0.1808)  angle=87.5 deg
  V4  (0.4299, 0.0896)  angle=79.0 deg
  V5  (0.5299, 0.0696)  angle=160.6 deg
  V6  (0.4958, 0.0899)  angle=107.7 deg
  V7  (0.5119, 0.1042)  angle=53.8 deg
  V8  (0.4501, 0.5664)  angle=30.1 deg
  V9  (0.6124, 0.8312)  angle=66.4 deg
  V10  (0.5483, 0.8994)  angle=57.3 deg
  V11  (0.4614, 0.8833)  angle=83.6 deg
  V12  (0.4672, 0.8028)  angle=49.1 deg
  V13  (0.5307, 0.7552)  angle=134.3 deg
  V14  (0.5119, 0.8985)  angle=154.4 deg
  V15  (0.2968, 0.3934)  angle=40.9 deg
  V16  (0.3415, 0.2465)  angle=61.7 deg
  V17  (0.7032, 0.2120)  angle=179.9 deg
  V18  (0.5119, 0.2112)  angle=153.6 deg
  V19  (0.6615, 0.3171)  angle=78.2 deg
  V20  (0.6261, 0.3740)  angle=70.9 deg
  V21  (0.5386, 0.3542)  angle=72.9 deg
  V22  (0.5318, 0.2657)  angle=87.3 deg
  V23  (0.6193, 0.2549)  angle=165.9 deg
  V24  (0.5119, 0.2416)  angle=177.3 deg
  V25  (0.6205, 0.2601)  angle=70.8 deg
  V26  (0.6373, 0.3602)  angle=73.2 deg
  V27  (0.5514, 0.4028)  angle=72.5 deg
  V28  (0.4864, 0.3351)  angle=98.7 deg
  V29  (0.5617, 0.2820)  angle=55.3 deg
  V30  (0.6517, 0.3150)  angle=91.9 deg
  V31  (0.5119, 0.6604)  angle=49.1 deg
  V32  (0.5518, 0.7386)  angle=45.4 deg
  V33  (0.5253, 0.8184)  angle=70.0 deg
  V34  (0.4376, 0.8209)  angle=75.1 deg
  V35  (0.4158, 0.7477)  angle=71.4 deg
  V36  (0.4855, 0.6988)  angle=67.1 deg
  V37  (0.5280, 0.7253)  angle=137.2 deg
  V38  (0.5119, 0.6659)  angle=134.5 deg
  V39  (0.5899, 0.7098)  angle=41.8 deg
  V40  (0.6166, 0.7881)  angle=97.6 deg
  V41  (0.5289, 0.8055)  angle=49.3 deg
  V42  (0.4664, 0.7565)  angle=92.8 deg
  V43  (0.5216, 0.6928)  angle=49.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
    }
),
