{"id":"v001","input":{"area":"1 km2","gsd":"2 cm"},"expect":{"result.ortho_gb":7.5,"result.ortho_low_gb":3.75,"result.ortho_high_gb":0.75,"ok":true},"source":"add-practitioner-essentials scenarios (orthomosaic: 7.5 GB uncompressed)","sourceVersion":"2026","tolerance":{"result.ortho_gb":{"rel":1e-09,"abs":1e-09},"result.ortho_low_gb":{"rel":1e-09,"abs":1e-09},"result.ortho_high_gb":{"rel":1e-09,"abs":1e-09}}}
{"id":"v002","input":{"area":"0.25 km2","gsd":"1.5 cm","bands":4,"bit_depth":16,"compression_low":1.5,"compression_high":4},"expect":{"result.ortho_gb":8.88888888888889,"result.ortho_low_gb":5.9259259259259265,"result.ortho_high_gb":2.2222222222222223,"ok":true},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{"result.ortho_gb":{"rel":1e-09,"abs":1e-09},"result.ortho_low_gb":{"rel":1e-09,"abs":1e-09},"result.ortho_high_gb":{"rel":1e-09,"abs":1e-09}}}
{"id":"v003","input":{"image_count":850,"image_mb":25},"expect":{"result.raw_gb":21.25,"ok":true},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{"result.raw_gb":{"rel":1e-09,"abs":1e-09}}}
{"id":"v004","input":{"point_count":250000000.0},"expect":{"result.las_gb":7.500000375,"result.laz_gb":1.071428625,"ok":true},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{"result.las_gb":{"rel":1e-09,"abs":1e-09},"result.laz_gb":{"rel":1e-09,"abs":1e-09}}}
{"id":"v005","input":{"point_count":1000000000.0,"point_format":1,"laz_ratio":10},"expect":{"result.las_gb":28.000000375,"result.laz_gb":2.8000000375,"ok":true},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{"result.las_gb":{"rel":1e-09,"abs":1e-09},"result.laz_gb":{"rel":1e-09,"abs":1e-09}}}
{"id":"v006","input":{},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{}}
{"id":"v007","input":{"area":"1 km2"},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{}}
{"id":"v008","input":{"image_count":10},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{}}
{"id":"v009","input":{"area":"1 km2","gsd":"2 cm","compression_low":5,"compression_high":2},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"Worked by hand in Python (tools/vectors/gen_sensing.py)","sourceVersion":"2026","tolerance":{}}
