{"id":"v001","input":{"spiral_length":"200.0 ft","radius":"1000.0 ft","delta":"40.0 deg","pi_station":"50+00.00"},"expect":{"result.x.value":199.8000925712279,"result.y.value":6.661906276791725,"result.p.value":1.6660715548175453,"result.k.value":99.96667592439975,"result.total_tangent.value":464.5433106447133,"result.arc_length.value":498.13170079773175,"result.ts_station":"45+35.46","result.st_station":"54+33.59","ok":true},"source":"add-survey-suite scenarios","sourceVersion":"2026","tolerance":{"result.x.value":{"rel":0.0,"abs":1e-06},"result.y.value":{"rel":0.0,"abs":1e-06},"result.p.value":{"rel":0.0,"abs":1e-06},"result.k.value":{"rel":0.0,"abs":1e-06},"result.total_tangent.value":{"rel":0.0,"abs":1e-06},"result.arc_length.value":{"rel":1e-12,"abs":1e-09}}}
{"id":"v002","input":{"spiral_length":"150.0 ft","radius":"800.0 ft","delta":"30.0 deg","pi_station":"23+45.67"},"expect":{"result.x.value":149.86821769580123,"result.y.value":4.684558056362145,"result.p.value":1.1715072227635153,"result.k.value":74.97803270739092,"result.total_tangent.value":289.6512910665558,"result.arc_length.value":268.87902047863906,"result.ts_station":"20+56.02","result.st_station":"26+24.90","ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.x.value":{"rel":0.0,"abs":1e-06},"result.y.value":{"rel":0.0,"abs":1e-06},"result.p.value":{"rel":0.0,"abs":1e-06},"result.k.value":{"rel":0.0,"abs":1e-06},"result.total_tangent.value":{"rel":0.0,"abs":1e-06},"result.arc_length.value":{"rel":1e-12,"abs":1e-09}}}
{"id":"v003","input":{"spiral_length":"300.0 ft","radius":"1500.0 ft","delta":"55.0 deg","pi_station":"100+00.00"},"expect":{"result.x.value":299.7001388568419,"result.y.value":9.992859415187583,"result.p.value":2.4991073322263144,"result.k.value":149.95001388659963,"result.total_tangent.value":932.1015426471682,"result.arc_length.value":1139.896632895322,"result.ts_station":"90+67.90","result.st_station":"108+07.80","ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.x.value":{"rel":0.0,"abs":1e-06},"result.y.value":{"rel":0.0,"abs":1e-06},"result.p.value":{"rel":0.0,"abs":1e-06},"result.k.value":{"rel":0.0,"abs":1e-06},"result.total_tangent.value":{"rel":0.0,"abs":1e-06},"result.arc_length.value":{"rel":1e-12,"abs":1e-09}}}
{"id":"v004","input":{"spiral_length":"100.0 ft","radius":"2000.0 ft","delta":"12.0 deg","pi_station":"7+50.00"},"expect":{"result.x.value":99.9937501808421,"result.y.value":0.8332961316921933,"result.p.value":0.20832868309744457,"result.k.value":49.998958351417436,"result.total_tangent.value":260.2293251096913,"result.arc_length.value":318.8790204786391,"result.ts_station":"4+89.77","result.st_station":"10+08.65","ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.x.value":{"rel":0.0,"abs":1e-06},"result.y.value":{"rel":0.0,"abs":1e-06},"result.p.value":{"rel":0.0,"abs":1e-06},"result.k.value":{"rel":0.0,"abs":1e-06},"result.total_tangent.value":{"rel":0.0,"abs":1e-06},"result.arc_length.value":{"rel":1e-12,"abs":1e-09}}}
{"id":"v005","input":{"spiral_length":"200 ft","radius":"100 ft","delta":"40 deg","pi_station":"50+00"},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{}}
{"id":"v006","input":{"spiral_length":"200 ft","radius":"1000 ft","delta":"10 deg","pi_station":"50+00"},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{}}
