{"id":"v001","input":{"existing":[{"elevations":"102.0, 101.5, 101.0"},{"elevations":"101.2, 100.6, 100.2"},{"elevations":"100.4, 99.8, 99.2"}],"cell_size":"25.0 ft","finished_grade":"100.0 ft"},"expect":{"result.net_volume.value":1624.9999999999986,"result.cut_volume.value":1714.409722222221,"result.fill_volume.value":89.40972222222243,"result.net_cubic_yards.value":60.185185185185134,"ok":true},"source":"add-survey-suite scenarios","sourceVersion":"2026","tolerance":{"result.net_volume.value":{"rel":1e-11,"abs":1e-09},"result.cut_volume.value":{"rel":1e-11,"abs":1e-09},"result.fill_volume.value":{"rel":1e-11,"abs":1e-09},"result.net_cubic_yards.value":{"rel":1e-11,"abs":1e-09}}}
{"id":"v002","input":{"existing":[{"elevations":"5.0, 6.0"},{"elevations":"7.0, 8.0"}],"cell_size":"10.0 ft","finished_grade":"4.0 ft"},"expect":{"result.net_volume.value":250.0,"result.cut_volume.value":250.0,"result.fill_volume.value":0.0,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.net_volume.value":{"rel":1e-11,"abs":1e-09},"result.cut_volume.value":{"rel":1e-11,"abs":1e-09},"result.fill_volume.value":{"rel":1e-11,"abs":1e-09}}}
{"id":"v003","input":{"existing":[{"elevations":"98.0, 99.0, 100.5, 101.0"},{"elevations":"98.5, 99.5, 100.2, 101.5"},{"elevations":"99.0, 100.0, 100.8, 102.0"}],"cell_size":"20.0 ft","finished_grade":"100.0 ft"},"expect":{"result.net_volume.value":-59.99999999999943,"result.cut_volume.value":858.9393939393944,"result.fill_volume.value":918.9393939393938,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.net_volume.value":{"rel":1e-11,"abs":1e-09},"result.cut_volume.value":{"rel":1e-11,"abs":1e-09},"result.fill_volume.value":{"rel":1e-11,"abs":1e-09}}}
{"id":"v004","input":{"existing":[{"elevations":"50.0, 50.0"},{"elevations":"50.0, 50.0"}],"cell_size":"5.0 ft","finished_grade":"51.0 ft"},"expect":{"result.net_volume.value":-25.0,"result.cut_volume.value":0.0,"result.fill_volume.value":25.0,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.net_volume.value":{"rel":1e-11,"abs":1e-09},"result.cut_volume.value":{"rel":1e-11,"abs":1e-09},"result.fill_volume.value":{"rel":1e-11,"abs":1e-09}}}
{"id":"v005","input":{"existing":[{"elevations":"102.0, 101.5, 101.0"},{"elevations":"101.2, 100.6, 100.2"},{"elevations":"100.4, 99.8, 99.2"}],"proposed":[{"elevations":"100.5, 100.3, 100.1"},{"elevations":"100.4, 100.2, 100.0"},{"elevations":"100.3, 100.1, 99.9"}],"cell_size":"25 ft"},"expect":{"result.net_volume.value":1124.9999999999982,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.net_volume.value":{"rel":1e-11,"abs":1e-09}}}
{"id":"v006","input":{"existing":[{"elevations":"1, 2, 3"},{"elevations":"1, 2"}],"cell_size":"10 ft","finished_grade":"0 ft"},"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":{}}
