{"hole":"h12","identity":{"hole":"h12","native_slot":12,"course_id":"fc8","par":5},"line":"v1","candidate":{"contract_sha256":"f3403ec92f97c0dc075313f1f81a4e5e2736b67e922ae223dceda928106b0a93","candidate":{"path":"golf-engine/build/hole/h12-candidate/candidate.json","sha256":"6fe99f2d67ef206e77e3a50638dcdc8e46e54a7623fdca176ce82acd70da65a9"},"pack":{"path":"golf-engine/build/hole/h12-pack/course-pack.json","sha256":"f2b1c42e60b0524e50c7d8792b059b2a9d194ef9af3b27a63f0c9a1bf2a1d0f9"},"u8_sha256":"0afca870bbd2362f3d0f4023fa470d268c342108c0e33a14b684fe3c3c096ce6"},"convention":"route-local","emitter":"ground","box":[-1675.84,-2494.93,1040.0,2400.0],"elements":[{"layer":"domain","kind":"poly","pts":[[-1535.93,1385.48],[-1531.9,1400.0],[-1526.53,1419.36],[-1483.56,1479.62],[-1442.39,1541.04],[-1407.22,1606.05],[-1379.09,1674.44],[-1356.01,1744.72],[-1327.8,1812.77],[-1286.24,1873.53],[-1231.67,1922.77],[-1170.22,1963.69],[-1103.2,1995.33],[-1040.0,2034.05],[-1040.0,2080.0],[-1040.0,2160.0],[-1040.0,2240.0],[-1040.0,2320.0],[-959.6,2319.44],[-879.6,2319.44],[-880.0,2400.0],[-800.0,2400.0],[-720.0,2400.0],[-640.0,2400.0],[-560.0,2400.0],[-559.6,2319.44],[-480.0,2240.0],[-480.0,2160.0],[-480.0,2080.0],[-479.95,2000.05],[-399.72,1920.28],[-399.67,1840.48],[-399.8,1760.41],[-399.98,1680.12],[-434.81,1680.09],[-429.15,1606.29],[-415.51,1533.54],[-418.23,1459.72],[-442.62,1390.57],[-486.13,1330.88],[-541.6,1281.88],[-591.42,1227.14],[-600.0,1209.07],[-606.43,1195.51],[-608.44,1119.67],[-600.0,1044.07],[-600.44,968.25],[-595.0,892.69],[-584.94,817.6],[-570.22,743.29],[-549.85,670.35],[-522.52,599.74],[-487.66,532.53],[-444.22,470.52],[-393.27,414.53],[-335.98,365.06],[-275.51,319.28],[-210.4,280.27],[-145.83,240.37],[-86.31,193.25],[-27.12,145.75],[36.77,104.78],[-10.62,12.24],[-33.35,-82.23],[-19.06,-86.95],[-0.0,-93.24],[44.64,-110.34],[90.16,-121.28],[136.93,-123.53],[184.57,-119.63],[240.0,-80.0],[320.0,-80.0],[372.93,-80.0],[320.0,-0.0],[400.0,-42.13],[400.0,0.0],[430.11,-0.0],[400.0,80.0],[466.96,80.0],[400.0,160.0],[480.0,123.45],[480.0,160.0],[490.97,160.0],[480.0,240.0],[537.4,240.0],[480.0,320.0],[560.0,272.2],[560.0,320.0],[593.56,320.0],[560.0,400.0],[639.64,400.67],[640.0,480.0],[682.13,480.0],[640.0,560.0],[724.84,576.82],[720.0,640.0],[720.0,710.97],[640.0,640.0],[709.14,733.66],[640.0,720.0],[653.94,800.0],[640.0,800.0],[640.0,813.12],[560.0,800.0],[479.91,800.01],[480.0,720.0],[427.92,786.61],[400.0,720.0],[343.4,800.0],[320.0,800.0],[320.0,812.9],[240.0,800.0],[264.08,880.0],[240.0,880.0],[240.0,922.55],[160.0,960.0],[201.0,994.9],[160.0,1040.0],[166.76,1120.0],[160.0,1120.0],[160.0,1143.06],[80.0,1200.0],[92.26,1280.0],[80.0,1280.0],[80.0,1301.71],[-0.0,1360.0],[72.45,1360.0],[0.0,1440.0],[80.0,1385.78],[80.0,1440.0],[113.49,1440.0],[80.0,1520.0],[160.0,1476.64],[160.0,1520.0],[200.0,1494.49],[240.0,1520.0],[274.31,1498.22],[320.0,1520.0],[373.24,1479.0],[400.0,1520.0],[432.79,1440.0],[480.0,1440.0],[478.64,1357.77],[560.0,1360.0],[508.97,1280.0],[560.0,1280.0],[562.42,1202.34],[640.0,1200.0],[640.0,1140.83],[720.0,1200.0],[666.51,1120.0],[720.0,1120.0],[762.11,1040.0],[800.0,1040.0],[800.0,1002.21],[880.0,1040.0],[852.22,960.0],[880.0,960.0],[880.0,942.59],[960.0,960.0],[931.78,880.0],[960.0,880.0],[960.0,811.23],[1040.0,880.0],[964.66,800.0],[1040.0,800.0],[973.11,760.0],[1040.0,720.0],[973.7,686.94],[1040.0,640.0],[971.09,640.0],[1040.0,560.0],[960.0,530.31],[960.0,480.0],[953.54,480.0],[960.0,400.0],[949.2,400.0],[960.0,320.0],[939.53,320.0],[960.0,240.0],[880.0,196.37],[880.0,160.0],[864.43,160.0],[880.0,80.0],[800.0,23.71],[800.0,0.0],[768.16,-0.0],[720.0,-80.0],[640.0,-41.44],[640.0,-80.0],[560.0,-115.73],[560.0,-160.0],[556.13,-240.0],[560.0,-240.0],[640.0,-240.0],[569.26,-320.0],[640.0,-320.0],[572.94,-361.71],[640.0,-400.0],[573.13,-400.0],[640.0,-480.0],[626.18,-560.0],[640.0,-560.0],[640.0,-591.97],[720.0,-640.0],[659.04,-678.99],[720.0,-720.0],[662.19,-753.58],[720.0,-800.0],[714.93,-880.0],[720.0,-880.0],[800.0,-960.0],[724.95,-1010.49],[800.0,-1040.0],[720.0,-1040.0],[720.0,-1120.0],[704.81,-1120.0],[720.0,-1200.0],[676.06,-1200.0],[720.0,-1280.0],[640.0,-1264.43],[640.0,-1280.0],[613.23,-1280.0],[640.0,-1360.0],[560.0,-1293.98],[560.0,-1360.0],[480.0,-1295.57],[480.0,-1360.0],[400.0,-1345.3],[400.0,-1360.0],[374.99,-1360.0],[320.0,-1440.0],[289.62,-1393.55],[240.0,-1440.0],[160.0,-1520.0],[160.0,-1600.0],[80.0,-1680.0],[27.58,-1728.8],[48.62,-1782.51],[15.36,-1760.0],[34.39,-1809.6],[0.0,-1779.21],[-0.0,-1840.0],[0.0,-1920.0],[0.0,-2000.0],[-80.0,-2000.0],[-0.0,-2080.0],[-0.0,-2160.0],[-80.0,-2240.0],[-80.0,-2320.0],[-160.0,-2320.0],[-240.0,-2240.0],[-240.0,-2320.0],[-320.0,-2320.0],[-373.83,-2320.0],[-320.0,-2400.0],[-400.0,-2333.85],[-400.0,-2400.0],[-442.03,-2346.53],[-480.0,-2400.0],[-480.0,-2486.99],[-560.0,-2491.17],[-600.0,-2494.93],[-640.0,-2400.0],[-720.0,-2400.0],[-800.0,-2400.0],[-800.0,-2320.0],[-800.0,-2240.0],[-880.0,-2160.0],[-880.0,-2080.0],[-800.0,-2080.0],[-737.93,-2080.0],[-800.0,-2000.0],[-720.0,-2022.88],[-720.0,-2000.0],[-800.0,-1920.0],[-800.0,-1840.0],[-880.0,-1840.0],[-863.49,-1765.04],[-846.97,-1690.09],[-825.94,-1616.22],[-812.02,-1540.59],[-792.32,-1466.27],[-761.4,-1395.76],[-731.53,-1325.13],[-708.98,-1251.57],[-682.84,-1179.52],[-655.02,-1107.77],[-637.05,-1033.05],[-622.93,-957.43],[-600.0,-884.07],[-510.66,-855.05],[-521.69,-837.6],[-529.96,-824.52],[-558.53,-751.76],[-594.43,-682.32],[-634.37,-615.35],[-672.4,-547.37],[-716.96,-483.05],[-772.3,-427.7],[-830.34,-375.34],[-882.7,-317.29],[-935.06,-259.25],[-993.11,-206.9],[-1051.15,-154.54],[-1103.49,-96.48],[-1155.86,-38.45],[-1213.93,13.89],[-1271.95,66.27],[-1324.29,124.34],[-1376.67,182.36],[-1434.75,234.68],[-1492.76,287.07],[-1545.08,345.15],[-1593.05,406.28],[-1638.28,469.36],[-1670.34,540.79],[-1675.84,618.9],[-1669.31,696.57],[-1663.54,774.31],[-1652.2,851.74],[-1629.12,926.53],[-1607.2,1001.6],[-1594.4,1078.74],[-1583.03,1156.07],[-1564.4,1231.97],[-1546.21,1307.99]],"label":"domain (base rough)","path":"frame.domain","fill":"#2f6b33"},{"layer":"bounds","kind":"loop","pts":[[-2011.8,2398.73],[-1672.56,-2639.86],[1320.66,-2438.34],[981.42,2600.26]],"label":"frame bounds","path":"frame.bounds"},{"layer":"regions","kind":"poly","pts":[[-447.74,-57.82],[-454.28,-51.93],[-460.35,-45.62],[-466.28,-39.18],[-472.4,-32.92],[-478.98,-27.06],[-486.15,-21.72],[-493.84,-16.85],[-501.93,-12.31],[-510.17,-7.91],[-518.35,-3.47],[-526.18,1.28],[-533.51,6.46],[-540.28,12.13],[-546.56,18.22],[-552.59,24.55],[-558.66,30.83],[-565.14,36.76],[-572.05,42.31],[-603.11,67.36],[-634.1,92.52],[-664.81,118.0],[-694.89,144.22],[-724.32,171.17],[-753.08,198.83],[-781.37,226.98],[-809.58,255.2],[-837.72,283.51],[-865.77,311.89],[-892.66,341.31],[-916.11,373.53],[-935.77,408.19],[-951.45,444.83],[-964.3,482.61],[-976.0,520.76],[-986.52,559.25],[-995.84,598.05],[-1003.66,637.17],[-1009.57,676.63],[-1013.57,716.32],[-1015.67,756.16],[-1016.1,796.06],[-1015.09,835.95],[-1012.63,875.78],[-1008.74,915.49],[-1003.78,955.08],[-998.17,994.59],[-991.91,1034.0],[-984.99,1073.31],[-977.13,1112.43],[-968.0,1151.27],[-957.59,1189.79],[-943.86,1227.3],[-930.16,1264.79],[-917.55,1302.66],[-906.15,1340.91],[-895.66,1379.47],[-885.52,1418.13],[-875.03,1456.68],[-863.63,1494.94],[-851.03,1532.79],[-837.58,1570.37],[-824.02,1607.94],[-813.08,1646.32],[-802.7,1684.85],[-792.77,1723.51],[-783.21,1762.25],[-774.02,1801.09],[-765.19,1840.0],[-757.14,1879.09],[-750.33,1918.4],[-744.78,1957.92],[-740.48,1997.59],[-740.01,2037.36],[-748.63,2076.07],[-772.42,2107.32],[-798.75,2113.31],[-812.43,2106.91],[-827.16,2081.7],[-833.85,2042.36],[-841.32,2003.16],[-849.59,1964.12],[-858.64,1925.25],[-868.49,1886.58],[-879.62,1848.25],[-892.0,1810.31],[-905.62,1772.8],[-920.44,1735.75],[-935.64,1698.85],[-951.19,1662.1],[-967.12,1625.51],[-983.41,1589.07],[-1001.73,1553.57],[-1019.77,1517.96],[-1037.16,1482.06],[-1053.78,1445.79],[-1069.57,1409.1],[-1084.87,1372.19],[-1100.17,1335.28],[-1115.95,1298.6],[-1132.55,1262.3],[-1150.1,1226.46],[-1168.46,1191.0],[-1187.28,1155.75],[-1203.27,1119.19],[-1218.26,1082.2],[-1232.22,1044.82],[-1245.16,1007.06],[-1257.26,969.04],[-1268.51,930.75],[-1278.91,892.22],[-1288.4,853.46],[-1296.02,814.28],[-1301.75,774.79],[-1305.61,735.07],[-1307.46,695.22],[-1304.95,655.41],[-1297.85,616.17],[-1286.18,578.04],[-1270.69,541.27],[-1253.7,505.16],[-1235.28,469.76],[-1215.51,435.1],[-1194.11,401.45],[-1170.14,369.57],[-1143.7,339.71],[-1114.99,312.03],[-1084.74,286.0],[-1054.4,260.07],[-1023.98,234.24],[-993.48,208.51],[-962.95,182.8],[-932.56,156.93],[-902.31,130.91],[-872.18,104.74],[-842.17,78.43],[-812.22,52.06],[-782.33,25.61],[-752.5,-0.9],[-722.8,-27.55],[-693.38,-54.52],[-664.26,-81.8],[-635.43,-109.39],[-606.9,-137.3],[-578.69,-165.53],[-550.81,-194.08],[-523.25,-222.94],[-496.12,-252.2],[-469.67,-282.09],[-443.93,-312.59],[-418.92,-343.68],[-394.69,-375.38],[-371.38,-407.77],[-349.01,-440.81],[-327.59,-474.48],[-307.13,-508.75],[-287.67,-543.58],[-269.21,-578.96],[-251.79,-614.86],[-235.26,-651.18],[-219.33,-687.77],[-203.99,-724.61],[-189.24,-761.69],[-176.15,-799.34],[-167.14,-838.17],[-162.37,-877.74],[-161.86,-917.59],[-164.46,-957.41],[-168.49,-997.11],[-173.94,-1036.64],[-180.84,-1075.94],[-189.33,-1114.92],[-199.65,-1153.46],[-211.76,-1191.48],[-225.61,-1228.89],[-240.68,-1265.85],[-256.34,-1302.55],[-272.59,-1339.0],[-289.42,-1375.18],[-306.69,-1411.16],[-324.23,-1447.01],[-342.01,-1482.73],[-360.06,-1518.33],[-377.99,-1553.98],[-395.34,-1589.91],[-412.09,-1626.13],[-428.25,-1662.62],[-444.11,-1699.24],[-460.07,-1735.82],[-476.13,-1772.35],[-492.3,-1808.84],[-506.72,-1845.98],[-516.07,-1884.69],[-518.54,-1924.42],[-509.1,-1962.57],[-477.79,-1983.68],[-438.54,-1978.97],[-402.54,-1962.61],[-374.04,-1935.1],[-356.49,-1899.41],[-346.54,-1860.76],[-334.42,-1822.75],[-320.15,-1785.48],[-303.78,-1749.09],[-285.57,-1713.59],[-267.08,-1678.22],[-248.31,-1643.0],[-229.26,-1607.93],[-208.05,-1574.07],[-187.23,-1540.01],[-167.21,-1505.52],[-148.06,-1470.51],[-129.55,-1435.11],[-111.51,-1399.44],[-93.32,-1363.88],[-74.46,-1328.72],[-54.64,-1294.09],[-33.9,-1259.98],[-12.63,-1226.14],[6.66,-1191.2],[25.68,-1156.12],[42.64,-1120.01],[57.46,-1082.96],[70.08,-1045.11],[80.59,-1006.61],[89.77,-967.78],[97.61,-928.65],[104.07,-889.27],[108.64,-849.66],[108.71,-809.79],[104.25,-770.18],[95.41,-731.31],[83.06,-693.37],[68.92,-656.06],[53.01,-619.47],[35.33,-583.71],[15.98,-548.81],[-4.89,-514.8],[-27.2,-481.73],[-50.92,-449.64],[-75.78,-418.42],[-101.4,-387.83],[-127.76,-357.87],[-154.85,-328.57],[-182.56,-299.85],[-210.69,-271.54],[-239.24,-243.66],[-268.2,-216.2],[-297.51,-189.12],[-327.06,-162.3],[-356.86,-135.75],[-386.89,-109.48],[-417.18,-83.49]],"label":"route (fairway)","path":"regions.items[0]","fill":"#58a34a"},{"layer":"regions","kind":"poly","pts":[[-752.33,2197.48],[-773.4,2191.85],[-790.74,2178.46],[-801.6,2159.58],[-827.16,2081.7],[-740.01,2037.36],[-695.45,2123.73],[-692.7,2145.37],[-698.33,2166.54],[-711.72,2183.78],[-730.6,2194.73]],"label":"tee_pad (fairway)","path":"regions.items[1]","fill":"#58a34a"},{"layer":"regions","kind":"poly","pts":[[-558.23,47.53],[-537.61,26.27],[-518.54,3.67],[-499.12,-18.67],[-477.21,-39.01],[-458.18,-61.04],[-439.66,-83.79],[-414.33,-99.68],[-384.28,-102.54],[-354.85,-95.38],[-329.59,-78.39],[-314.12,-52.55],[-316.24,-25.27],[-328.7,-1.53],[-348.88,19.22],[-371.69,38.02],[-393.59,57.99],[-414.39,79.35],[-438.4,96.61],[-464.74,111.12],[-488.41,129.02],[-509.8,149.53],[-532.03,169.11],[-552.77,190.25],[-570.31,214.66],[-589.71,237.05],[-613.12,255.41],[-635.92,274.42],[-657.16,294.99],[-680.09,313.86],[-702.59,333.45],[-718.95,358.72],[-732.06,385.53],[-746.92,410.68],[-760.18,436.98],[-773.15,463.74],[-791.46,487.26],[-800.09,494.73],[-809.16,501.64],[-819.78,505.67],[-830.98,504.59],[-840.2,498.0],[-847.17,488.96],[-852.94,479.13],[-857.72,468.76],[-862.22,458.27],[-867.61,429.02],[-869.24,398.87],[-861.74,369.5],[-844.18,344.76],[-824.85,322.6],[-806.8,299.71],[-786.17,278.71],[-764.68,258.39],[-745.72,235.38],[-726.74,212.39],[-703.36,194.11],[-678.66,177.22],[-656.6,157.52],[-634.6,137.74],[-611.57,118.96],[-592.38,96.19],[-576.58,70.55]],"label":"split-scar (bunker)","path":"regions.items[2]","fill":"#e5d08f"},{"layer":"regions","kind":"poly","pts":[[85.55,-450.91],[97.34,-478.26],[110.77,-504.94],[126.82,-530.35],[139.39,-557.28],[147.93,-586.29],[157.75,-614.51],[169.88,-641.63],[179.66,-669.68],[188.53,-697.79],[197.1,-726.58],[199.96,-757.07],[191.82,-786.48],[179.2,-813.95],[169.86,-842.28],[159.94,-870.46],[149.05,-898.42],[143.21,-927.77],[141.32,-958.09],[135.82,-987.43],[126.94,-1015.93],[119.83,-1044.88],[112.27,-1073.73],[101.18,-1101.81],[92.33,-1130.45],[90.08,-1160.88],[99.45,-1180.81],[108.27,-1187.49],[128.19,-1190.63],[155.45,-1180.95],[178.2,-1163.4],[198.71,-1143.08],[217.75,-1119.72],[231.17,-1092.79],[239.36,-1063.83],[247.96,-1035.2],[255.99,-1006.45],[260.3,-976.74],[265.88,-947.48],[276.93,-919.53],[287.53,-891.22],[291.74,-861.49],[293.07,-831.48],[292.58,-801.38],[285.19,-772.17],[274.28,-744.01],[267.7,-715.1],[263.91,-685.35],[256.69,-656.38],[247.51,-627.96],[239.07,-599.05],[226.59,-571.73],[207.91,-547.77],[189.67,-524.02],[174.75,-498.34],[158.54,-473.43],[140.51,-449.75],[125.0,-424.04],[109.68,-398.17],[89.43,-376.14],[68.03,-355.05],[47.89,-333.28],[39.18,-327.47],[28.91,-329.52],[23.11,-338.23],[25.15,-348.49],[41.64,-373.26],[55.06,-400.07],[69.96,-425.58]],"label":"seaward-beach (bunker)","path":"regions.items[3]","fill":"#e5d08f"},{"layer":"regions","kind":"poly","pts":[[-638.73,-2078.49],[-631.22,-2075.3],[-623.7,-2063.19],[-621.68,-2016.64],[-614.91,-1997.43],[-605.45,-1983.65],[-582.42,-1966.09],[-574.01,-1948.88],[-573.47,-1933.33],[-577.54,-1925.7],[-582.53,-1919.79],[-594.22,-1914.17],[-614.48,-1916.06],[-635.0,-1914.43],[-655.09,-1927.51],[-666.8,-1944.54],[-689.46,-2001.98],[-708.95,-2024.54],[-709.11,-2037.14],[-700.15,-2050.39],[-696.56,-2063.5],[-691.59,-2070.82],[-676.77,-2078.12],[-652.2,-2075.72]],"label":"approach-gate (bunker)","path":"regions.items[4]","fill":"#e5d08f"},{"layer":"regions","kind":"poly","pts":[[-231.17,-2205.22],[-222.38,-2210.65],[-211.37,-2210.73],[-199.92,-2203.18],[-190.51,-2179.87],[-175.79,-2166.74],[-171.25,-2143.66],[-163.15,-2127.64],[-159.86,-2107.06],[-145.34,-2082.56],[-147.13,-2053.03],[-139.37,-2030.96],[-140.96,-2020.47],[-153.95,-1994.11],[-169.14,-1977.36],[-179.21,-1970.94],[-202.42,-1972.38],[-213.31,-1986.44],[-217.15,-2000.0],[-215.64,-2032.76],[-226.83,-2073.52],[-248.25,-2104.18],[-257.44,-2129.07],[-259.03,-2153.89],[-255.14,-2173.35],[-236.47,-2192.79]],"label":"greenside-left (bunker)","path":"regions.items[5]","fill":"#e5d08f"},{"layer":"regions","kind":"poly","pts":[[-554.93,-2340.85],[-544.57,-2336.25],[-529.8,-2309.11],[-519.06,-2305.18],[-507.6,-2306.97],[-498.38,-2313.85],[-492.51,-2323.86],[-484.36,-2331.85],[-473.17,-2330.41],[-463.35,-2324.18],[-454.1,-2317.1],[-446.78,-2306.01],[-444.35,-2292.5],[-451.24,-2276.32],[-466.34,-2265.45],[-480.0,-2260.74],[-520.72,-2261.11],[-560.0,-2250.06],[-602.78,-2225.49],[-618.43,-2208.91],[-631.02,-2189.46],[-647.03,-2180.6],[-661.5,-2177.0],[-690.88,-2178.04],[-705.1,-2181.73],[-713.53,-2188.31],[-719.98,-2203.01],[-716.68,-2240.0],[-712.27,-2249.82],[-695.0,-2261.62],[-689.84,-2278.81],[-683.88,-2283.17],[-658.6,-2286.71],[-645.68,-2292.26],[-625.31,-2313.38],[-614.72,-2313.6],[-599.52,-2307.18],[-589.62,-2306.79],[-580.62,-2315.38],[-573.99,-2336.01],[-567.32,-2339.77]],"label":"greenside-back (bunker)","path":"regions.items[6]","fill":"#e5d08f"},{"layer":"regions","kind":"poly","pts":[[-392.45,-1964.35],[-410.41,-1958.04],[-456.49,-1948.01],[-491.89,-1944.68],[-506.62,-1946.28],[-521.26,-1950.57],[-534.9,-1957.9],[-552.01,-1971.78],[-565.91,-1990.16],[-571.55,-2003.07],[-574.89,-2015.92],[-578.03,-2039.38],[-576.41,-2082.77],[-572.46,-2101.15],[-562.79,-2127.26],[-553.12,-2144.35],[-541.45,-2159.8],[-519.76,-2178.28],[-486.79,-2194.6],[-449.94,-2206.05],[-421.36,-2210.75],[-405.75,-2210.4],[-390.27,-2206.65],[-370.0,-2194.96],[-358.91,-2182.59],[-350.72,-2170.21],[-340.56,-2149.98],[-333.65,-2126.06],[-331.62,-2080.32],[-334.21,-2055.24],[-340.99,-2028.94],[-356.28,-1998.39],[-363.3,-1987.84],[-374.01,-1976.13]],"label":"fringe (fringe)","path":"regions.items[7]","fill":"#79bd63"},{"layer":"regions","kind":"poly","pts":[[-458.53,-1957.87],[-478.66,-1955.22],[-504.75,-1956.17],[-529.05,-1965.93],[-545.96,-1979.69],[-556.74,-1995.35],[-564.31,-2018.31],[-567.58,-2039.78],[-568.1,-2055.75],[-566.38,-2081.39],[-562.34,-2098.26],[-553.06,-2122.89],[-539.94,-2145.06],[-525.32,-2161.32],[-500.89,-2177.21],[-470.09,-2189.57],[-435.1,-2198.74],[-419.74,-2200.61],[-404.86,-2199.71],[-383.66,-2191.67],[-371.31,-2181.52],[-359.39,-2165.08],[-349.49,-2145.37],[-344.3,-2130.09],[-341.69,-2115.28],[-341.3,-2080.87],[-345.85,-2047.6],[-353.29,-2024.95],[-364.43,-2003.85],[-374.82,-1989.52],[-384.22,-1980.83],[-396.13,-1973.71],[-408.17,-1969.01]],"label":"green (green)","path":"regions.items[8]","fill":"#8fd47a"},{"layer":"hazards","kind":"loop","pts":[[-814.57,544.97],[-882.97,369.98],[-583.45,89.46],[-408.36,-129.27],[-275.39,-20.09],[-461.13,207.95],[-646.87,435.98]],"label":"split-scar (bunker)","path":"hazards[0]"},{"layer":"hazards","kind":"loop","pts":[[-59.38,-251.1],[72.1,-417.65],[132.06,-563.95],[211.98,-708.91],[162.19,-862.6],[122.38,-1015.62],[84.25,-1193.58],[218.95,-1184.51],[242.11,-1007.56],[311.86,-852.52],[301.78,-702.86],[271.75,-554.54],[191.83,-409.59],[80.3,-241.7]],"label":"seaward-beach (bunker)","path":"hazards[1]"},{"layer":"hazards","kind":"loop","pts":[[-638.73,-2078.49],[-631.22,-2075.3],[-623.7,-2063.19],[-621.68,-2016.64],[-614.91,-1997.43],[-605.45,-1983.65],[-582.42,-1966.09],[-574.01,-1948.88],[-573.47,-1933.33],[-577.54,-1925.7],[-582.53,-1919.79],[-594.22,-1914.17],[-614.48,-1916.06],[-635.0,-1914.43],[-655.09,-1927.51],[-666.8,-1944.54],[-689.46,-2001.98],[-708.95,-2024.54],[-709.11,-2037.14],[-700.15,-2050.39],[-696.56,-2063.5],[-691.59,-2070.82],[-676.77,-2078.12],[-652.2,-2075.72]],"label":"approach-gate (bunker)","path":"hazards[2]"},{"layer":"height_shapes","kind":"loop","pts":[[-392.45,-1964.35],[-410.41,-1958.04],[-456.49,-1948.01],[-491.89,-1944.68],[-506.62,-1946.28],[-521.26,-1950.57],[-534.9,-1957.9],[-552.01,-1971.78],[-565.91,-1990.16],[-571.55,-2003.07],[-574.89,-2015.92],[-578.03,-2039.38],[-576.41,-2082.77],[-572.46,-2101.15],[-562.79,-2127.26],[-553.12,-2144.35],[-541.45,-2159.8],[-519.76,-2178.28],[-486.79,-2194.6],[-449.94,-2206.05],[-421.36,-2210.75],[-405.75,-2210.4],[-390.27,-2206.65],[-370.0,-2194.96],[-358.91,-2182.59],[-350.72,-2170.21],[-340.56,-2149.98],[-333.65,-2126.06],[-331.62,-2080.32],[-334.21,-2055.24],[-340.99,-2028.94],[-356.28,-1998.39],[-363.3,-1987.84],[-374.01,-1976.13]],"label":"green_complex (shelf polygon)","path":"height.primitives[22].params.shapes[0]"},{"layer":"tee","kind":"loop","pts":[[-744.81,2085.73],[-723.65,2091.47],[-706.4,2104.75],[-695.45,2123.73],[-692.7,2145.37],[-698.33,2166.54],[-711.72,2183.78],[-730.6,2194.73],[-752.33,2197.48],[-773.4,2191.85],[-790.74,2178.46],[-801.6,2159.58],[-804.45,2137.84],[-798.72,2116.78],[-785.42,2099.43],[-766.45,2088.58]],"label":"tee pad","path":"tee.pad"},{"layer":"routes","kind":"line","pts":[[-771.04,2131.47],[-804.14,1878.68],[-887.12,1622.53],[-990.05,1365.03],[-1092.99,1107.53],[-1156.01,852.72],[-1159.17,601.94],[-1042.6,359.23],[-786.35,125.91],[-510.15,-106.06],[-273.85,-340.71],[-107.39,-580.07],[-20.76,-824.8],[-53.85,-1077.6],[-176.74,-1336.44],[-319.58,-1596.62],[-415.9,-1803.56],[-465.69,-1957.25]],"label":"conservative route","path":"routes.conservative","route":"conservative"},{"layer":"routes","kind":"point","pts":[[-1162.53,651.83]],"label":"decision beats:inland_bench","path":"routes.decisions.beats.inland_bench","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-646.53,431.0]],"label":"decision beats:split_scar","path":"routes.decisions.beats.split_scar","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-315.34,-468.79]],"label":"decision beats:seaward_l2","path":"routes.decisions.beats.seaward_l2","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-249.84,-1441.59]],"label":"decision beats:inland_return","path":"routes.decisions.beats.inland_return","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-771.04,2131.47]],"label":"decision eyes:tee","path":"routes.decisions.eyes.tee","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-1162.53,651.83]],"label":"decision eyes:l1","path":"routes.decisions.eyes.l1","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-25.8,-749.97]],"label":"decision eyes:l2","path":"routes.decisions.eyes.l2","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-616.84,287.67]],"label":"decision hazard_witness_sites:split_scar","path":"routes.decisions.hazard_witness_sites.split_scar","mark":"decision"},{"layer":"routes","kind":"point","pts":[[195.29,-609.81]],"label":"decision hazard_witness_sites:seaward_beach","path":"routes.decisions.hazard_witness_sites.seaward_beach","mark":"decision"},{"layer":"routes","kind":"point","pts":[[-643.6,-1994.29]],"label":"decision hazard_witness_sites:approach_gate","path":"routes.decisions.hazard_witness_sites.approach_gate","mark":"decision"},{"layer":"cups","kind":"point","pts":[[-468.7,-2043.3]],"label":"cup 1","path":"cups.targets[0]","mark":"cup"},{"layer":"cups","kind":"point","pts":[[-409.2,-2133.5]],"label":"cup 2","path":"cups.targets[1]","mark":"cup"},{"layer":"cups","kind":"point","pts":[[-409.2,-2060.1]],"label":"cup 3","path":"cups.targets[2]","mark":"cup"},{"layer":"cups","kind":"point","pts":[[-460.2,-2133.3]],"label":"cup 4","path":"cups.targets[3]","mark":"cup"},{"layer":"cups","kind":"point","pts":[[-484.2,-1999.8]],"label":"cup 5","path":"cups.targets[4]","mark":"cup"},{"layer":"cups","kind":"point","pts":[[-515.0,-2081.1]],"label":"cup 6","path":"cups.targets[5]","mark":"cup"},{"layer":"tee","kind":"point","pts":[[-741.11,2133.49]],"label":"tee marker","path":"tee.marker_xz","mark":"tee"},{"layer":"tee","kind":"point","pts":[[-756.0,2149.8]],"label":"player","path":"tee.player_xz","mark":"player"}],"heat":null,"surface_reason":"grade-solved surface requires a build; no read-only surface is available","mesh":null,"stock_card":"stock/h12-fc8.png","height_kinds":["axis_profile","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","station_crossfall","plateau","shelf","donor_blend","weighted"],"source":"golf-engine/contracts/h12/hole-contract.json","contract":{"schema":"hole-contract-1","identity":{"hole":"h12","native_slot":12,"course_id":"fc8","par":5,"water_profile":3,"source_archive":{"path":"work/derived/stock-u8/fc8.u8","sha256":"28a13dc40acfd11e6888a3c98feac8294634d6593ccfbf585cb46d71cea0140a"},"predecessor_manifest":{"retired":"hole/h12-port/donor-before/course-pack.json","sha256":"606fb19fc39884ef09933600c382f965e490d1acbb68989281eb3d08c7ec5119"},"notes":["source_archive re-pinned from the retention-deletable build/h12-windward-fork-v2/author/source.u8 to work/derived/stock-u8/fc8.u8: both have sha256 28a13dc4... (stock fc8, 2,298,584 bytes; checked byte-equal), and the second is regenerated by tools/prep.py.","predecessor_manifest: the donor-emitter candidate pack (Phase 5, U8 e48740d0..., CARC a05d9737..., 3,235,608 live bytes) that the Phase 9 step 2 ground-emitter port replaces; pinned at its frozen copy in build/hole/h12-port/donor-before/ because rebuilding H12 overwrites build/hole/h12-pack/."]},"frame":{"convention":"route-local","bounds":[-350.0,-1250.0,4700.0,1750.0],"domain":[[1458.8921,-1159.511],[1272.7791,-946.5275],[1073.2308,-933.0923],[873.6826,-919.6571],[692.9255,-843.272],[678.709,-838.2757],[659.7535,-831.6173],[687.5695,-706.6736],[488.0212,-693.2384],[288.473,-679.8032],[102.3599,-466.8198],[79.135,-304.8938],[33.2888,-301.8071],[-46.5305,-296.433],[-126.3498,-291.0589],[-206.1691,-285.6848],[-200.2094,-205.5041],[-194.8353,-125.6848],[-275.2402,-120.6722],[-269.8662,-40.8529],[-264.4921,38.9664],[-259.118,118.7857],[-253.7439,198.6051],[-173.339,193.5924],[-88.7312,267.6762],[-8.9119,262.3021],[70.9074,256.928],[150.6801,251.6072],[235.6595,326.2973],[315.2826,320.9866],[395.163,315.4781],[475.2596,309.9049],[472.9498,275.1516],[535.4619,305.8316],[555.1973,304.5028],[754.7455,291.0676],[914.3562,88.468],[931.8091,78.6935],[944.9065,71.3671],[1140.4068,64.649],[1339.9551,51.2138],[1539.5033,37.7786],[1552.9385,237.3268],[1652.7127,230.6092],[1752.4868,223.8916],[1759.2044,323.6657],[1765.922,423.4399],[1965.4703,410.0047],[2076.3805,639.8434],[2165.528,586.3439],[2258.2577,557.3192],[2263.927,571.2598],[2271.4831,589.8542],[2291.5406,633.2461],[2305.5205,677.9286],[2310.9052,724.4363],[2310.2122,772.2346],[2274.3953,830.2015],[2279.7694,910.0209],[2283.325,962.8313],[2199.9501,915.3949],[2247.359,992.3841],[2205.3241,995.2142],[2207.3468,1025.2562],[2125.5048,1000.5883],[2130.0029,1067.3971],[2045.6855,1005.9624],[2087.5271,1083.3264],[2051.0596,1085.7817],[2051.7965,1096.7269],[1971.2403,1091.1558],[1975.0962,1148.4261],[1891.421,1096.5299],[1944.4871,1173.1382],[1896.7951,1176.3492],[1899.0495,1209.8334],[1816.9758,1181.7232],[1821.6572,1261.2284],[1742.5306,1266.9166],[1745.3607,1308.9515],[1662.7113,1272.2907],[1651.6285,1358.069],[1588.266,1357.4841],[1517.4563,1362.2516],[1582.892,1277.6648],[1494.0881,1352.9403],[1503.0727,1283.0389],[1424.1898,1302.3215],[1423.2534,1288.413],[1410.163,1289.2943],[1417.8793,1208.5937],[1412.4892,1128.6852],[1492.3245,1123.4003],[1422.3664,1075.9125],[1486.9504,1043.581],[1403.3289,992.4829],[1401.757,969.1357],[1388.8862,970.0023],[1396.3829,889.3164],[1318.1812,918.7161],[1316.5636,894.6905],[1274.1097,897.5489],[1231.3703,820.2453],[1199.3033,863.4971],[1151.551,825.6194],[1072.1858,837.7382],[1071.7317,830.9935],[1048.7237,832.5425],[986.5383,756.5482],[907.5425,774.1546],[906.719,761.9223],[885.058,763.3807],[821.5256,687.4771],[826.3925,759.7635],[741.7063,692.8512],[801.1779,769.0282],[747.0804,772.6705],[749.3301,806.0848],[667.2611,778.0446],[715.8972,854.9511],[672.6351,857.8639],[700.7746,896.0599],[678.0092,937.6832],[702.0448,970.4526],[683.3833,1017.5025],[727.8671,1067.868],[688.7574,1097.3218],[770.7794,1124.6636],[773.9508,1171.767],[855.9037,1164.8862],[859.1442,1246.2122],[935.5355,1189.9234],[938.9635,1240.8381],[1016.6106,1238.0358],[1024.1568,1315.2834],[1083.1932,1311.3086],[1029.5309,1395.1027],[1105.757,1336.3594],[1109.3502,1389.7286],[1191.9983,1426.3694],[1194.5436,1464.1738],[1232.2482,1461.6352],[1199.9177,1543.9931],[1277.8708,1510.9018],[1279.737,1538.619],[1297.1077,1537.4495],[1285.1111,1618.4383],[1363.0347,1584.908],[1364.9304,1613.0643],[1433.545,1608.4446],[1370.3045,1692.8836],[1445.0627,1612.3396],[1450.1238,1687.5095],[1485.54,1618.0835],[1529.9431,1682.1354],[1558.4746,1613.7643],[1609.7624,1676.7613],[1605.1333,1608.007],[1689.5817,1671.3872],[1713.8305,1589.5735],[1764.0269,1586.1938],[1763.5929,1579.7484],[1843.8462,1580.8198],[1843.1207,1570.0442],[1923.6655,1575.4457],[1922.2904,1555.0219],[2003.4848,1570.0716],[2041.6422,1487.3214],[2077.93,1484.8782],[2076.8841,1469.3434],[2157.7493,1479.5041],[2208.5381,1395.9035],[2232.1945,1394.3107],[2230.0557,1362.5427],[2306.6398,1309.1174],[2262.7928,1231.8884],[2301.2657,1229.2981],[2331.5409,1147.0786],[2375.7109,1144.1047],[2455.2702,1134.8693],[2455.5302,1138.7306],[2460.9043,1218.5499],[2535.9716,1142.5956],[2540.7236,1213.1758],[2577.8346,1143.4654],[2620.5429,1207.8017],[2616.0508,1141.0828],[2700.3622,1202.4277],[2779.2531,1183.2648],[2780.1815,1197.0536],[2812.0793,1194.906],[2865.3749,1271.4988],[2900.1818,1208.0573],[2945.1942,1266.1247],[2974.8149,1206.1895],[3025.0135,1260.7506],[3104.4922,1250.318],[3104.8328,1255.3765],[3190.0262,1329.8218],[3235.3606,1251.5496],[3269.8455,1324.4477],[3264.4714,1244.6284],[3344.2907,1239.2543],[3343.2703,1224.0986],[3424.11,1233.8802],[3421.1583,1190.0395],[3503.9293,1228.5061],[3483.0204,1149.7328],[3498.5552,1148.6868],[3496.7569,1121.9773],[3578.3745,1143.3128],[3507.1296,1067.9284],[3573.0004,1063.4935],[3503.3419,988.0023],[3567.6264,983.6742],[3547.5855,904.8423],[3562.2523,903.8549],[3560.5722,878.9013],[3636.6975,818.6615],[3588.3116,791.4704],[3631.3234,738.8422],[3705.7686,653.6488],[3785.5879,648.2747],[3860.0332,563.0813],[3905.2016,507.5015],[3960.2036,524.886],[3935.5102,493.2132],[3986.2765,508.8683],[3953.645,476.5975],[4014.2977,472.5138],[4094.117,467.1398],[4173.9363,461.7657],[4168.5622,381.9464],[4253.7556,456.3916],[4333.5749,451.0175],[4408.0201,365.8241],[4487.8394,360.4501],[4482.4653,280.6308],[4397.2719,206.1855],[4477.0913,200.8115],[4471.7172,120.9921],[4468.1011,67.2837],[4551.5365,115.6181],[4480.1618,40.2425],[4546.1624,35.7988],[4489.9898,-2.5444],[4540.7883,-44.0205],[4627.5818,-49.8642],[4626.3783,-129.9643],[4627.4428,-170.1265],[4530.0401,-203.6591],[4524.6661,-283.4784],[4519.292,-363.2977],[4439.4727,-357.9237],[4359.6534,-352.5496],[4274.46,-426.9948],[4194.6407,-421.6207],[4200.0148,-341.8014],[4204.1844,-279.8716],[4120.1955,-336.4273],[4148.3979,-258.145],[4125.5696,-256.608],[4040.3762,-331.0533],[3960.5569,-325.6792],[3955.1828,-405.4985],[3880.7376,-320.3051],[3798.3353,-322.0335],[3721.099,-309.5569],[3521.5507,-296.1217],[3321.3191,-283.0114],[3335.4377,-83.1383],[3135.8894,-69.7031],[3020.2212,-61.9153],[2997.2683,29.1723],[2979.1168,19.3394],[2965.5108,11.9668],[2936.3411,-56.2679],[2736.7929,-42.8327],[2523.8094,-228.9457],[2417.3177,-322.0022],[2310.826,-415.0588],[2097.8425,-601.1718],[1884.859,-787.2849],[1671.8756,-973.3979]],"local_frame":{"origin":[-741.1109008789062,2133.48779296875],"forward":[0.067176,-0.997741],"right":[0.997741,0.067176]},"notes":["World = origin + s*forward + t*right (back_nine_h10_h12.world for fc8).","Phase 9 step 2 (2026-10-25): domain = the height survey's outline O (h12-port/survey/height-field.md Proposal: per-station union of envelope, route, three bunkers, tee box and green box, widened 30) with its green box replaced by the stock fringe outline widened 25 and the green_approach region widened 20 (O'), widened by the blend width W 90, notched 12 clear of the stock greenside_left and greenside_back bunkers (they stay stock outside), traced by marching squares on a 4-unit signed-distance grid and thinned by Douglas-Peucker at 3.0 (115 vertices; scratch h12-step2/contract/domain.py). O's green box could not be widened: its corner (4405, -180) lies inside stock greenside_back and its edge t 185 is 8 from greenside_left. It sits in the bay of fc8's C-shaped land (contract-brief verdict 1); stock ground outside it is kept by the restore_native_draws merges.","bounds = the domain's bounding box widened 50 and rounded outward to 50.","The donor-era domain (h12_full_reroute.authored_envelope_outline(), the 18 ROUTE stations at width/2 + 180, 36 points) survives only as the clip of the three bunker regions (contract-brief decision B).","Build 2 (2026-10-26): the domain is snapped outward to stock triangle edges: the union of the 2,325 stock fc8 course ground faces with X/Z area (M_Fairway, M_Rough, M_Bunker, M_OB, M_Green, M_Color, M_Iwa) that touch the traced domain above, except stock M_Bunker, M_Color and M_Green faces whose centroid lies outside it (the stock greenside_left and greenside_back bunkers stay stock), grown once by the course face under two KCL fairway prisms that crossed it; one 177-vertex loop that contains the traced domain (it reaches up to 231 units beyond it, never inside). The drop_inside restores, the outside_domain merges and collision.preserve_outside_domain keep a stock face by its centroid, so the traced edge, which cuts stock faces, left 118,232 square units of course and 118,600 of KCL uncovered just outside it (M_OB 92 K, fairway 16 K, rough 9 K) where straddling faces were dropped, and a centroid-inside snap retracts up to 115 units into the 90-unit blend (rim step 11.2). On these edges no course or KCL face straddles and the blend has reached stock at the rim (rim_seal max_step 1.10). bounds recomputed from it (scratch h12-build2/domain_snap.py touch).","Decision J (owner default: the shoulders are rough, not OOB) with the snapped domain: the domain reaches up to 231 units beyond the traced outline (768,604 square units more), and inside that extension 571,572 square units of stock M_OB (and 114,452 of stock rough, 74,436 of stock fairway, 8,144 of rock) become authored rough (base role). The OOB boundary therefore sits farther out than the donor candidate's, which kept every stock M_OB face (stock fc8 0x0104 4,122 prisms; build 2 3,821, all outside the domain).","Build 5 (2026-10-26, owner defects 1 and 4): the build-4 snap left stock fairway faces just outside the domain (the outside_domain merges keep a stock face by its centroid): strips with their M_Kiwa_Black rim band behind the green against the stock greenside bunkers (and those bunkers' fairway-coloured M_Kiwa_F shelves), a 148-unit sliver at (3942, 486) and the staircase edge of fc8's own fairway (541 faces, s 719-3578, t 606-1613) cut by the domain. The domain is re-snapped by material (scratch h12-build5/resnap.py): that fairway and the green-complex fairway (410 faces) join it whole, with the stock rough faces that host their M_Kiwa_Black band (146 and 24) so the band is dropped, the stock greenside_left and greenside_back bunkers join it with two rings of faces around them (they are authored now, regions notes), plus 18 rough faces at T-junctions and in a notch on the bunker rims found by the straddle check; 4,071 course faces, one 284-vertex loop, no course, map or KCL ground face straddles it, and it contains the traced domain. Excluding fc8's fairway instead puts the rim inside the route's shoulder, where it steps 71 units off stock at (3301, 601). Every stock fairway and bunker face now lies inside the domain, so the seams outside are stock rough, rock or OB; the authored-rough/stock-OB seam still follows stock OB triangle edges (builder gap: restores choose whole stock faces). bounds recomputed.","Domain vertices 53-55 (2026-10-27, H12 wall ends): a half-sine bow 15 units into the domain between vertices 52 and 56, kept verbatim (span [52, 56] dropped from outlines.domain.spans). Smoothing at radius 200 had made that rim one 186-unit straight line, a 140-unit oob/rough straight run past wall end W1 that failed boundary_shape before the wall ends too. Vertex count and every other index are unchanged."]},"routes":{"conservative":[[0.0,-30.0],[250.0,-80.0],[500.0,-180.0],[750.0,-300.0],[1000.0,-420.0],[1250.0,-500.0],[1500.0,-520.0],[1750.0,-420.0],[2000.0,-180.0],[2250.0,80.0],[2500.0,300.0],[2750.0,450.0],[3000.0,520.0],[3250.0,470.0],[3500.0,330.0],[3750.0,170.0],[3950.0,60.0],[4100.0,0.0]],"aggressive":null,"donor":null,"notes":["conservative = ROUTE (s, centre); the 18 station widths and delta_y live in values.json (delta_y is read by nothing). decisions are the named points of h12_full_reroute.measure_player_height_decisions (a test-only gate, eye height 55)."],"decisions":{"beats":{"inland_bench":[1450.0,-520.0],"split_scar":[1705.0,-20.0],"seaward_l2":[2625.0,250.0],"inland_return":[3600.0,250.0]},"eyes":{"tee":[0.0,-30.0],"l1":[1450.0,-520.0],"l2":[2925.0,520.0]},"hazard_witness_sites":{"split_scar":[1850.0,0.0],"seaward_beach":[2800.0,750.0],"approach_gate":[4125.0,-180.0]}}},"regions":{"base_role":"rough","priority":{"rule":"later-wins"},"items":[{"name":"route","role":"fairway","polygon":[[0.0,-75.0],[250.0,-135.0],[500.0,-255.0],[750.0,-395.0],[1000.0,-535.0],[1250.0,-640.0],[1500.0,-670.0],[1750.0,-540.0],[2000.0,-280.0],[2250.0,-35.0],[2500.0,170.0],[2750.0,300.0],[3000.0,380.0],[3250.0,350.0],[3500.0,230.0],[3750.0,80.0],[3950.0,-20.0],[3975.0,-28.75],[4040.0,-75.0],[4125.0,-82.0],[4128.0,84.0],[4045.0,108.0],[3975.0,128.75],[3950.0,140.0],[3750.0,260.0],[3500.0,430.0],[3250.0,590.0],[3000.0,660.0],[2750.0,600.0],[2500.0,430.0],[2250.0,195.0],[2000.0,-80.0],[1750.0,-300.0],[1500.0,-370.0],[1250.0,-360.0],[1000.0,-305.0],[750.0,-205.0],[500.0,-105.0],[250.0,-25.0],[0.0,15.0]]},{"name":"tee_pad","role":"fairway","polygon":[[-64.6,-6.9],[-60.4,-28.3],[-48.2,-46.5],[-30.1,-58.6],[45.886024225982965,-89.33440418403838],[95.9872049795656,-5.363296401715551],[12.8,44.9],[-8.6,49.1],[-30.1,44.9],[-48.2,32.7],[-60.4,14.6]]},{"name":"split-scar","role":"bunker","polygon":[[2093.53,42.34],[2116.13,61.49],[2139.96,79.0],[2163.55,96.87],[2185.32,117.36],[2208.58,134.87],[2232.52,151.82],[2250.08,176.03],[2254.95,205.82],[2249.78,235.66],[2234.53,262.01],[2209.78,279.18],[2182.42,278.89],[2157.9,268.06],[2135.84,249.32],[2115.55,227.82],[2094.15,207.31],[2071.45,187.99],[2052.61,165.2],[2036.37,139.89],[2016.92,117.48],[1995.01,97.51],[1973.99,76.65],[1951.5,57.38],[1925.97,41.52],[1902.32,23.66],[1882.43,1.54],[1861.94,-19.93],[1839.98,-39.74],[1819.62,-61.35],[1798.56,-82.49],[1772.25,-97.11],[1744.62,-108.39],[1718.53,-121.53],[1691.39,-132.99],[1663.82,-144.13],[1639.13,-160.82],[1631.09,-168.93],[1623.59,-177.52],[1618.86,-187.84],[1619.18,-199.09],[1625.14,-208.73],[1633.69,-216.29],[1643.11,-222.71],[1653.13,-228.18],[1663.3,-233.37],[1692.12,-240.71],[1722.09,-244.36],[1751.9,-238.85],[1777.76,-223.0],[1801.17,-205.2],[1825.22,-188.73],[1847.56,-169.55],[1869.28,-149.48],[1893.51,-132.11],[1917.72,-114.71],[1937.53,-92.61],[1956.04,-69.1],[1977.18,-48.42],[1998.39,-27.8],[2018.68,-6.08],[2042.69,11.54],[2069.33,25.58]]},{"name":"seaward-beach","role":"bunker","polygon":[[2634.09,651.18],[2662.17,661.11],[2689.69,672.72],[2716.12,687.02],[2743.84,697.76],[2773.36,704.33],[2802.17,712.23],[2830.05,722.51],[2858.69,730.39],[2887.33,737.35],[2916.63,743.96],[2947.25,744.77],[2976.04,734.67],[3002.6,720.24],[3030.24,709.01],[3057.69,697.22],[3084.86,684.48],[3113.75,676.68],[3143.87,672.76],[3172.78,665.3],[3200.62,654.52],[3229.02,645.49],[3257.3,636.01],[3284.57,623.05],[3312.55,612.3],[3342.76,608.01],[3363.28,616.02],[3370.53,624.37],[3375.01,644.04],[3367.18,671.89],[3351.2,695.76],[3332.3,717.59],[3310.27,738.16],[3284.3,753.36],[3255.96,763.47],[3227.97,773.98],[3199.83,783.92],[3170.47,790.22],[3141.65,797.75],[3114.51,810.65],[3086.98,823.13],[3057.6,829.33],[3027.74,832.67],[2997.68,834.2],[2968.04,828.79],[2939.21,819.8],[2909.92,815.18],[2879.98,813.39],[2850.59,808.14],[2821.62,800.88],[2792.21,794.41],[2764.11,783.79],[2738.95,766.76],[2714.03,750.16],[2687.41,737.0],[2661.46,722.5],[2636.63,706.1],[2609.93,692.35],[2583.09,678.8],[2559.75,660.08],[2537.27,640.14],[2514.2,621.51],[2507.82,613.21],[2509.17,602.83],[2517.47,596.45],[2527.85,597.8],[2553.67,612.59],[2581.32,624.18],[2607.77,637.33]]},{"name":"approach-gate","role":"bunker","polygon":[[4209.34,-180.79],[4206.66,-173.09],[4195.09,-164.77],[4148.78,-159.63],[4130.07,-151.58],[4116.95,-141.22],[4100.98,-117.06],[4084.37,-107.51],[4068.89,-105.93],[4061.01,-109.48],[4054.78,-114.06],[4048.38,-125.35],[4048.91,-145.69],[4045.9,-166.05],[4057.6,-186.97],[4073.81,-199.8],[4129.6,-226.27],[4150.8,-247.23],[4163.36,-248.24],[4177.18,-240.19],[4190.5,-237.49],[4198.14,-233.02],[4206.42,-218.72],[4205.67,-194.05]]},{"name":"greenside-left","role":"bunker","polygon":[[4363.16,217.33],[4369.17,225.74],[4369.99,236.72],[4363.23,248.65],[4340.6,259.6],[4328.49,275.17],[4305.77,281.25],[4290.33,290.41],[4270.02,295.07],[4246.55,311.21],[4216.96,311.41],[4195.46,320.63],[4184.89,319.75],[4157.72,308.56],[4139.99,294.53],[4132.9,284.91],[4132.78,261.66],[4146.08,249.85],[4159.35,245.11],[4192.14,244.41],[4232.05,230.51],[4261.2,207.08],[4285.42,196.24],[4310.08,192.98],[4329.76,195.56],[4350.41,212.88]]},{"name":"greenside-back","role":"bunker","polygon":[[4476.74,-114.81],[4472.84,-104.16],[4446.76,-87.6],[4443.56,-76.62],[4446.11,-65.31],[4453.6,-56.57],[4463.98,-51.39],[4472.5,-43.79],[4471.81,-32.53],[4466.26,-22.32],[4459.82,-12.61],[4449.24,-4.56],[4435.93,-1.23],[4419.32,-7.02],[4407.46,-21.35],[4401.84,-34.67],[4399.48,-75.32],[4385.81,-113.77],[4358.42,-154.8],[4340.83,-169.3],[4320.58,-180.56],[4310.66,-195.93],[4306.1,-210.13],[4305.16,-239.51],[4307.89,-253.95],[4313.89,-262.8],[4328.12,-270.23],[4365.25,-269.42],[4375.34,-265.68],[4388.28,-249.24],[4405.78,-245.25],[4410.53,-239.59],[4415.76,-214.61],[4422.16,-202.09],[4444.6,-183.18],[4445.53,-172.63],[4440.15,-157.04],[4440.43,-147.13],[4449.6,-138.73],[4470.63,-133.5],[4474.83,-127.1]]},{"name":"fringe","role":"fringe","polygon":[[4112.0,72.6],[4104.5,55.1],[4091.4,9.8],[4085.7,-25.3],[4086.3,-40.1],[4089.6,-55.0],[4096.0,-69.1],[4108.7,-87.1],[4126.1,-102.2],[4138.6,-108.7],[4151.2,-112.9],[4174.4,-117.6],[4217.8,-118.9],[4236.4,-116.2],[4263.1,-108.3],[4280.8,-99.8],[4297.0,-89.2],[4316.9,-68.8],[4335.4,-37.0],[4349.3,-1.0],[4355.9,27.2],[4356.6,42.8],[4353.9,58.5],[4343.6,79.5],[4332.0,91.4],[4320.2,100.4],[4300.7,111.9],[4277.3,120.4],[4231.8,125.5],[4206.6,124.6],[4179.9,119.6],[4148.4,106.4],[4137.4,100.1],[4125.0,90.2]]},{"name":"green","role":"green","polygon":[[4101.1,7.1],[4097.1,-12.8],[4096.3,-38.9],[4104.4,-63.8],[4117.0,-81.6],[4131.9,-93.4],[4154.3,-102.5],[4175.5,-107.2],[4191.4,-108.8],[4217.1,-108.8],[4234.2,-105.9],[4259.4,-98.3],[4282.4,-86.7],[4299.6,-73.2],[4317.1,-49.9],[4331.5,-20.0],[4343.0,14.3],[4345.9,29.5],[4346.0,44.4],[4339.4,66.1],[4330.1,79.1],[4314.5,92.1],[4295.5,103.3],[4280.6,109.5],[4266.0,113.1],[4231.7,115.8],[4198.2,113.5],[4175.1,107.6],[4153.3,97.9],[4138.3,88.5],[4129.0,79.7],[4121.1,68.3],[4115.6,56.6]]}],"notes":["Phase 9 step 2: base_role rough; the domain's ground outside the regions (the 90-unit blend ring, the tee and green surrounds) is rough. No oob region: stock M_OB is restored, and the builder would overwrite an emitted M_OB draw with a plain restore and refuses drop_inside on one (contract-brief section 2 item 1 against sections 5 and 7; open question).","Sand polygons use role `bunker` (the builder refuses role `sand`; both serialize as bunker, KCL 0x0103, M_Bunker). Pass order is route, tee_pad, split-scar, seaward-beach, approach-gate, greenside-left, greenside-back, fringe, green (later wins). route = ROUTE[:-1] + RouteStation(3975, 50, 157.5) at width/2 as in h12_full_reroute.build(), and since build 5 its square end at s 3975 continues as the former green_approach flare (s 4040 t -75, s 4125 t -82, s 4128 t 84, s 4045 t 108) into the fringe front, one fairway outline: two overlapping fairway polygons met at the s 3975 end edge and meshed a sliver fan there (40 vertices).","split-scar and seaward-beach are the declared polygons (hazards) clipped to the donor-era 36-point domain (contract-brief decision B; green-cups-bunkers.md F6). Build 5 (owner defect 2): the clip left straight runs and corners; each is smoothed (hole_outlines.smooth, spacing 30, radius 60) and given a two-harmonic wobble of 6 units along its normal, tapered where the sand is under 40 wide, and is excluded from construction.outlines. seaward-beach's west tail (s 2425-2500, under 26 wide at s 2450, a point at its tip) ends at s 2458 in a rounded cap. Scratch h12-build5/edit5.py natural().","fringe and green are the stock fc8 outlines (KCL 0x0109 / 0x0106 boundary walks simplified at 1.0, green-cups-bunkers.md P1); both are excluded from construction.outlines (spacing 100 would resample them to 12 vertices). tee_pad is the 16-gon of radius 56 about the marker/player midpoint (P4). green_approach (new) carries the fairway from s 3900 on the route edges past the route end (s 3975) onto the fringe, as the frozen route table runs to s 4100 at width 150 and stock fairway surrounds the fringe.","Stock greenside bunkers (build 5, owner defects 1 and 3). greenside_front (s 3904-4007, t -165..46) stays dropped: it lay under the fairway approach. greenside-left (t 197-317) and greenside-back (s 4309-4473) are authored bunker regions on their stock sand outlines (the M_Bunker component boundaries, Douglas-Peucker 2.0: 26 and 38 vertices; excluded from outlines), so they are ringed by authored rough and take native_finish lips with M_Kiwa_R shelves; as stock outside the domain they kept the stock fairway around them and their M_Kiwa_F shelves, the strips behind the green. approach-gate moves to the green's front-left: the stock greenside_front outline (a stock WSR greenside shape, 17,872 square units, 103 x 211) rotated 62 degrees about its centroid to face the green centre, scaled 0.85 (12,900 square units) and centred at (4125, -180), 28 units of rough from the fringe and 56 from the smoothed fairway; build 4's approach-gate was the declared wedge (s 3680-3975) clipped to the old domain, a straight-sided strip with a point. hazards[approach-gate] and routes.decisions.hazard_witness_sites approach_gate follow it. All three read the stock ground (height notes).","The donor-era `envelope` region (rough, ROUTE[1:-1] + RouteStation(3975, 50, 157.5) at width/2 + 180, 34 points; the 180 shoulder is a literal in build(), an overseer decision) is not a region on the ground emitter: its role equals base_role rough, and its edges coincide with the bunkers' clip edges (the donor-era domain is the same station outline), which naturalized apart into slivers that meshed 9,303 triangles against 2,280 without it. The shoulder survives as the extent of outline O (frame notes) and of the bunker clip.","Owner decision (2026-10-26, build 3): the green stays ringed by rough. Build 2 restored the stock fc8 fairway around the green as a green_surround fairway region (about 68.6 KB, fairway triangles 569 to 1,067); the owner reverted it to rough to save bytes. green_approach stays the only fairway at the green.","Build 5: green_approach is merged into route (pass-order note). No stock fairway remains anywhere on the course: the green is ringed by rough (owner decision 2026-10-26) and fc8's own fairway, cut by the domain in build 4, is authored rough (frame notes)."]},"height":{"kind":"composite","base":null,"reproduces":null,"primitives":[{"name":"route_grid_mid","kind":"axis_profile","params":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-2.515],[-100.0,-3.355],[-50.0,-4.105],[0.0,-4.65],[50.0,-5.705],[100.0,-6.715],[150.0,-7.52],[200.0,-8.735],[250.0,-10.715],[300.0,-12.2],[350.0,-12.215],[400.0,-11.675],[450.0,-10.64],[500.0,-9.405],[550.0,-9.18],[600.0,-10.525],[650.0,-9.435],[700.0,6.66],[750.0,25.675],[800.0,24.31],[850.0,22.035],[900.0,25.865],[950.0,49.23],[1000.0,63.73],[1050.0,69.115],[1100.0,72.92],[1150.0,76.085],[1200.0,78.795],[1250.0,81.785],[1300.0,85.76],[1350.0,88.795],[1400.0,90.485],[1450.0,92.24],[1500.0,94.975],[1550.0,97.16],[1600.0,97.705],[1650.0,98.05],[1700.0,98.505],[1750.0,98.645],[1800.0,98.65],[1850.0,98.905],[1900.0,99.98],[1950.0,102.145],[2000.0,103.365],[2050.0,103.92],[2100.0,103.985],[2150.0,103.655],[2200.0,101.655],[2250.0,83.055],[2300.0,49.665],[2350.0,45.105],[2400.0,46.815],[2450.0,45.395],[2500.0,43.23],[2550.0,41.02],[2600.0,38.5],[2650.0,35.73],[2700.0,32.87],[2750.0,29.64],[2800.0,25.645],[2850.0,22.46],[2900.0,21.71],[2950.0,13.87],[3000.0,-18.615],[3050.0,-34.155],[3100.0,-36.415],[3150.0,-37.815],[3200.0,-40.47],[3250.0,-43.58],[3300.0,-46.89],[3350.0,-49.585],[3400.0,-51.24],[3450.0,-53.01],[3500.0,-54.92],[3550.0,-56.855],[3600.0,-57.85],[3650.0,-56.92],[3700.0,-54.94],[3750.0,-55.735],[3800.0,-53.175],[3850.0,-52.09],[3900.0,-50.275],[3950.0,-48.265],[4000.0,-47.2],[4050.0,-47.535],[4100.0,-47.98],[4150.0,-47.185],[4200.0,-45.34],[4250.0,-42.125],[4300.0,-37.985],[4350.0,-33.755],[4400.0,-30.24],[4450.0,-27.025]]}},{"name":"route_grid_d-475","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-505.0],[250.0,-555.0],[500.0,-655.0],[750.0,-775.0],[1000.0,-895.0],[1250.0,-975.0],[1500.0,-995.0],[1750.0,-895.0],[2000.0,-655.0],[2250.0,-395.0],[2500.0,-175.0],[2750.0,-25.0],[3000.0,45.0],[3250.0,-5.0],[3500.0,-145.0],[3750.0,-305.0],[3950.0,-415.0],[4100.0,-475.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0032],[-100.0,-0.0004],[-50.0,0.0],[0.0,-0.0018],[50.0,-0.0034],[100.0,-0.0026],[150.0,-0.012],[200.0,-0.023],[250.0,-0.0256],[300.0,-0.0274],[350.0,-0.0264],[400.0,-0.0294],[450.0,-0.0352],[500.0,-0.0358],[550.0,-0.0322],[600.0,-0.0466],[650.0,-0.1852],[700.0,-0.4876],[750.0,-0.192],[800.0,-0.0908],[850.0,-0.109],[900.0,-0.1148],[950.0,-0.113],[1000.0,-0.1164],[1050.0,-0.112],[1100.0,-0.0586],[1150.0,0.0094],[1200.0,0.0482],[1250.0,0.064],[1300.0,0.0372],[1350.0,0.003],[1400.0,-0.0036],[1450.0,-0.0014],[1500.0,-0.0006],[1550.0,-0.0004],[1600.0,-0.0004],[1650.0,-0.0006],[1700.0,-0.0006],[1750.0,-0.0008],[1800.0,-0.0006],[1850.0,-0.0012],[1900.0,-0.0014],[1950.0,-0.001],[2000.0,-0.0016],[2050.0,-0.0062],[2100.0,-0.0104],[2150.0,-0.0106],[2200.0,-0.0128],[2250.0,-0.0188],[2300.0,-0.0182],[2350.0,-0.0166],[2400.0,-0.0196],[2450.0,-0.0168],[2500.0,-0.0082],[2550.0,-0.0078],[2600.0,-0.0104],[2650.0,-0.007],[2700.0,0.009],[2750.0,0.0216],[2800.0,0.0132],[2850.0,0.0234],[2900.0,-0.1],[2950.0,-0.7212],[3000.0,-0.4854],[3050.0,-0.0176],[3100.0,0.039],[3150.0,0.0078],[3200.0,-0.0024],[3250.0,-0.0004],[3300.0,-0.001],[3350.0,-0.009],[3400.0,-0.0162],[3450.0,-0.0184],[3500.0,-0.0224],[3550.0,-0.0258],[3600.0,-0.0244],[3650.0,-0.0278],[3700.0,-0.0402],[3750.0,-0.0556],[3800.0,-0.0594],[3850.0,-0.0476],[3900.0,-0.048],[3950.0,-0.0684],[4000.0,-0.0936],[4050.0,-0.0956],[4100.0,-0.0888],[4150.0,-0.085],[4200.0,-0.0816],[4250.0,-0.0818],[4300.0,-0.0846],[4350.0,-0.092],[4400.0,-0.0998],[4450.0,-0.1004]]}}},{"name":"route_grid_d-425","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-455.0],[250.0,-505.0],[500.0,-605.0],[750.0,-725.0],[1000.0,-845.0],[1250.0,-925.0],[1500.0,-945.0],[1750.0,-845.0],[2000.0,-605.0],[2250.0,-345.0],[2500.0,-125.0],[2750.0,25.0],[3000.0,95.0],[3250.0,45.0],[3500.0,-95.0],[3750.0,-255.0],[3950.0,-365.0],[4100.0,-425.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0022],[-100.0,-0.0004],[-50.0,-0.0004],[0.0,0.0004],[50.0,0.0012],[100.0,0.0002],[150.0,-0.0056],[200.0,-0.012],[250.0,-0.0166],[300.0,-0.0238],[350.0,-0.0316],[400.0,-0.0372],[450.0,-0.0388],[500.0,-0.0382],[550.0,-0.0354],[600.0,-0.0228],[650.0,-0.0448],[700.0,-0.3372],[750.0,-0.4378],[800.0,-0.0858],[850.0,-0.0836],[900.0,-0.113],[950.0,-0.1196],[1000.0,-0.1284],[1050.0,-0.1392],[1100.0,-0.1264],[1150.0,-0.0684],[1200.0,-0.034],[1250.0,-0.0208],[1300.0,-0.0124],[1350.0,0.006],[1400.0,0.0136],[1450.0,0.0148],[1500.0,0.0142],[1550.0,0.0126],[1600.0,0.008],[1650.0,0.0042],[1700.0,0.003],[1750.0,0.0018],[1800.0,0.0008],[1850.0,0.0004],[1900.0,0.0002],[1950.0,-0.0008],[2000.0,-0.0052],[2050.0,-0.0094],[2100.0,-0.0098],[2150.0,-0.0092],[2200.0,-0.013],[2250.0,-0.0148],[2300.0,-0.0166],[2350.0,-0.0178],[2400.0,-0.0132],[2450.0,-0.0002],[2500.0,0.0032],[2550.0,-0.0052],[2600.0,-0.0056],[2650.0,0.0062],[2700.0,0.0178],[2750.0,0.0172],[2800.0,0.0518],[2850.0,0.0852],[2900.0,-0.3812],[2950.0,-0.7978],[3000.0,-0.1014],[3050.0,0.0422],[3100.0,0.0038],[3150.0,-0.0094],[3200.0,-0.0064],[3250.0,-0.0044],[3300.0,-0.0024],[3350.0,-0.0054],[3400.0,-0.015],[3450.0,-0.0194],[3500.0,-0.02],[3550.0,-0.0252],[3600.0,-0.0256],[3650.0,-0.0154],[3700.0,-0.0522],[3750.0,-0.0784],[3800.0,-0.0872],[3850.0,-0.0784],[3900.0,-0.0654],[3950.0,-0.068],[4000.0,-0.084],[4050.0,-0.101],[4100.0,-0.0968],[4150.0,-0.0942],[4200.0,-0.0878],[4250.0,-0.087],[4300.0,-0.0918],[4350.0,-0.0958],[4400.0,-0.0944],[4450.0,-0.09]]}}},{"name":"route_grid_d-375","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-405.0],[250.0,-455.0],[500.0,-555.0],[750.0,-675.0],[1000.0,-795.0],[1250.0,-875.0],[1500.0,-895.0],[1750.0,-795.0],[2000.0,-555.0],[2250.0,-295.0],[2500.0,-75.0],[2750.0,75.0],[3000.0,145.0],[3250.0,95.0],[3500.0,-45.0],[3750.0,-205.0],[3950.0,-315.0],[4100.0,-375.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0004],[-100.0,0.0004],[-50.0,0.0008],[0.0,0.002],[50.0,0.0036],[100.0,0.0066],[150.0,0.018],[200.0,0.0246],[250.0,0.0204],[300.0,0.0042],[350.0,-0.0198],[400.0,-0.033],[450.0,-0.0388],[500.0,-0.0414],[550.0,-0.042],[600.0,-0.0294],[650.0,-0.001],[700.0,-0.1354],[750.0,-0.6474],[800.0,-0.206],[850.0,-0.0576],[900.0,-0.0988],[950.0,-0.1282],[1000.0,-0.1366],[1050.0,-0.1396],[1100.0,-0.1452],[1150.0,-0.1186],[1200.0,-0.0632],[1250.0,-0.0458],[1300.0,-0.0404],[1350.0,-0.0044],[1400.0,0.0212],[1450.0,0.0184],[1500.0,0.017],[1550.0,0.021],[1600.0,0.0128],[1650.0,0.0142],[1700.0,0.0126],[1750.0,0.0114],[1800.0,0.0104],[1850.0,0.0128],[1900.0,0.0136],[1950.0,0.0094],[2000.0,0.0048],[2050.0,0.0116],[2100.0,0.0168],[2150.0,0.016],[2200.0,0.0236],[2250.0,0.0282],[2300.0,0.0128],[2350.0,0.0096],[2400.0,0.0144],[2450.0,0.022],[2500.0,0.0096],[2550.0,0.013],[2600.0,0.0292],[2650.0,0.0318],[2700.0,0.0042],[2750.0,0.0058],[2800.0,0.1184],[2850.0,-0.0866],[2900.0,-0.917],[2950.0,-0.266],[3000.0,0.0792],[3050.0,0.0434],[3100.0,0.0054],[3150.0,-0.0154],[3200.0,-0.0204],[3250.0,-0.0198],[3300.0,-0.0174],[3350.0,-0.0186],[3400.0,-0.0248],[3450.0,-0.0422],[3500.0,-0.0478],[3550.0,-0.0444],[3600.0,-0.041],[3650.0,-0.0318],[3700.0,-0.0792],[3750.0,-0.0946],[3800.0,-0.091],[3850.0,-0.1034],[3900.0,-0.0856],[3950.0,-0.0648],[4000.0,-0.0586],[4050.0,-0.0604],[4100.0,-0.066],[4150.0,-0.0738],[4200.0,-0.0824],[4250.0,-0.082],[4300.0,-0.0794],[4350.0,-0.0768],[4400.0,-0.074],[4450.0,-0.0714]]}}},{"name":"route_grid_d-325","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-355.0],[250.0,-405.0],[500.0,-505.0],[750.0,-625.0],[1000.0,-745.0],[1250.0,-825.0],[1500.0,-845.0],[1750.0,-745.0],[2000.0,-505.0],[2250.0,-245.0],[2500.0,-25.0],[2750.0,125.0],[3000.0,195.0],[3250.0,145.0],[3500.0,5.0],[3750.0,-155.0],[3950.0,-265.0],[4100.0,-325.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0096],[-100.0,0.0114],[-50.0,0.0122],[0.0,0.0104],[50.0,0.0046],[100.0,0.0036],[150.0,0.01],[200.0,0.0224],[250.0,0.03],[300.0,0.0256],[350.0,0.0112],[400.0,-0.0034],[450.0,-0.016],[500.0,-0.0282],[550.0,-0.0376],[600.0,-0.0438],[650.0,-0.0196],[700.0,-0.0462],[750.0,-0.445],[800.0,-0.3712],[850.0,-0.0484],[900.0,-0.071],[950.0,-0.094],[1000.0,-0.12],[1050.0,-0.141],[1100.0,-0.165],[1150.0,-0.1876],[1200.0,-0.1796],[1250.0,-0.1528],[1300.0,-0.1686],[1350.0,-0.1852],[1400.0,-0.2378],[1450.0,-0.281],[1500.0,-0.2748],[1550.0,-0.234],[1600.0,-0.158],[1650.0,-0.0752],[1700.0,-0.057],[1750.0,-0.0286],[1800.0,-0.0124],[1850.0,0.005],[1900.0,0.0026],[1950.0,0.0084],[2000.0,0.0274],[2050.0,0.0332],[2100.0,0.033],[2150.0,0.0016],[2200.0,0.029],[2250.0,-0.0034],[2300.0,0.006],[2350.0,-0.0304],[2400.0,-0.1264],[2450.0,-0.1386],[2500.0,-0.1026],[2550.0,-0.0248],[2600.0,0.0888],[2650.0,0.1678],[2700.0,0.1336],[2750.0,0.2792],[2800.0,0.458],[2850.0,-0.617],[2900.0,-0.4576],[2950.0,0.2602],[3000.0,0.2578],[3050.0,0.1844],[3100.0,0.147],[3150.0,0.0924],[3200.0,0.0626],[3250.0,0.0438],[3300.0,0.0146],[3350.0,-0.0006],[3400.0,0.0204],[3450.0,-0.0192],[3500.0,-0.0612],[3550.0,-0.051],[3600.0,-0.0488],[3650.0,-0.0792],[3700.0,-0.113],[3750.0,-0.109],[3800.0,-0.1252],[3850.0,-0.1362],[3900.0,-0.086],[3950.0,-0.0458],[4000.0,-0.0338],[4050.0,-0.0308],[4100.0,-0.03],[4150.0,-0.0322],[4200.0,-0.0398],[4250.0,-0.036],[4300.0,-0.0296],[4350.0,-0.029],[4400.0,-0.0324],[4450.0,-0.0418]]}}},{"name":"route_grid_d-275","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-305.0],[250.0,-355.0],[500.0,-455.0],[750.0,-575.0],[1000.0,-695.0],[1250.0,-775.0],[1500.0,-795.0],[1750.0,-695.0],[2000.0,-455.0],[2250.0,-195.0],[2500.0,25.0],[2750.0,175.0],[3000.0,245.0],[3250.0,195.0],[3500.0,55.0],[3750.0,-105.0],[3950.0,-215.0],[4100.0,-275.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.022],[-100.0,0.0336],[-50.0,0.0392],[0.0,0.0372],[50.0,0.0216],[100.0,0.0032],[150.0,0.0018],[200.0,0.006],[250.0,0.0202],[300.0,0.0328],[350.0,0.0272],[400.0,0.0296],[450.0,0.0394],[500.0,0.049],[550.0,0.0632],[600.0,0.067],[650.0,0.1098],[700.0,0.2014],[750.0,0.044],[800.0,-0.2904],[850.0,-0.0602],[900.0,-0.119],[950.0,-0.131],[1000.0,-0.136],[1050.0,-0.1498],[1100.0,-0.1832],[1150.0,-0.253],[1200.0,-0.3082],[1250.0,-0.3062],[1300.0,-0.3072],[1350.0,-0.4022],[1400.0,-0.4488],[1450.0,-0.4746],[1500.0,-0.46],[1550.0,-0.32],[1600.0,-0.2154],[1650.0,-0.2618],[1700.0,-0.2888],[1750.0,-0.2462],[1800.0,-0.2162],[1850.0,-0.2436],[1900.0,-0.2824],[1950.0,-0.2654],[2000.0,-0.2328],[2050.0,-0.3934],[2100.0,-0.4762],[2150.0,-0.5374],[2200.0,-0.6122],[2250.0,-0.7062],[2300.0,-0.6578],[2350.0,-0.6478],[2400.0,-0.5674],[2450.0,-0.4122],[2500.0,-0.2942],[2550.0,-0.189],[2600.0,-0.0014],[2650.0,0.3002],[2700.0,0.5688],[2750.0,0.5654],[2800.0,-0.543],[2850.0,-0.6338],[2900.0,0.4024],[2950.0,0.3952],[3000.0,0.4076],[3050.0,0.4036],[3100.0,0.393],[3150.0,0.3868],[3200.0,0.3828],[3250.0,0.3886],[3300.0,0.322],[3350.0,0.3032],[3400.0,0.3894],[3450.0,0.5182],[3500.0,0.514],[3550.0,0.4324],[3600.0,0.3528],[3650.0,0.2872],[3700.0,0.1304],[3750.0,0.0386],[3800.0,0.1106],[3850.0,0.0912],[3900.0,-0.0614],[3950.0,-0.029],[4000.0,0.0008],[4050.0,-0.0268],[4100.0,-0.0298],[4150.0,-0.0242],[4200.0,-0.0264],[4250.0,-0.022],[4300.0,-0.0376],[4350.0,-0.0804],[4400.0,-0.0424],[4450.0,-0.0128]]}}},{"name":"route_grid_d-225","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-255.0],[250.0,-305.0],[500.0,-405.0],[750.0,-525.0],[1000.0,-645.0],[1250.0,-725.0],[1500.0,-745.0],[1750.0,-645.0],[2000.0,-405.0],[2250.0,-145.0],[2500.0,75.0],[2750.0,225.0],[3000.0,295.0],[3250.0,245.0],[3500.0,105.0],[3750.0,-55.0],[3950.0,-165.0],[4100.0,-225.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0418],[-100.0,0.0644],[-50.0,0.0826],[0.0,0.0818],[50.0,0.067],[100.0,0.0358],[150.0,0.0306],[200.0,0.038],[250.0,0.0588],[300.0,0.123],[350.0,0.1556],[400.0,0.1842],[450.0,0.203],[500.0,0.2054],[550.0,0.2154],[600.0,0.2716],[650.0,0.2632],[700.0,0.3098],[750.0,0.3476],[800.0,-0.0942],[850.0,-0.1338],[900.0,-0.1088],[950.0,-0.1444],[1000.0,-0.15],[1050.0,-0.147],[1100.0,-0.147],[1150.0,-0.1482],[1200.0,-0.1626],[1250.0,-0.1796],[1300.0,-0.151],[1350.0,-0.0962],[1400.0,-0.0916],[1450.0,-0.0992],[1500.0,-0.1118],[1550.0,-0.1036],[1600.0,-0.248],[1650.0,-0.2888],[1700.0,-0.2968],[1750.0,-0.2536],[1800.0,-0.2996],[1850.0,-0.358],[1900.0,-0.3894],[1950.0,-0.384],[2000.0,-0.5336],[2050.0,-0.754],[2100.0,-0.8532],[2150.0,-0.5442],[2200.0,-0.7994],[2250.0,-0.8422],[2300.0,-0.83],[2350.0,-0.726],[2400.0,-0.494],[2450.0,-0.3236],[2500.0,-0.2756],[2550.0,-0.3172],[2600.0,-0.3236],[2650.0,-0.078],[2700.0,0.097],[2750.0,-1.3798],[2800.0,-1.149],[2850.0,0.3236],[2900.0,0.3678],[2950.0,0.371],[3000.0,0.4186],[3050.0,0.4106],[3100.0,0.4074],[3150.0,0.4212],[3200.0,0.4242],[3250.0,0.4138],[3300.0,0.3982],[3350.0,0.3634],[3400.0,0.356],[3450.0,0.4504],[3500.0,0.6532],[3550.0,0.7324],[3600.0,0.5924],[3650.0,0.514],[3700.0,0.7446],[3750.0,0.6616],[3800.0,0.5084],[3850.0,0.3408],[3900.0,0.2786],[3950.0,0.0528],[4000.0,0.0166],[4050.0,-0.0226],[4100.0,-0.047],[4150.0,-0.0484],[4200.0,-0.0416],[4250.0,-0.0332],[4300.0,-0.0266],[4350.0,-0.055],[4400.0,-0.0696],[4450.0,-0.02]]}}},{"name":"route_grid_d-175","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-205.0],[250.0,-255.0],[500.0,-355.0],[750.0,-475.0],[1000.0,-595.0],[1250.0,-675.0],[1500.0,-695.0],[1750.0,-595.0],[2000.0,-355.0],[2250.0,-95.0],[2500.0,125.0],[2750.0,275.0],[3000.0,345.0],[3250.0,295.0],[3500.0,155.0],[3750.0,-5.0],[3950.0,-115.0],[4100.0,-175.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0604],[-100.0,0.095],[-50.0,0.1256],[0.0,0.121],[50.0,0.1016],[100.0,0.0914],[150.0,0.0834],[200.0,0.1038],[250.0,0.1168],[300.0,0.1134],[350.0,0.1714],[400.0,0.206],[450.0,0.2204],[500.0,0.2276],[550.0,0.2088],[600.0,0.23],[650.0,0.2568],[700.0,0.2544],[750.0,0.249],[800.0,0.1492],[850.0,-0.076],[900.0,-0.0986],[950.0,-0.1264],[1000.0,-0.165],[1050.0,-0.1626],[1100.0,-0.1632],[1150.0,-0.1604],[1200.0,-0.159],[1250.0,-0.116],[1300.0,-0.1458],[1350.0,-0.0934],[1400.0,-0.0002],[1450.0,0.0022],[1500.0,-0.0692],[1550.0,-0.2818],[1600.0,-0.3234],[1650.0,-0.3214],[1700.0,-0.3078],[1750.0,-0.333],[1800.0,-0.3946],[1850.0,-0.3852],[1900.0,-0.3962],[1950.0,-0.5068],[2000.0,-0.6024],[2050.0,-0.3444],[2100.0,-0.1696],[2150.0,-0.3478],[2200.0,-0.182],[2250.0,-0.0346],[2300.0,-0.076],[2350.0,-0.0898],[2400.0,-0.038],[2450.0,-0.081],[2500.0,-0.1168],[2550.0,-0.2632],[2600.0,-0.6778],[2650.0,-1.2878],[2700.0,-1.6446],[2750.0,-0.4678],[2800.0,0.2678],[2850.0,0.2086],[2900.0,0.3304],[2950.0,0.287],[3000.0,0.1968],[3050.0,0.2246],[3100.0,0.2718],[3150.0,0.322],[3200.0,0.3746],[3250.0,0.408],[3300.0,0.4052],[3350.0,0.3914],[3400.0,0.3434],[3450.0,0.3362],[3500.0,0.195],[3550.0,0.1178],[3600.0,0.3154],[3650.0,0.321],[3700.0,0.3],[3750.0,0.3824],[3800.0,0.1666],[3850.0,0.1692],[3900.0,0.154],[3950.0,0.019],[4000.0,0.0036],[4050.0,-0.0008],[4100.0,-0.0218],[4150.0,-0.0334],[4200.0,-0.04],[4250.0,-0.0472],[4300.0,-0.0166],[4350.0,0.0444],[4400.0,-0.0178],[4450.0,-0.053]]}}},{"name":"route_grid_d-125","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-155.0],[250.0,-205.0],[500.0,-305.0],[750.0,-425.0],[1000.0,-545.0],[1250.0,-625.0],[1500.0,-645.0],[1750.0,-545.0],[2000.0,-305.0],[2250.0,-45.0],[2500.0,175.0],[2750.0,325.0],[3000.0,395.0],[3250.0,345.0],[3500.0,205.0],[3750.0,45.0],[3950.0,-65.0],[4100.0,-125.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0778],[-100.0,0.0898],[-50.0,0.085],[0.0,0.0902],[50.0,0.1084],[100.0,0.113],[150.0,0.0968],[200.0,0.0774],[250.0,0.074],[300.0,0.0746],[350.0,0.0834],[400.0,0.0948],[450.0,0.1228],[500.0,0.1716],[550.0,0.215],[600.0,0.2164],[650.0,0.2516],[700.0,0.2698],[750.0,0.347],[800.0,0.1838],[850.0,-0.018],[900.0,-0.0512],[950.0,-0.0478],[1000.0,-0.0954],[1050.0,-0.1002],[1100.0,-0.0988],[1150.0,-0.0982],[1200.0,-0.1114],[1250.0,-0.1504],[1300.0,-0.1216],[1350.0,-0.1332],[1400.0,-0.101],[1450.0,-0.002],[1500.0,-0.013],[1550.0,-0.0366],[1600.0,-0.0512],[1650.0,-0.082],[1700.0,-0.1134],[1750.0,-0.2458],[1800.0,-0.2314],[1850.0,-0.2322],[1900.0,-0.2044],[1950.0,-0.1846],[2000.0,-0.0424],[2050.0,0.033],[2100.0,-0.0026],[2150.0,-0.0888],[2200.0,0.003],[2250.0,-0.0026],[2300.0,0.0136],[2350.0,0.008],[2400.0,0.0082],[2450.0,0.0126],[2500.0,0.0214],[2550.0,0.027],[2600.0,0.0212],[2650.0,-0.0946],[2700.0,-0.0678],[2750.0,0.143],[2800.0,0.0566],[2850.0,0.0406],[2900.0,0.0806],[2950.0,0.047],[3000.0,0.0388],[3050.0,0.0472],[3100.0,0.0498],[3150.0,0.0536],[3200.0,0.0478],[3250.0,0.101],[3300.0,0.2204],[3350.0,0.286],[3400.0,0.2232],[3450.0,0.0474],[3500.0,0.0],[3550.0,-0.0006],[3600.0,-0.0074],[3650.0,0.1068],[3700.0,0.0046],[3750.0,-0.0386],[3800.0,-0.053],[3850.0,-0.0822],[3900.0,-0.1142],[3950.0,-0.0918],[4000.0,-0.0486],[4050.0,-0.002],[4100.0,-0.0162],[4150.0,-0.008],[4200.0,-0.0056],[4250.0,-0.0066],[4300.0,-0.0454],[4350.0,-0.0172],[4400.0,0.007],[4450.0,-0.0488]]}}},{"name":"route_grid_d-75","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-105.0],[250.0,-155.0],[500.0,-255.0],[750.0,-375.0],[1000.0,-495.0],[1250.0,-575.0],[1500.0,-595.0],[1750.0,-495.0],[2000.0,-255.0],[2250.0,5.0],[2500.0,225.0],[2750.0,375.0],[3000.0,445.0],[3250.0,395.0],[3500.0,255.0],[3750.0,95.0],[3950.0,-15.0],[4100.0,-75.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0766],[-100.0,0.0548],[-50.0,0.0158],[0.0,0.0136],[50.0,0.0748],[100.0,0.0806],[150.0,0.0718],[200.0,0.0498],[250.0,0.0568],[300.0,0.078],[350.0,0.0776],[400.0,0.075],[450.0,0.0682],[500.0,0.0608],[550.0,0.0764],[600.0,0.0806],[650.0,0.0654],[700.0,0.0622],[750.0,-0.0128],[800.0,-0.0374],[850.0,-0.0492],[900.0,-0.0396],[950.0,-0.0134],[1000.0,0.001],[1050.0,-0.0312],[1100.0,-0.0316],[1150.0,-0.0612],[1200.0,-0.082],[1250.0,-0.12],[1300.0,-0.1304],[1350.0,-0.1256],[1400.0,-0.1424],[1450.0,-0.107],[1500.0,-0.0054],[1550.0,0.0018],[1600.0,0.0032],[1650.0,0.0052],[1700.0,0.0042],[1750.0,0.0076],[1800.0,0.0004],[1850.0,0.0008],[1900.0,-0.0078],[1950.0,-0.0046],[2000.0,-0.009],[2050.0,-0.0194],[2100.0,-0.0196],[2150.0,-0.0128],[2200.0,-0.016],[2250.0,-0.009],[2300.0,-0.0112],[2350.0,-0.005],[2400.0,-0.0034],[2450.0,0.0056],[2500.0,0.0124],[2550.0,0.0202],[2600.0,0.0338],[2650.0,0.0702],[2700.0,0.067],[2750.0,0.0308],[2800.0,0.0434],[2850.0,0.0476],[2900.0,0.0416],[2950.0,0.05],[3000.0,0.051],[3050.0,0.0524],[3100.0,0.0644],[3150.0,0.0644],[3200.0,0.0588],[3250.0,0.0098],[3300.0,0.0262],[3350.0,0.0162],[3400.0,-0.0064],[3450.0,-0.0086],[3500.0,-0.0148],[3550.0,-0.0058],[3600.0,-0.0372],[3650.0,-0.0226],[3700.0,-0.0146],[3750.0,-0.0294],[3800.0,-0.0388],[3850.0,-0.0796],[3900.0,-0.0458],[3950.0,-0.05],[4000.0,-0.1106],[4050.0,-0.006],[4100.0,0.008],[4150.0,-0.0048],[4200.0,0.0236],[4250.0,0.0654],[4300.0,0.0186],[4350.0,-0.0684],[4400.0,-0.024],[4450.0,-0.018]]}}},{"name":"route_grid_d-25","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-55.0],[250.0,-105.0],[500.0,-205.0],[750.0,-325.0],[1000.0,-445.0],[1250.0,-525.0],[1500.0,-545.0],[1750.0,-445.0],[2000.0,-205.0],[2250.0,55.0],[2500.0,275.0],[2750.0,425.0],[3000.0,495.0],[3250.0,445.0],[3500.0,305.0],[3750.0,145.0],[3950.0,35.0],[4100.0,-25.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0206],[-100.0,0.0104],[-50.0,0.0004],[0.0,-0.0022],[50.0,-0.01],[100.0,0.0172],[150.0,0.0356],[200.0,0.0414],[250.0,0.0304],[300.0,0.0478],[350.0,0.0632],[400.0,0.0604],[450.0,0.0646],[500.0,0.0668],[550.0,0.062],[600.0,0.0368],[650.0,0.036],[700.0,0.0424],[750.0,-0.0608],[800.0,0.0116],[850.0,-0.0854],[900.0,-0.0312],[950.0,-0.0424],[1000.0,-0.0052],[1050.0,-0.0354],[1100.0,-0.0454],[1150.0,0.0028],[1200.0,-0.0152],[1250.0,-0.0188],[1300.0,-0.0316],[1350.0,-0.0328],[1400.0,-0.0284],[1450.0,-0.044],[1500.0,-0.019],[1550.0,-0.0076],[1600.0,-0.0106],[1650.0,-0.0152],[1700.0,-0.016],[1750.0,-0.017],[1800.0,-0.0176],[1850.0,-0.0202],[1900.0,-0.019],[1950.0,-0.0184],[2000.0,-0.0214],[2050.0,-0.0176],[2100.0,-0.0178],[2150.0,-0.018],[2200.0,-0.0172],[2250.0,-0.0248],[2300.0,-0.0112],[2350.0,-0.012],[2400.0,-0.0034],[2450.0,0.0008],[2500.0,-0.001],[2550.0,-0.0018],[2600.0,-0.0042],[2650.0,-0.0116],[2700.0,-0.003],[2750.0,0.033],[2800.0,0.0354],[2850.0,0.036],[2900.0,0.0394],[2950.0,0.0378],[3000.0,0.0364],[3050.0,0.0368],[3100.0,0.0396],[3150.0,0.061],[3200.0,0.0734],[3250.0,0.061],[3300.0,0.0344],[3350.0,0.0348],[3400.0,0.01],[3450.0,0.0014],[3500.0,-0.0114],[3550.0,-0.0134],[3600.0,-0.03],[3650.0,-0.034],[3700.0,-0.0042],[3750.0,-0.0292],[3800.0,-0.0392],[3850.0,-0.0638],[3900.0,-0.0788],[3950.0,0.0348],[4000.0,-0.0354],[4050.0,-0.0418],[4100.0,-0.0032],[4150.0,-0.006],[4200.0,-0.0186],[4250.0,-0.0484],[4300.0,-0.0356],[4350.0,-0.046],[4400.0,-0.02],[4450.0,0.0114]]}}},{"name":"route_grid_d+25","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,-5.0],[250.0,-55.0],[500.0,-155.0],[750.0,-275.0],[1000.0,-395.0],[1250.0,-475.0],[1500.0,-495.0],[1750.0,-395.0],[2000.0,-155.0],[2250.0,105.0],[2500.0,325.0],[2750.0,475.0],[3000.0,545.0],[3250.0,495.0],[3500.0,355.0],[3750.0,195.0],[3950.0,85.0],[4100.0,25.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.032],[-100.0,-0.0248],[-50.0,-0.0048],[0.0,-0.0022],[50.0,-0.0306],[100.0,-0.0212],[150.0,-0.003],[200.0,0.0058],[250.0,0.0014],[300.0,0.022],[350.0,0.0506],[400.0,0.0596],[450.0,0.062],[500.0,0.0674],[550.0,0.071],[600.0,0.0608],[650.0,0.0406],[700.0,0.0482],[750.0,0.1312],[800.0,-0.1142],[850.0,-0.0646],[900.0,-0.0562],[950.0,-0.0346],[1000.0,-0.0286],[1050.0,-0.0062],[1100.0,-0.046],[1150.0,-0.0334],[1200.0,0.01],[1250.0,-0.0226],[1300.0,-0.0146],[1350.0,-0.0216],[1400.0,-0.0132],[1450.0,-0.0094],[1500.0,-0.0122],[1550.0,-0.0062],[1600.0,-0.0106],[1650.0,-0.0116],[1700.0,-0.0116],[1750.0,-0.0144],[1800.0,-0.0156],[1850.0,-0.0188],[1900.0,-0.016],[1950.0,-0.0192],[2000.0,-0.0196],[2050.0,-0.0176],[2100.0,-0.0184],[2150.0,-0.0186],[2200.0,-0.0122],[2250.0,-0.0202],[2300.0,-0.0104],[2350.0,-0.014],[2400.0,-0.006],[2450.0,0.0008],[2500.0,0.0054],[2550.0,0.0112],[2600.0,0.0176],[2650.0,0.0242],[2700.0,0.027],[2750.0,0.014],[2800.0,0.0212],[2850.0,0.025],[2900.0,0.0282],[2950.0,0.0284],[3000.0,0.0266],[3050.0,0.0298],[3100.0,0.0308],[3150.0,0.0282],[3200.0,0.0372],[3250.0,0.0492],[3300.0,0.0342],[3350.0,0.027],[3400.0,0.0272],[3450.0,-0.0036],[3500.0,-0.0042],[3550.0,-0.016],[3600.0,-0.0204],[3650.0,-0.0302],[3700.0,0.007],[3750.0,0.0068],[3800.0,-0.0144],[3850.0,-0.053],[3900.0,-0.0736],[3950.0,-0.0754],[4000.0,-0.0358],[4050.0,-0.0528],[4100.0,-0.062],[4150.0,-0.0536],[4200.0,-0.0538],[4250.0,-0.0508],[4300.0,-0.0288],[4350.0,-0.0058],[4400.0,-0.0236],[4450.0,-0.0098]]}}},{"name":"route_grid_d+75","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,45.0],[250.0,-5.0],[500.0,-105.0],[750.0,-225.0],[1000.0,-345.0],[1250.0,-425.0],[1500.0,-445.0],[1750.0,-345.0],[2000.0,-105.0],[2250.0,155.0],[2500.0,375.0],[2750.0,525.0],[3000.0,595.0],[3250.0,545.0],[3500.0,405.0],[3750.0,245.0],[3950.0,135.0],[4100.0,75.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0676],[-100.0,-0.0708],[-50.0,-0.0606],[0.0,-0.0526],[50.0,-0.0418],[100.0,-0.0368],[150.0,-0.024],[200.0,-0.0086],[250.0,0.0062],[300.0,0.0044],[350.0,0.0114],[400.0,0.0268],[450.0,0.052],[500.0,0.0558],[550.0,0.0604],[600.0,0.092],[650.0,0.0668],[700.0,0.0204],[750.0,0.1694],[800.0,-0.0186],[850.0,-0.0326],[900.0,0.031],[950.0,-0.045],[1000.0,-0.0748],[1050.0,-0.0388],[1100.0,-0.0388],[1150.0,-0.0614],[1200.0,-0.0004],[1250.0,0.0156],[1300.0,-0.0238],[1350.0,-0.0256],[1400.0,-0.0272],[1450.0,-0.0214],[1500.0,-0.0128],[1550.0,-0.0078],[1600.0,-0.0132],[1650.0,-0.0162],[1700.0,-0.015],[1750.0,-0.0094],[1800.0,-0.02],[1850.0,-0.0156],[1900.0,-0.0182],[1950.0,-0.0186],[2000.0,-0.0158],[2050.0,-0.0176],[2100.0,-0.0168],[2150.0,-0.0094],[2200.0,-0.0382],[2250.0,-0.0518],[2300.0,-0.038],[2350.0,-0.0242],[2400.0,-0.0126],[2450.0,-0.0116],[2500.0,-0.005],[2550.0,-0.0034],[2600.0,-0.0028],[2650.0,0.0006],[2700.0,0.0076],[2750.0,0.0002],[2800.0,0.0094],[2850.0,0.0136],[2900.0,0.0146],[2950.0,0.015],[3000.0,0.015],[3050.0,0.0146],[3100.0,0.0134],[3150.0,0.016],[3200.0,0.0134],[3250.0,0.0138],[3300.0,0.0194],[3350.0,0.0286],[3400.0,0.0292],[3450.0,0.025],[3500.0,0.058],[3550.0,0.0358],[3600.0,0.0112],[3650.0,-0.0108],[3700.0,0.0094],[3750.0,0.0318],[3800.0,-0.0108],[3850.0,-0.012],[3900.0,-0.047],[3950.0,-0.073],[4000.0,-0.072],[4050.0,-0.083],[4100.0,-0.0308],[4150.0,0.0088],[4200.0,0.038],[4250.0,0.0324],[4300.0,0.0082],[4350.0,0.01],[4400.0,-0.0146],[4450.0,-0.0246]]}}},{"name":"route_grid_d+125","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,95.0],[250.0,45.0],[500.0,-55.0],[750.0,-175.0],[1000.0,-295.0],[1250.0,-375.0],[1500.0,-395.0],[1750.0,-295.0],[2000.0,-55.0],[2250.0,205.0],[2500.0,425.0],[2750.0,575.0],[3000.0,645.0],[3250.0,595.0],[3500.0,455.0],[3750.0,295.0],[3950.0,185.0],[4100.0,125.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0774],[-100.0,-0.0874],[-50.0,-0.0906],[0.0,-0.0818],[50.0,-0.0688],[100.0,-0.0584],[150.0,-0.0534],[200.0,-0.0396],[250.0,-0.0284],[300.0,-0.042],[350.0,-0.0078],[400.0,-0.011],[450.0,-0.0946],[500.0,-0.1582],[550.0,-0.2192],[600.0,-0.141],[650.0,0.0334],[700.0,0.089],[750.0,-0.0502],[800.0,-0.186],[850.0,-0.0078],[900.0,0.054],[950.0,0.0442],[1000.0,-0.0056],[1050.0,-0.0122],[1100.0,0.0252],[1150.0,0.0004],[1200.0,-0.0718],[1250.0,-0.0148],[1300.0,-0.019],[1350.0,-0.0236],[1400.0,-0.0228],[1450.0,-0.0274],[1500.0,-0.019],[1550.0,-0.017],[1600.0,-0.0188],[1650.0,0.0026],[1700.0,-0.0126],[1750.0,-0.0736],[1800.0,-0.0326],[1850.0,-0.0446],[1900.0,-0.0608],[1950.0,-0.0408],[2000.0,-0.0836],[2050.0,-0.049],[2100.0,-0.0194],[2150.0,-0.0616],[2200.0,0.0568],[2250.0,0.359],[2300.0,0.2994],[2350.0,0.137],[2400.0,0.0912],[2450.0,0.0756],[2500.0,0.057],[2550.0,0.0454],[2600.0,0.0326],[2650.0,0.0142],[2700.0,-0.0126],[2750.0,-0.0056],[2800.0,-0.001],[2850.0,0.0064],[2900.0,0.0092],[2950.0,0.0122],[3000.0,0.023],[3050.0,0.0422],[3100.0,0.049],[3150.0,0.0336],[3200.0,0.0146],[3250.0,0.0358],[3300.0,0.0452],[3350.0,0.0336],[3400.0,0.0486],[3450.0,0.032],[3500.0,-0.0066],[3550.0,0.0202],[3600.0,0.05],[3650.0,-0.0064],[3700.0,-0.1294],[3750.0,0.03],[3800.0,-0.0338],[3850.0,-0.0868],[3900.0,-0.0508],[3950.0,-0.0326],[4000.0,-0.09],[4050.0,-0.129],[4100.0,-0.0924],[4150.0,-0.0654],[4200.0,-0.0408],[4250.0,-0.0584],[4300.0,-0.0382],[4350.0,0.0156],[4400.0,0.0042],[4450.0,-0.0072]]}}},{"name":"route_grid_d+175","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,145.0],[250.0,95.0],[500.0,-5.0],[750.0,-125.0],[1000.0,-245.0],[1250.0,-325.0],[1500.0,-345.0],[1750.0,-245.0],[2000.0,-5.0],[2250.0,255.0],[2500.0,475.0],[2750.0,625.0],[3000.0,695.0],[3250.0,645.0],[3500.0,505.0],[3750.0,345.0],[3950.0,235.0],[4100.0,175.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0704],[-100.0,-0.0878],[-50.0,-0.1002],[0.0,-0.1068],[50.0,-0.113],[100.0,-0.1108],[150.0,-0.1098],[200.0,-0.1102],[250.0,-0.0992],[300.0,-0.0938],[350.0,-0.1608],[400.0,-0.2166],[450.0,-0.2166],[500.0,-0.194],[550.0,-0.2074],[600.0,-0.3766],[650.0,-0.3628],[700.0,-0.2086],[750.0,-0.1744],[800.0,-0.205],[850.0,-0.0218],[900.0,0.045],[950.0,0.0474],[1000.0,0.099],[1050.0,0.1118],[1100.0,0.1242],[1150.0,0.1236],[1200.0,0.0788],[1250.0,0.0046],[1300.0,0.0926],[1350.0,0.1568],[1400.0,0.1498],[1450.0,0.148],[1500.0,0.2008],[1550.0,0.2236],[1600.0,0.0828],[1650.0,-0.018],[1700.0,0.0088],[1750.0,0.2084],[1800.0,0.2114],[1850.0,0.2318],[1900.0,0.4128],[1950.0,0.3874],[2000.0,0.2042],[2050.0,0.1716],[2100.0,0.072],[2150.0,0.1028],[2200.0,0.6388],[2250.0,0.5462],[2300.0,0.4706],[2350.0,0.1136],[2400.0,-0.231],[2450.0,-0.6344],[2500.0,-0.8784],[2550.0,-0.6262],[2600.0,-0.1982],[2650.0,0.0212],[2700.0,-0.0002],[2750.0,0.012],[2800.0,-0.0012],[2850.0,0.02],[2900.0,0.0332],[2950.0,0.0674],[3000.0,0.0114],[3050.0,-0.0744],[3100.0,-0.0826],[3150.0,0.007],[3200.0,0.0744],[3250.0,-0.0266],[3300.0,-0.1418],[3350.0,-0.089],[3400.0,-0.1108],[3450.0,-0.3712],[3500.0,-0.298],[3550.0,-0.212],[3600.0,-0.482],[3650.0,-0.393],[3700.0,-0.2766],[3750.0,-0.417],[3800.0,-0.1316],[3850.0,-0.1528],[3900.0,-0.2468],[3950.0,-0.22],[4000.0,-0.1296],[4050.0,-0.1414],[4100.0,-0.1686],[4150.0,-0.1624],[4200.0,-0.1678],[4250.0,-0.1422],[4300.0,-0.0912],[4350.0,-0.0256],[4400.0,0.0176],[4450.0,0.0168]]}}},{"name":"route_grid_d+225","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,195.0],[250.0,145.0],[500.0,45.0],[750.0,-75.0],[1000.0,-195.0],[1250.0,-275.0],[1500.0,-295.0],[1750.0,-195.0],[2000.0,45.0],[2250.0,305.0],[2500.0,525.0],[2750.0,675.0],[3000.0,745.0],[3250.0,695.0],[3500.0,555.0],[3750.0,395.0],[3950.0,285.0],[4100.0,225.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0776],[-100.0,-0.088],[-50.0,-0.0934],[0.0,-0.0982],[50.0,-0.1014],[100.0,-0.1058],[150.0,-0.107],[200.0,-0.11],[250.0,-0.1228],[300.0,-0.1332],[350.0,-0.1414],[400.0,-0.1652],[450.0,-0.1662],[500.0,-0.1774],[550.0,-0.1704],[600.0,-0.2096],[650.0,-0.3892],[700.0,-0.5888],[750.0,-0.5256],[800.0,-0.2496],[850.0,-0.1702],[900.0,0.0598],[950.0,0.0716],[1000.0,0.102],[1050.0,0.1062],[1100.0,0.105],[1150.0,0.1032],[1200.0,0.1118],[1250.0,0.1532],[1300.0,0.1736],[1350.0,0.1896],[1400.0,0.1882],[1450.0,0.2242],[1500.0,0.2588],[1550.0,0.357],[1600.0,0.3394],[1650.0,0.2594],[1700.0,0.4218],[1750.0,0.34],[1800.0,0.374],[1850.0,0.5546],[1900.0,0.5682],[1950.0,0.6216],[2000.0,0.8146],[2050.0,0.8254],[2100.0,0.865],[2150.0,0.852],[2200.0,0.6288],[2250.0,0.3972],[2300.0,0.279],[2350.0,0.5802],[2400.0,0.1774],[2450.0,-0.5436],[2500.0,-0.8978],[2550.0,-0.559],[2600.0,-0.2296],[2650.0,-0.1288],[2700.0,-0.117],[2750.0,-0.0996],[2800.0,-0.076],[2850.0,-0.0988],[2900.0,-0.1998],[2950.0,-0.2194],[3000.0,-0.3028],[3050.0,-0.3798],[3100.0,-0.536],[3150.0,-0.6744],[3200.0,-0.736],[3250.0,-0.6466],[3300.0,-0.584],[3350.0,-0.8144],[3400.0,-0.8976],[3450.0,-0.7102],[3500.0,-0.7562],[3550.0,-0.6744],[3600.0,-0.5278],[3650.0,-0.701],[3700.0,-0.5876],[3750.0,-0.663],[3800.0,-0.5512],[3850.0,-0.3572],[3900.0,-0.3292],[3950.0,-0.2962],[4000.0,-0.176],[4050.0,-0.089],[4100.0,-0.1122],[4150.0,-0.1398],[4200.0,-0.1568],[4250.0,-0.133],[4300.0,-0.079],[4350.0,-0.0358],[4400.0,-0.0026],[4450.0,0.0172]]}}},{"name":"route_grid_d+275","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,245.0],[250.0,195.0],[500.0,95.0],[750.0,-25.0],[1000.0,-145.0],[1250.0,-225.0],[1500.0,-245.0],[1750.0,-145.0],[2000.0,95.0],[2250.0,355.0],[2500.0,575.0],[2750.0,725.0],[3000.0,795.0],[3250.0,745.0],[3500.0,605.0],[3750.0,445.0],[3950.0,335.0],[4100.0,275.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.063],[-100.0,-0.0798],[-50.0,-0.0928],[0.0,-0.0934],[50.0,-0.0876],[100.0,-0.0876],[150.0,-0.0886],[200.0,-0.0786],[250.0,-0.0744],[300.0,-0.087],[350.0,-0.088],[400.0,-0.0358],[450.0,-0.0226],[500.0,-0.0294],[550.0,-0.0278],[600.0,-0.0182],[650.0,-0.1146],[700.0,-0.267],[750.0,-0.34],[800.0,-0.158],[850.0,-0.3256],[900.0,-0.0258],[950.0,0.0834],[1000.0,0.09],[1050.0,0.0966],[1100.0,0.0996],[1150.0,0.1048],[1200.0,0.1484],[1250.0,0.1764],[1300.0,0.1606],[1350.0,0.176],[1400.0,0.2284],[1450.0,0.2724],[1500.0,0.2604],[1550.0,0.2726],[1600.0,0.418],[1650.0,0.667],[1700.0,0.6084],[1750.0,0.611],[1800.0,0.643],[1850.0,0.5354],[1900.0,0.4208],[1950.0,0.4488],[2000.0,0.5674],[2050.0,0.5944],[2100.0,0.659],[2150.0,0.7132],[2200.0,0.3242],[2250.0,0.3472],[2300.0,0.552],[2350.0,0.7684],[2400.0,-0.1332],[2450.0,0.1108],[2500.0,0.552],[2550.0,0.2098],[2600.0,-0.3256],[2650.0,-0.4674],[2700.0,-0.4112],[2750.0,-0.347],[2800.0,-0.5062],[2850.0,-0.5682],[2900.0,-0.5898],[2950.0,-0.6336],[3000.0,-0.5216],[3050.0,-0.486],[3100.0,-0.4394],[3150.0,-0.5318],[3200.0,-0.6762],[3250.0,-0.7454],[3300.0,-0.6912],[3350.0,-0.5628],[3400.0,-0.5256],[3450.0,-0.4746],[3500.0,-0.4736],[3550.0,-0.5868],[3600.0,-0.3638],[3650.0,-0.349],[3700.0,-0.4674],[3750.0,-0.258],[3800.0,-0.184],[3850.0,-0.0904],[3900.0,-0.0046],[3950.0,-0.0004],[4000.0,-0.0866],[4050.0,-0.105],[4100.0,-0.057],[4150.0,-0.0518],[4200.0,-0.0494],[4250.0,-0.0048],[4300.0,0.0182],[4350.0,-0.012],[4400.0,-0.0332],[4450.0,-0.0244]]}}},{"name":"route_grid_d+325","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,295.0],[250.0,245.0],[500.0,145.0],[750.0,25.0],[1000.0,-95.0],[1250.0,-175.0],[1500.0,-195.0],[1750.0,-95.0],[2000.0,145.0],[2250.0,405.0],[2500.0,625.0],[2750.0,775.0],[3000.0,845.0],[3250.0,795.0],[3500.0,655.0],[3750.0,495.0],[3950.0,385.0],[4100.0,325.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0546],[-100.0,-0.0704],[-50.0,-0.0808],[0.0,-0.0802],[50.0,-0.0688],[100.0,-0.0618],[150.0,-0.0652],[200.0,-0.07],[250.0,-0.0658],[300.0,-0.0644],[350.0,-0.06],[400.0,-0.0396],[450.0,-0.0258],[500.0,-0.0134],[550.0,0.015],[600.0,0.0386],[650.0,0.0496],[700.0,0.066],[750.0,0.06],[800.0,0.0616],[850.0,-0.2368],[900.0,-0.141],[950.0,0.0292],[1000.0,0.0178],[1050.0,0.0166],[1100.0,0.038],[1150.0,0.0618],[1200.0,0.0824],[1250.0,0.0876],[1300.0,0.089],[1350.0,0.0846],[1400.0,0.1284],[1450.0,0.1458],[1500.0,0.1434],[1550.0,0.1066],[1600.0,0.2094],[1650.0,0.125],[1700.0,0.0376],[1750.0,0.0218],[1800.0,-0.0244],[1850.0,-0.05],[1900.0,-0.0498],[1950.0,-0.0488],[2000.0,-0.0826],[2050.0,-0.085],[2100.0,-0.0938],[2150.0,-0.0764],[2200.0,-0.032],[2250.0,0.0806],[2300.0,0.1532],[2350.0,-0.5538],[2400.0,-0.4746],[2450.0,0.1268],[2500.0,0.24],[2550.0,0.0094],[2600.0,-0.0524],[2650.0,-0.1186],[2700.0,-0.184],[2750.0,-0.2542],[2800.0,-0.1864],[2850.0,-0.193],[2900.0,-0.14],[2950.0,-0.2178],[3000.0,-0.3076],[3050.0,-0.2464],[3100.0,-0.1644],[3150.0,-0.0308],[3200.0,0.0562],[3250.0,0.0528],[3300.0,0.0196],[3350.0,0.0874],[3400.0,0.0876],[3450.0,0.0768],[3500.0,0.0132],[3550.0,-0.075],[3600.0,-0.1802],[3650.0,-0.0742],[3700.0,-0.0482],[3750.0,-0.0066],[3800.0,0.021],[3850.0,0.093],[3900.0,0.131],[3950.0,0.0702],[4000.0,-0.011],[4050.0,-0.052],[4100.0,-0.0464],[4150.0,-0.0048],[4200.0,0.03],[4250.0,0.011],[4300.0,-0.018],[4350.0,-0.0308],[4400.0,-0.03],[4450.0,-0.0232]]}}},{"name":"route_grid_d+375","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,345.0],[250.0,295.0],[500.0,195.0],[750.0,75.0],[1000.0,-45.0],[1250.0,-125.0],[1500.0,-145.0],[1750.0,-45.0],[2000.0,195.0],[2250.0,455.0],[2500.0,675.0],[2750.0,825.0],[3000.0,895.0],[3250.0,845.0],[3500.0,705.0],[3750.0,545.0],[3950.0,435.0],[4100.0,375.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0458],[-100.0,-0.0548],[-50.0,-0.0566],[0.0,-0.0596],[50.0,-0.0572],[100.0,-0.0474],[150.0,-0.0452],[200.0,-0.0502],[250.0,-0.0582],[300.0,-0.0606],[350.0,-0.064],[400.0,-0.0546],[450.0,-0.0286],[500.0,-0.0072],[550.0,0.0018],[600.0,0.013],[650.0,0.0266],[700.0,0.0392],[750.0,0.0518],[800.0,0.0484],[850.0,-0.1374],[900.0,-0.3152],[950.0,-0.0034],[1000.0,0.0222],[1050.0,0.018],[1100.0,0.0392],[1150.0,0.0484],[1200.0,0.0448],[1250.0,0.0396],[1300.0,0.0326],[1350.0,-0.003],[1400.0,-0.0354],[1450.0,-0.0376],[1500.0,-0.034],[1550.0,-0.0396],[1600.0,-0.0702],[1650.0,-0.0474],[1700.0,-0.023],[1750.0,-0.018],[1800.0,-0.009],[1850.0,-0.0028],[1900.0,0.0072],[1950.0,0.0116],[2000.0,0.0166],[2050.0,0.0138],[2100.0,0.0262],[2150.0,0.0098],[2200.0,0.0178],[2250.0,0.0506],[2300.0,-0.3782],[2350.0,-1.0794],[2400.0,-0.1396],[2450.0,0.0084],[2500.0,-0.0614],[2550.0,-0.0048],[2600.0,0.0196],[2650.0,0.0376],[2700.0,0.0462],[2750.0,0.0202],[2800.0,0.0582],[2850.0,0.0638],[2900.0,0.0518],[2950.0,0.0958],[3000.0,0.144],[3050.0,0.1386],[3100.0,0.1104],[3150.0,0.0732],[3200.0,0.0782],[3250.0,0.0826],[3300.0,0.0648],[3350.0,0.0278],[3400.0,0.0476],[3450.0,0.0492],[3500.0,0.034],[3550.0,0.0102],[3600.0,-0.027],[3650.0,-0.016],[3700.0,-0.0096],[3750.0,-0.0286],[3800.0,-0.0314],[3850.0,0.0262],[3900.0,0.1034],[3950.0,0.1212],[4000.0,0.0756],[4050.0,0.0144],[4100.0,-0.0232],[4150.0,-0.0264],[4200.0,-0.0218],[4250.0,-0.0254],[4300.0,-0.0258],[4350.0,-0.017],[4400.0,0.003],[4450.0,0.0204]]}}},{"name":"route_grid_d+425","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,395.0],[250.0,345.0],[500.0,245.0],[750.0,125.0],[1000.0,5.0],[1250.0,-75.0],[1500.0,-95.0],[1750.0,5.0],[2000.0,245.0],[2250.0,505.0],[2500.0,725.0],[2750.0,875.0],[3000.0,945.0],[3250.0,895.0],[3500.0,755.0],[3750.0,595.0],[3950.0,485.0],[4100.0,425.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,-0.0022],[-100.0,-0.0118],[-50.0,-0.0162],[0.0,-0.023],[50.0,-0.0338],[100.0,-0.0344],[150.0,-0.027],[200.0,-0.021],[250.0,-0.0284],[300.0,-0.0434],[350.0,-0.055],[400.0,-0.062],[450.0,-0.037],[500.0,-0.0068],[550.0,-0.0018],[600.0,0.001],[650.0,0.0112],[700.0,0.0152],[750.0,0.0204],[800.0,0.039],[850.0,-0.0142],[900.0,-0.372],[950.0,-0.0914],[1000.0,0.044],[1050.0,0.0534],[1100.0,0.0514],[1150.0,0.0516],[1200.0,0.0504],[1250.0,0.047],[1300.0,0.043],[1350.0,0.0348],[1400.0,-0.0016],[1450.0,-0.033],[1500.0,-0.0358],[1550.0,-0.0278],[1600.0,-0.03],[1650.0,-0.0082],[1700.0,-0.0066],[1750.0,-0.0064],[1800.0,-0.0094],[1850.0,-0.0074],[1900.0,-0.0028],[1950.0,0.0112],[2000.0,0.0296],[2050.0,0.0482],[2100.0,0.0576],[2150.0,0.0452],[2200.0,0.0526],[2250.0,-0.1508],[2300.0,-0.9986],[2350.0,-0.4664],[2400.0,0.0282],[2450.0,0.0054],[2500.0,0.0114],[2550.0,0.0044],[2600.0,0.0002],[2650.0,-0.0018],[2700.0,0.0008],[2750.0,0.012],[2800.0,0.0086],[2850.0,0.0178],[2900.0,0.0304],[2950.0,0.046],[3000.0,0.0582],[3050.0,0.058],[3100.0,0.0544],[3150.0,0.0476],[3200.0,0.0466],[3250.0,0.0496],[3300.0,0.0498],[3350.0,0.0412],[3400.0,0.0384],[3450.0,0.025],[3500.0,0.0096],[3550.0,-0.0104],[3600.0,-0.0264],[3650.0,-0.025],[3700.0,-0.0198],[3750.0,-0.03],[3800.0,-0.0456],[3850.0,-0.0398],[3900.0,0.0222],[3950.0,0.1112],[4000.0,0.1382],[4050.0,0.0956],[4100.0,0.0404],[4150.0,0.008],[4200.0,-0.0058],[4250.0,-0.0036],[4300.0,0.0076],[4350.0,0.0248],[4400.0,0.0366],[4450.0,0.0328]]}}},{"name":"route_grid_d+475","kind":"station_crossfall","params":{"axis":"x","line":[[0.0,445.0],[250.0,395.0],[500.0,295.0],[750.0,175.0],[1000.0,55.0],[1250.0,-25.0],[1500.0,-45.0],[1750.0,55.0],[2000.0,295.0],[2250.0,555.0],[2500.0,775.0],[2750.0,925.0],[3000.0,995.0],[3250.0,945.0],[3500.0,805.0],[3750.0,645.0],[3950.0,535.0],[4100.0,475.0]],"slope":1.0,"limit":25.0,"modulation":{"origin":[0.0,0.0],"direction":[1.0,0.0],"length":1.0,"knots":[[-150.0,0.0758],[-100.0,0.082],[-50.0,0.0706],[0.0,0.0584],[50.0,0.0106],[100.0,-0.0226],[150.0,-0.0076],[200.0,0.0066],[250.0,-0.0014],[300.0,-0.023],[350.0,-0.0398],[400.0,-0.056],[450.0,-0.0574],[500.0,-0.0318],[550.0,-0.0068],[600.0,0.0008],[650.0,0.006],[700.0,0.0144],[750.0,0.0166],[800.0,0.0204],[850.0,0.0096],[900.0,-0.1854],[950.0,-0.218],[1000.0,0.0344],[1050.0,0.0776],[1100.0,0.0578],[1150.0,0.0502],[1200.0,0.0492],[1250.0,0.0452],[1300.0,0.0438],[1350.0,0.0466],[1400.0,0.0382],[1450.0,0.0014],[1500.0,-0.0272],[1550.0,-0.0252],[1600.0,-0.0148],[1650.0,-0.0088],[1700.0,-0.007],[1750.0,-0.0098],[1800.0,-0.0106],[1850.0,-0.005],[1900.0,0.0168],[1950.0,0.0608],[2000.0,0.0832],[2050.0,0.0868],[2100.0,0.0786],[2150.0,0.078],[2200.0,-0.0438],[2250.0,-0.6868],[2300.0,-0.8074],[2350.0,-0.0634],[2400.0,0.0404],[2450.0,0.0014],[2500.0,0.005],[2550.0,0.004],[2600.0,0.0034],[2650.0,0.0048],[2700.0,0.009],[2750.0,0.0148],[2800.0,0.0154],[2850.0,0.0206],[2900.0,0.0278],[2950.0,0.0312],[3000.0,0.0326],[3050.0,0.0372],[3100.0,0.0426],[3150.0,0.0476],[3200.0,0.0498],[3250.0,0.0506],[3300.0,0.0518],[3350.0,0.0514],[3400.0,0.0458],[3450.0,0.0314],[3500.0,0.0096],[3550.0,-0.0106],[3600.0,-0.0266],[3650.0,-0.0334],[3700.0,-0.0312],[3750.0,-0.0298],[3800.0,-0.0366],[3850.0,-0.0428],[3900.0,-0.017],[3950.0,0.0528],[4000.0,0.1216],[4050.0,0.1338],[4100.0,0.1042],[4150.0,0.0708],[4200.0,0.0472],[4250.0,0.0482],[4300.0,0.0634],[4350.0,0.061],[4400.0,0.016],[4450.0,-0.0254]]}}},{"name":"tee_pad","kind":"plateau","params":{"shape":"ellipse","center":[-8.637774,-6.879838],"radii":[40.0,40.0],"inner":1.0,"outer":2.5,"easing":"smoothstep","level":{"constant":17.75}}},{"name":"green_complex","kind":"shelf","params":{"shapes":[{"kind":"polygon","polygon":[[4112.0,72.6],[4104.5,55.1],[4091.4,9.8],[4085.7,-25.3],[4086.3,-40.1],[4089.6,-55.0],[4096.0,-69.1],[4108.7,-87.1],[4126.1,-102.2],[4138.6,-108.7],[4151.2,-112.9],[4174.4,-117.6],[4217.8,-118.9],[4236.4,-116.2],[4263.1,-108.3],[4280.8,-99.8],[4297.0,-89.2],[4316.9,-68.8],[4335.4,-37.0],[4349.3,-1.0],[4355.9,27.2],[4356.6,42.8],[4353.9,58.5],[4343.6,79.5],[4332.0,91.4],[4320.2,100.4],[4300.7,111.9],[4277.3,120.4],[4231.8,125.5],[4206.6,124.6],[4179.9,119.6],[4148.4,106.4],[4137.4,100.1],[4125.0,90.2]],"width":30.0}],"target":{"terms":[{"kind":"polynomial","params":{"center":[4220.0,0.0],"scale":[150.0,150.0],"terms":[[-44.872,0,0],[-7.0874,0,1],[-1.8586,0,2],[20.9075,0,3],[0.346,0,4],[-15.8473,0,5],[7.2163,1,0],[0.3317,1,1],[-2.8374,1,2],[0.7438,1,3],[1.2054,1,4],[-4.9578,2,0],[4.4666,2,1],[3.1558,2,2],[-14.2739,2,3],[-15.6332,3,0],[-1.0416,3,1],[12.4488,3,2],[4.497,4,0],[-3.3214,4,1],[9.0061,5,0]]}}]}}},{"name":"rough_margin","kind":"donor_blend","params":{"donor":{"image":{"path":"work/derived/stock-u8/fc8.u8","sha256":"28a13dc40acfd11e6888a3c98feac8294634d6593ccfbf585cb46d71cea0140a"},"member":"WS2_glf_course_fc8.kcl","attrs":[1,2,3,4,6,9,12]},"reference":"surface","missing":"running","weights":[{"kind":"polygon","polygon":[[1524.0,-875.0],[1528.0,-873.8],[1552.0,-863.8],[1576.0,-849.6],[1600.0,-839.9],[1648.0,-811.2],[1676.0,-799.4],[1700.0,-785.1],[1724.0,-775.4],[1773.3,-746.0],[1874.0,-646.0],[1901.0,-614.0],[2000.0,-514.9],[2024.2,-486.0],[2052.0,-463.0],[2276.0,-239.2],[2497.5,-62.0],[2524.0,-36.0],[2552.0,-23.8],[2576.0,-9.6],[2600.0,0.1],[2650.3,30.0],[2676.0,40.6],[2700.0,54.9],[2724.0,64.6],[2776.0,95.2],[2800.0,100.1],[2824.0,109.6],[2852.0,115.8],[2900.0,135.0],[2924.0,139.8],[2950.6,150.0],[2976.0,155.4],[3000.0,164.9],[3052.0,164.6],[3100.0,155.0],[3124.0,155.0],[3152.0,150.0],[3176.0,149.8],[3224.0,140.2],[3276.0,119.4],[3300.0,105.1],[3324.0,95.4],[3352.0,79.2],[3400.0,59.9],[3424.0,45.6],[3451.6,34.0],[3598.3,-54.0],[3600.6,-58.0],[3624.0,-175.0],[3624.8,-178.0],[3628.0,-180.6],[3728.0,-200.0],[3776.0,-199.8],[3824.0,-190.2],[3848.0,-190.0],[3852.0,-191.2],[3876.0,-205.4],[3900.0,-215.1],[3924.0,-229.4],[3952.0,-235.0],[3972.0,-235.0],[3974.2,-234.0],[3975.9,-230.0],[4000.0,-101.4],[4004.0,-101.6],[4052.0,-120.0],[4072.0,-120.0],[4076.0,-116.0],[4080.0,-115.0],[4100.0,-115.0],[4104.0,-116.1],[4112.0,-122.8],[4128.0,-131.3],[4144.0,-136.8],[4172.0,-142.5],[4216.0,-143.9],[4240.0,-140.9],[4272.0,-131.7],[4292.0,-122.1],[4310.8,-110.0],[4338.1,-82.0],[4358.7,-46.0],[4372.6,-10.0],[4380.9,26.0],[4381.4,46.0],[4377.7,66.0],[4364.0,94.0],[4348.0,110.6],[4332.7,122.0],[4312.0,134.2],[4284.0,144.5],[4232.0,150.5],[4200.0,148.8],[4168.7,142.0],[4136.0,128.1],[4124.0,121.2],[4116.0,115.0],[4112.0,113.7],[4078.3,126.0],[4075.0,130.0],[4074.7,158.0],[4072.0,160.0],[4048.0,160.8],[4004.0,178.4],[3999.7,182.0],[3975.5,342.0],[3973.3,346.0],[3776.0,464.4],[3748.3,486.0],[3724.0,500.8],[3700.0,519.9],[3650.2,550.0],[3624.9,570.0],[3600.0,585.1],[3576.0,604.2],[3526.7,634.0],[3500.0,654.9],[3401.7,714.0],[3398.5,718.0],[3376.0,763.0],[3372.0,765.6],[3300.0,780.1],[3276.0,794.4],[3252.0,804.2],[3224.0,810.4],[3200.0,819.9],[3172.5,826.0],[3148.0,836.2],[3100.0,864.9],[3076.0,874.6],[3072.0,875.0],[2852.0,875.0],[2824.0,870.0],[2800.0,870.0],[2752.0,860.4],[2724.0,859.4],[2700.0,845.1],[2652.0,825.8],[2624.0,809.6],[2575.2,790.0],[2428.0,701.8],[2400.0,690.0],[2375.1,546.0],[2324.0,494.2],[2300.0,474.9],[2251.0,426.0],[2224.0,403.8],[2200.0,375.1],[2176.0,351.0],[2152.0,345.4],[2148.0,343.4],[2124.0,324.4],[2100.0,310.0],[2076.0,290.8],[2048.8,274.0],[2024.0,254.4],[2000.0,239.9],[1952.0,201.6],[1924.0,184.2],[1900.0,165.1],[1875.1,150.0],[1849.8,130.0],[1824.0,114.2],[1800.0,95.1],[1776.0,80.6],[1748.0,58.8],[1724.0,44.2],[1700.0,25.1],[1676.0,10.6],[1626.4,-58.0],[1600.0,-90.0],[1576.0,-123.6],[1552.0,-138.8],[1524.0,-150.2],[1472.0,-160.0],[1400.0,-160.0],[1372.0,-155.0],[1276.0,-155.0],[1248.0,-144.6],[1024.0,-99.6],[476.0,119.6],[452.0,124.6],[424.0,135.2],[400.0,140.1],[352.0,159.2],[324.0,165.4],[300.0,175.0],[276.0,179.8],[228.0,180.0],[224.8,178.0],[200.0,70.0],[0.0,110.0],[-104.0,110.0],[-105.0,106.0],[-105.0,-166.0],[-104.0,-170.0],[0.0,-170.0],[200.0,-210.0],[224.4,-342.0],[227.5,-346.0],[276.0,-365.6],[300.0,-379.9],[324.0,-389.6],[352.0,-405.8],[400.0,-425.1],[424.0,-439.4],[449.7,-450.0],[476.0,-465.4],[500.0,-475.1],[598.3,-534.0],[626.6,-546.0],[724.0,-604.4],[752.0,-616.2],[848.0,-673.8],[876.0,-685.6],[976.0,-745.4],[1197.5,-834.0],[1224.0,-849.4],[1252.0,-850.4],[1276.0,-855.0],[1300.0,-855.0],[1348.0,-864.6],[1376.0,-865.2],[1400.0,-870.0],[1424.0,-870.0],[1448.0,-874.6]],"width":90.0}]}},{"name":"approach_gate_bowl","kind":"weighted","params":{"weight":[{"kind":"polygon","polygon":[[4209.34,-180.79],[4206.66,-173.09],[4195.09,-164.77],[4148.78,-159.63],[4130.07,-151.58],[4116.95,-141.22],[4100.98,-117.06],[4084.37,-107.51],[4068.89,-105.93],[4061.01,-109.48],[4054.78,-114.06],[4048.38,-125.35],[4048.91,-145.69],[4045.9,-166.05],[4057.6,-186.97],[4073.81,-199.8],[4129.6,-226.27],[4150.8,-247.23],[4163.36,-248.24],[4177.18,-240.19],[4190.5,-237.49],[4198.14,-233.02],[4206.42,-218.72],[4205.67,-194.05]],"width":0.5,"easing":"linear"},{"kind":"edge_distance","polygons":[[[4209.34,-180.79],[4206.66,-173.09],[4195.09,-164.77],[4148.78,-159.63],[4130.07,-151.58],[4116.95,-141.22],[4100.98,-117.06],[4084.37,-107.51],[4068.89,-105.93],[4061.01,-109.48],[4054.78,-114.06],[4048.38,-125.35],[4048.91,-145.69],[4045.9,-166.05],[4057.6,-186.97],[4073.81,-199.8],[4129.6,-226.27],[4150.8,-247.23],[4163.36,-248.24],[4177.18,-240.19],[4190.5,-237.49],[4198.14,-233.02],[4206.42,-218.72],[4205.67,-194.05]]],"width":20.0,"start":0.0,"span":1.0,"easing":"smoothstep"}],"terms":[{"kind":"plane","params":{"origin":[0,0],"y0":-6.0,"gx":0,"gz":0}}]}}],"stock_ground_regions":["approach-gate","greenside-left","greenside-back"],"intended_deviations":[{"primitive":"route_grid_mid","reason":"Pit fill and crest: s 2375-2700 is a loft from the s 2350 slice to the s 2700 slice plus the 22.4 crest at s 2500 (centreline 48.7) instead of the donor reference's pit and ridge (11.1-56.9 on the centreline, fairway grade to 10.7). The s 760-840 stock wall step is smoothed (up to 10.8 from the reference). Knots s 750 +1.5 and s 3750 -2.0 meet PROFILE_Y within 2.0."},{"primitive":"tee_pad","reason":"The tee is flat at the stock 17.75 to r 40 (stock falls to 15.8 at r 50)."},{"primitive":"green_complex","reason":"The green and fringe are a degree-5 polynomial fit of the stock green (RMS 0.40 against the reference), not the stock triangles; cup Y moves up to 0.6."},{"omits":"_smooth_serialized_route","reason":"Overseer decision (Phase 5 H12): the 147-station serialized relaxation is not ported as a table. It reads the post-repaint KCL top and does not converge (8 iterations, last max correction 2.08); dropping it changes the centerline by up to 47.6 at s 2600."}],"notes":["Phase 9 step 2 (2026-10-25): the declared surface replaces the donor emitter's stock-plus-delta (h12-port/survey/height-field.md, crest variant height_crest.json, contract-brief decision A). route_grid_mid + the 20 route_grid_d* station_crossfall terms encode a 93 x 21 bilinear grid Y(s, d), d = t - centre(s) over routes.conservative, s -150..4450 and d -500..500 at 50, fitted by weighted least squares (lambda 0.3) to the donor emitter's TopMesh (hole_donor.design) on a 10-unit sample grid; HeightModel equals the numpy grid to 0.0 off the nodes. Residuals against the reference: fairway RMS 0.84 outside the pit window; bunkers RMS 1.3-1.9.","Pit window s 2375-2700: the fill lofts the reference slice at s 2350 into the slice at s 2700 plus a 22.4 cosine over +-175 about s 2500 (the crest), centreline 48.7 at s 2500 against the frozen PROFILE_Y 48 (the donor candidate read 22.0, the installed correction-1 line about 46.3).","PROFILE_Y (frozen h12_full_reroute.py, the design's absolute centreline target, +-2.0): 0:18, 250:11, 500:19, 750:22, 1000:31, 1250:42, 1500:54, 1750:45, 2000:30, 2250:21, 2500:48, 2750:27, 3000:24, 3250:19, 3500:10, 3750:-6, 3950:-47, 4100:-47. route_grid_mid knots s 750 +1.5 and s 3750 -2.0 over the fit bring the centreline within 1.1 of it at all 18 stations (the fit left -2.01 and +2.57; scratch assemble_height.py).","tee_pad: plateau level 17.75 (the stock tee) to r 40 about the marker/player midpoint, smoothstep out by r 100. green_complex: shelf (width 30) on the stock fringe outline toward a degree-5 polynomial refitted (step 2) on the reference inside that outline (weight 4) and a 40-unit ring (weight 1): residual RMS 0.40, max 0.99 on the green complex; green span 7.5 (stock 9.0), grade max 0.070; six cups grade 0.020-0.064.","rough_margin: donor_blend toward the stock fc8 KCL top (attrs 1,2,3,4,6,9,12) outside O' (frame notes) over W 90, so the field is stock at the domain rim except at the greenside notches, where it is within the green fit of stock. Stock reads stay off every playing region: stock_ground_regions is empty (survey emulation 0/300 on route, bunkers and green complex; the build's stock read guard checks it).","Build 5: stock_ground_regions declares approach-gate (294/300 samples on the stock ground at weight up to 1.0), greenside-left and greenside-back (300/300): they lie in the rough_margin blend, outside O', so the stock read guard sees the stock ground; greenside-left and greenside-back are the stock sand dishes (9-16 units below their rims). approach_gate_bowl (weighted, after rough_margin) dishes the moved approach-gate 6 units below the blended ground inside its outline, smoothstep over 20 units from the rim, as the stock sand it replaces sits in a dish; it is excluded from outlines so its outline equals the region's.","grade_cap rows (2026-10-28, Phase 10 step 1c): none authored. The grade solver (construction.grade_solver) generates the cap windows and rock cores; the build report's grade_solver block records each site, core, window and margin."]},"tee":{"marker_xz":[0.0,0.0],"player_xz":[-17.27554787812518,-13.759675826647936],"marker_minus_player":[17.27554787812518,13.759675826647936],"pad":{"kind":"polygon","polygon":[[47.4,-6.9],[43.1,14.6],[31.0,32.7],[12.8,44.9],[-8.6,49.1],[-30.1,44.9],[-48.2,32.7],[-60.4,14.6],[-64.6,-6.9],[-60.4,-28.3],[-48.2,-46.5],[-30.1,-58.6],[-8.6,-62.9],[12.8,-58.6],[31.0,-46.5],[43.1,-28.3]]},"notes":["Stock tee: marker at the frame origin (GLF_TEEOBJ world -741.1109, 2133.4878); the stock PLAYER is world (-756.0, 2149.8002) in the PMP. player_xz keeps the script literal (-756.0, 2149.8); the f32 PMP value differs by 5e-5. No basis or Y offset is written: the stock facing stays (42 degrees toward +t off the s axis, about 54 off the first leg; contract-brief decision H).","pad: 16-gon, radius 56 about the marker/player midpoint (-8.638, -6.880), 112 wide, containing both tee markers at +-35.7 on either candidate axis (green-cups-bunkers.md P4); painted by the tee_pad fairway region and levelled by the tee_pad plateau (17.75)."]},"cups":{"kind":"targets","count":6,"targets":[[4185.65,-8.78],[4279.65,44.52],[4206.41,49.45],[4276.02,-6.35],[4141.21,-21.33],[4220.26,-57.52]],"notes":["The six stock fc8 cups (PMP HOLE pins 0-5), converted with to_local (hole.resolved on the donor-preserved contract; green-cups-bunkers.md F4): local s 4141 to 4280, 41.5 or more from the stock green outline, 46.2 apart. Y comes from the final KCL; the declared green puts them within 0.6 of the stock PMP Y."]},"hazards":[{"name":"split-scar","kind":"bunker","polygon":[[1580.0,-180.0],[1750.0,-260.0],[2050.0,20.0],[2280.0,180.0],[2180.0,320.0],[1940.0,150.0],[1700.0,-20.0]]},{"name":"seaward-beach","kind":"bunker","polygon":[[2425.0,520.0],[2600.0,640.0],[2750.0,690.0],[2900.0,760.0],[3050.0,700.0],[3200.0,650.0],[3375.0,600.0],[3375.0,735.0],[3200.0,770.0],[3050.0,850.0],[2900.0,850.0],[2750.0,830.0],[2600.0,760.0],[2425.0,660.0]]},{"name":"approach-gate","kind":"bunker","polygon":[[4209.34,-180.79],[4206.66,-173.09],[4195.09,-164.77],[4148.78,-159.63],[4130.07,-151.58],[4116.95,-141.22],[4100.98,-117.06],[4084.37,-107.51],[4068.89,-105.93],[4061.01,-109.48],[4054.78,-114.06],[4048.38,-125.35],[4048.91,-145.69],[4045.9,-166.05],[4057.6,-186.97],[4073.81,-199.8],[4129.6,-226.27],[4150.8,-247.23],[4163.36,-248.24],[4177.18,-240.19],[4190.5,-237.49],[4198.14,-233.02],[4206.42,-218.72],[4205.67,-194.05]]}],"water":{"profile":3,"outlines":[],"notes":["Stock sea preserved: fc8 has no -220 ocean; its two M_Sea planes (-30 right of the tee, -110 beyond the green) and the M_XNamiuchi surf lie outside the domain and are restored plain."]},"scenery":{"policy":"declarative","data":{"rules":[{"kind":"select_records","name":"moved","match":{"names":["TREE2"]},"count":18,"note":"All 18 TREE2 records (PMP indices 2-19). The frozen chain takes the first 18 records of group/id (2,2)/(2,3) in file order, which are exactly these."},{"kind":"select_records","name":"companions","match":{"names":["TREE2ENV"]},"count":6,"note":"The six TREE2ENV records (PMP 101-106); each shares its stock X/Z with one moved TREE2."},{"kind":"explicit","records":"moved","sites":[[730,-790],[860,-700],[1040,-650],[760,-90],[950,-110],[1180,-85],[2120,600],[2260,640],[2410,580],[2570,620],[2680,560],[3320,-400],[3480,-360],[3660,-300],[3380,620],[3540,560],[3720,500],[3880,450]]},{"kind":"ground","records":"moved","y_offset":0.0},{"kind":"move_with_companion","records":"companions","companion":"moved","note":"_relocate_scenery: a TREE2ENV follows the TREE2 with its stock X/Z (3 decimals) and keeps its Y offset to it."}],"requirements":{"records_moved_min":18,"move_distance_min":150}},"notes":["The frozen chain leaves the map layer's glf_tree_fc8 model untouched, so there is no map_mirror rule (adding one would change the map).","Y is the top serialized collision surface at the site, as the `ground` rule does (correction 1: rough 8, oob 7, cliff 1, sand 1, fairway 1). Build 5 regrounds the 18 trees on its own KCL.","Site 1 (TREE2 record 2) moved from [700, -780] to [730, -790] (2026-10-27, H12 wall ends): the old site lies 3 units inside wall end W3's rock core, where object_grounding finds no top-owned rough; the new one is 28 units outside it."]},"cameras":{"policy":"donor-unchanged"},"minimap":{"policy":"declarative","data":{"transform":"centered-forward","target":[4100.0,0.0],"registration":{"center":[4212.0,-6.0],"radii":[150.0,300.0],"full_radius":1.3,"fade_radius":28.0}},"notes":["Rigid centered-forward map from the tee marker (world -741.1109, 2133.4878) to world(4100, 0) via minimap_presentation.orient_brres (rotation -3.8518 degrees), then blended back to physical X/Z inside the registration ellipse about the cup cluster (s 4141-4280, t -58..50; weight 1 to full_radius, smoothstep fade to fade_radius), H10's form, so the static cup/flag overlay lands on the map green (defects.md D1: the un-blended map put the marker and flag west of the tee and green). Run scripts/minimap_registration_quality.py before the boot.","Registration radii [150, 300], full_radius 1.3, fade_radius 28 (build 4, orchestrator's call 2026-10-26; H10 declares fade 4.0): the rigid placement moves H12's map 741 units in X at the tee and 458 at the cup cluster (H10's about 13); fading that offset over 4.0 radii folds the map (Jacobian singular values 0.011-2.67; the map uv chart guard refused map M_Fairway and M_Bunker at 0.74 and 0.79 of the stock rate). Of a sweep over radii, full and fade radius this one sags the presented domain edges least (max 0.99 units against 1.98 at fade 20), which keeps contract_safeguards vertical's 1-unit domain_edge inset off the map's stock M_OB; its margin is about 0.01 units. The robust fix (subdivide the map rim faces before the transform, or a sag tolerance in the check) is builder gap work. minimap_registration_quality (build 4): all six cups on map M_Green with margins 44-86, tee and player on map fairway after the transform (margin 43.9); the tee keeps the rigid placement."]},"limits":[{"name":"course_brres_bytes","value":1931000,"comparison":"<=","unit":"bytes","note":"Ground-emitter port with M_Iwa rewritten (byte-budget.md: predicted 1,568,739, +8%); below the installed correction-1 1,798,976. Raised to 1,911,000 (owner decision 2026-10-26: lips on all sand; build 4 measured 1,910,112); the Wii owns the resource margin. Raised to 1,931,000 (owner decision 2026-10-27, H12 wall ends: up to 1,935,000; the wall-end rock, the 3,600-triangle partition and the bowed W1 rim measured 1,930,016 in memory)."},{"name":"map_brres_bytes","value":690000,"comparison":"<=","unit":"bytes","note":"Ground-emitter port with M_Iwa rewritten (byte-budget.md: predicted 637,775, +8%). Above correction 1's 661,952: the combined line binds."},{"name":"kcl_bytes","value":1065000,"comparison":"<=","unit":"bytes","note":"Ground-emitter port (byte-budget.md: predicted 987,598 at 93.7 B/prism, +8%); below the installed correction-1 1,113,898."},{"name":"combined_live_bytes","value":3419000,"comparison":"<=","unit":"bytes","note":"Native ceiling 3,574,826 less the 250,000 headroom STATUS keeps. Raised to 3,419,000 (owner decision 2026-10-26: lips on all sand, the cap may be exceeded on this first run; build 4 measured 3,418,380, under the 3,574,826 black-screen line); the Wii owns the resource margin."},{"name":"native_live_bytes_vs_h12_black_screen","value":3574826,"comparison":"<","unit":"bytes","note":"STATUS resource screen (strict); installed correction 1 equals it and fails."}],"references":[],"construction":{"emitter":"ground","lighting":{"policy":"single-slope","smooth_roles":[],"terrain_color_roles":[],"note":"Builder defaults (Phase 9 step 2; memory: use stock lighting): the donor emitter's legacy policy and donor normals are gone. Bunker, rough and fairway bake under the light fitted on the whole stock rough draw (bake_light rough), as H17; green and fringe are neutral-lit. The owner judges lighting in Dolphin.","stock_range_roles":["rough"]},"mesh":{"minimum_angle":20.0,"maximum_area":{"fairway":4000.0,"rough":20000.0,"bunker":1400.0,"green":800.0,"fringe":600.0},"max_triangles":3600,"max_refinements":5,"cup_cells":{"radius":7.4,"sides":3,"rotation_deg":90.0},"sites":[{"kind":"points","points":[[2500.0,180.0],[2500.0,220.0],[2500.0,260.0],[2500.0,300.0],[2500.0,340.0],[2500.0,380.0],[2500.0,420.0],[2440.0,256.0],[2560.0,344.0]]}],"note":"byte-budget.md Proposal: coarse areas for the 3,324,826 combined cap (the rough area is inert: Triangle grades rough to its neighbours; bunker and fairway areas are the levers); bunker 1400 (build 2, from 1200) for the 200 KB target. One cell per cup, radius 7.4 (H17). Point sites across the s 2500 crest (s 2500 at t 180-420 every 40, and the centreline at s 2440 and 2560): at fairway area 4000 the triangles chorded the 22.4-unit cosine crest and the KCL top read 45.2 against PROFILE_Y 48 (build 2 probe); with them it reads 48.7."},"native_finish":{"minimum_altitude":0.001,"station_spacing":20.0},"restore_native_draws":[{"material":"M_Iwa","non_walls":"rough","shoulders":"stock","drop_inside":"domain","primitive_mode":"strips"},{"material":"M_OB","drop_inside":"domain","layers":["course","map"],"primitive_mode":"strips"},{"material":"M_Kiwa_OB","drop_inside":"domain","primitive_mode":"strips"},{"material":"M_Kiwa_Black","drop_inside":"domain","primitive_mode":"strips"},{"material":"M_Sea","layers":["course","map"]},"M_XNamiuchi","M_Hayashi","M_Mount",{"material":"M_Rough","outside_domain":true,"layers":["course","map"]},{"material":"M_Fairway","outside_domain":true,"layers":["course","map"]},{"material":"M_Bunker","outside_domain":true,"layers":["course","map"]},{"material":"M_Kiwa_R","outside_domain":true},{"material":"M_Kiwa_F","outside_domain":true},{"material":"M_Kiwa_Bunker","outside_domain":true}],"collision":{"preserve_attrs":["0x0805"],"preserve_outside_domain":["0x0101","0x0102","0x0103","0x0104","0x0106","0x0107","0x0109","0x010C"],"cup_margin_min":3.5},"surfaces":[],"rock_wall_top":"piece","pmp":{"player_y":"marker","records":[]},"outlines":{"spacing":40.0,"radius":80.0,"exclude":["approach-gate","approach_gate_bowl","fringe","green","green_complex","greenside-back","greenside-left","rough_margin","seaward-beach","split-scar","tee_pad"],"domain":{"spacing":80.0,"radius":200.0,"spans":[[264,272],[275,4],[6,11],[32,36],[38,48]]}},"grade_limits":{"fairway":0.45,"green":0.37,"fringe":0.31},"max_rim_step":2.0,"notes":["Phase 9 step 2 build 2 (2026-10-26): the ground emitter replaces the deprecated donor emitter (h12-port/contract-brief.md). M_OB (course and map) and the M_Kiwa decor are restored with drop_inside: domain, so their stock faces inside the domain (M_OB 301, Kiwa_OB 284, Kiwa_Black 494) no longer double under the authored ground and the faces outside stay byte for byte. The lip materials M_Kiwa_R, M_Kiwa_F and M_Kiwa_Bunker are outside_domain merges (H17's form), not drop_inside restores: a drop_inside restore rewrites the finished draw from the stock faces and silently drops native_finish's lips (build 4 probe: every lip triangle gone, their arrays left behind); the merge keeps the lips and adds the stock faces outside the domain (R 278, F 246, Bunker 346; the lips, 2,870 triangles, are in the same draws); primitive_mode strips on the drop_inside restores (build 1's triangle lists grew M_OB 92.7 KB to 140.8 KB per layer; strips keep it at 90.1 KB). M_XNamiuchi, M_Hayashi and M_Mount stay plain restores (strips saved nothing on them, and only a plain restore is exempted byte for byte by the derived UV policy). The outside_domain merges stay triangle lists (the builder writes merges as triangles).","M_Iwa (course layer, H17's form) with drop_inside: domain: the 80 stock faces inside the domain (the walls at s 750-1000 and 2250-2750 among them) are dropped, walls outside stay rock on their stock UV rows (shoulders: stock). Revisited for the map layer in build 2: layers [course, map] still fails rock_wall_uv (a 169-row map piece cannot reach the minimum UV area; the builder skips stock rock rows on the course layer only) and a second, map-only M_Iwa entry is refused (a material restored twice), so the map draws no M_Iwa (builder gap, step 2 build 2 report).","collision: preserve_outside_domain keeps the stock fairway, rough, bunker, OB, green, water, fringe and rock prisms only where their centroid lies outside the domain (build 2: kept 524/1282/923/3821/0/5/0/618, dropped 529/497/341/301/446/0/131/80), so the stock land outside has collision and the authored mesh alone owns the domain; preserve_attrs keeps the 46 0x0805 deep-trigger prisms whole.","outside_domain merges bring the stock rough, fairway and bunker faces outside the domain back on both layers; the stock green and fringe lie wholly inside the domain (build 1 merged 0 of 446 and 0 of 131), so neither is merged (the north bar, the far field, the stock greenside_left and greenside_back bunkers).","rock_wall_top piece: fc8's M_Iwa walls span 529 units (-228 to 301); one layer-wide band fits V at 0.00106/unit, which leaves a stock wall face of 8.4 square units below the 1e-4 UV area even at 4x U.","outlines: spacing 40, radius 80 (build 5, owner defect 2; build 4 ran spacing 100 / radius 40 from the byte brief, so the route kept 100-unit chords and corners turning up to 60 degrees, the cut_sharp limit). Stock fairway outlines run 26-47 units between vertices; radius 80 rounds the route's 250-unit station corners (max output turn 42 degrees, 239 vertices) and keeps its 90-160-wide end caps (radius 120 cut the tee cap). Spacing 30 exceeds mesh.max_triangles 3500. Smoothed: route only. Excluded: fringe, green and the green_complex shelf (the stock fringe outline verbatim), tee_pad, rough_margin's O' (as traced), the five bunkers (stock outlines or naturalized in the contract, regions notes) and approach_gate_bowl. No geometry guard grades a final outline's spacing or turns outside the green and fringe (green_fringe category); cut_sharp in smooth() is the only shape rule.","grade_limits: fairway 0.45 (stock fc8 fairway max 0.448), green 0.37 and fringe 0.31 (H17); no rough limit (the pit-window banks reach 1.85, H17 precedent) and no bunker limit in build 1 (split-scar keeps the reference bank at 1.30; decision E). max_rim_step 2.0: the blend reaches stock at the rim.","Lips (owner decision 2026-10-26, revising decisions C and F): lips on all sand at the builder default width 8 (native_finish without width). Build 5: five bunkers, 5,492 units of rim in 6 runs, 3,668 lip triangles; station_spacing 20 (default 14: the course BRRES measured 1,949,728, over the 1,911,000 row; 28 saved 85 KB more). Stations are every sand boundary vertex, so the outlines' own vertices (20-30 units) set the lip shape. minimum_altitude 0.001 (H03's form) drops conformed float32 slivers (16 in build 5).","Bytes (build 5): course 1,876,192, map 615,040, KCL 717,490, live 3,208,722 (build 4: 3,418,380). The stock greenside bunkers merged as triangle lists cost about 230 KB across course, map and KCL (923 dense M_Bunker faces at 57 B per triangle per layer, 346 M_Kiwa_Bunker and 246 M_Kiwa_F faces); authored with lips they cost less, and fc8's fairway as authored rough replaces 415 merged stock fairway faces. The course and combined rows stay at build 4's values.","Clip (2026-10-26, Phase 9 fix 1 of h12-port/guard-gaps-brief.md): construction.clip: domain cuts the restored stock ground faces (M_OB and M_Iwa drop_inside on course and map, the M_Rough, M_Fairway and M_Bunker outside_domain merges) and the preserved prisms exactly along frame.domain instead of the X/Z centroid rule, and the domain takes a vertex at every stock-edge crossing where the stock surface kinks by more than 0.03, so the authored rim and the cut stock edge share positions and heights on course, map and KCL (contract_safeguards seam witness: max step 0.021). Decor (M_Kiwa_*) and walls keep the centroid rule. Build 5 snapped the domain onto stock M_OB face edges, a staircase of up to 126 units off a smooth line along the 7.7K-unit authored-rough/stock-M_OB seam; outlines.domain smooths only those runs (radius 200, spacing 80): the north run 266..11 and the south run 32..56, each split where it crosses the M_Iwa cliff line (vertices 272-275, 4-6, 36-38 and 48-52 stay on the stock edges build 5 crossed it along, since a wall keeps the centroid rule and a wall face the domain crossed would stand inside it: the vertical witness caught four). Every other domain vertex stays on the stock fairway and rough edges build 5 snapped it to (that seam meets stock rough, not OB). The fc8 fairway band stays rough and the greenside bunkers and approach gate are unchanged. Clipped: 66 M_OB faces per layer into 146 pieces, 66 OB prisms into 143.","compact_indexed_rows (H08/H09's opt-in): a clipped draw's arrays grow (new interpolated rows), so the tail compactor would leave the stock M_OB and M_Iwa array slots dead in the template prefix (about 60 KB per layer); rewriting every drawn array with only its indexed rows reclaims them (decoded values unchanged).","Natural edges (2026-10-27, boundary_shape rows 1-6 of the H12 wall-end plan): split-scar vertices 36-40 and greenside-back vertices 2-7 are Chaikin-rounded (2 rounds) and resampled at 12 u; the seaward-beach tip (vertices 62-65, radius about 5) is a semicircle of radius 13.6 on the chord from vertex 61 to 66 at 10 u spacing (8 u raises native_finish's Float32 ribbon envelope). tee_pad is the convex hull of its 16-gon (r 56) and the prepared, smoothed route vertices within 125 u of the pad centre, at their exact float coordinates (a hull rounded to 3 decimals runs away in Triangle): it depends on the route's smoothed vertices, so regenerate it whenever route or construction.outlines change.","Meander (2026-10-27, boundary_shape rows 7-12 of the H12 wall-end plan): construction.outlines.meander {amplitude 6, wavelength 260} offsets every smoothed region outline along its normal by A(0.6 sin(2 pi a/L) + 0.4 sin(2 pi a/0.43L + 1.3)), each wave of a closed loop fitted to a whole number of periods; outlines.domain.meander {10, 360} does the same on each smoothed domain span, tapered to zero over L/2 at both span ends so the span ends stay on their stock edges. The north span starts at vertex 264 (was 266). Pinned by sweep: boundary_shape 6 failing runs to 2 (both at wall end W1, which the wall-end treatment owns); course 1,887,072 to 1,910,176 (in memory, U8 6b6144dd), 824 under course_brres_bytes. tee_pad was hulled against the unmeandered route (the excluded pad is verbatim); regenerate it if the route outline changes again. Superseded (2026-10-29, Phase 10 step 2): both meander rows and the rounds 2 rows are removed; the edge solver (hole_edges) bends every straight stretch by default. Without the hand domain meander the step-1 grade solver was infeasible at frame (751.4, -681.4), grade 1.019 against cap 1.0 (a cap cell cut by the core outline whose ground corners linked only around the core); grade_cap now links a cell diagonal past a cut cliff corner, the solver takes one generated-site step per evaluation, and the edge solver turns the route's 10.2-degree crossing of the verbatim split-scar bunker to the quality angle.","Wall ends (owner decisions 2026-10-27; solver since 2026-10-28): rock is restored where the stock walls end against authored ground. Phase 10 step 1c removed the hand construction.wall_ends W1-W4, their breaklines and the grade_cap_wN rows; the grade solver now grows the rock cores from the steep sites and caps the ring around them (4 cores, 6 caps; pooled authored rock ratio 0.279, gate 0.35).","Steep banks away from the walls (owner decision 3, 2026-10-27): the hand grade_cap rows bank1-bank3 are removed; the solver's caps re-grade the banks with fairway, green and fringe fixed. One cap releases the bunker as bank2 did, so seaward-beach's sand moves by up to 11.6 units (hand rows: 9.9), the only playing-surface height change."],"clip":"domain","compact_indexed_rows":true,"grade_solver":{"intent":"rock"}},"provenance":{"promoted":{"date":"2026-10-21","candidate":"golf-engine/build/hole/h12-candidate"},"extracted_from":{"script":"golf-engine/scripts/h12_full_reroute.py","chain":[{"script":"golf-engine/scripts/h12_full_reroute.py","sha256":"4e8f14845b2267e30def46289e5108dc4eb4070a467523d3e32922b39699325f"},{"script":"golf-engine/scripts/back_nine_h10_h12.py","sha256":"d0fce854be8353a1fbc400daeb03fbc368dcc179f55f49e8435da97054fb3eae"},{"script":"golf-engine/scripts/back_nine_pack.py","sha256":"700d228dfd13ee3cc4ce133ce78f66cee59c629c6347c8eade7bcbf748762201"}],"notes":["STATUS installed line: H12 correction 1 (U8 019ae5c5..., live 3,574,826 bytes, equal to the black-screen ceiling) built by h12_full_reroute (sha 4e8f1484).","Every value is authored data taken from the frozen chain or the Phase 9 surveys; nothing is bound. tests/test_h12_contract_height.py no longer exists; no test compares this contract with the frozen script.","Witnesses (build 2, 2026-10-26): the 46 0x0805 prisms and the stock 0x0104 prisms outside the domain are witnessed by contract_safeguards collision (every preserved prism matched value for value; no stock preserve_outside_domain prism may survive inside the domain); the 0x0104 count is reported there, not limited. PROFILE_Y within 2.0 at the 18 stations has no witness: no contract form declares a target height profile, and the derived routes and surface_agreement gates compare the final bytes with the contract height only at the tee and cups (a build without the s 2500 crest sites read 45.2 there and still passed). Measured offline: all 18 within 2.0. Still not declared from the frozen verify(): donor-retention fractions, the s 2500 route width band and the test-only coastal and player-height measures.","Phase 9 step 2 (2026-10-25): the donor-emitter contract (route band delta over stock fc8, null bounds, base_role null, donor-preserved cups, region from lists) is replaced by a declared ground-emitter contract from the five step 1 surveys (build/hole/h12-port/survey/) and contract-brief.md; the frozen chain's design intent (routes, regions, hazards, scenery, PROFILE_Y) is kept."]}}}}