{"id":"v001","input":{"vectors":[{"x":3,"y":4},{"x":-1,"y":2},{"x":2,"y":-3}]},"expect":{"result.magnitude":5.0,"result.x":4.0,"result.y":3.0,"result.direction.value":53.13010235415598,"ok":true},"source":"Vector algebra evaluated in Python (tools/vectors/gen_vector3d.py)","sourceVersion":"2026","tolerance":{"result.magnitude":{"abs":1e-12},"result.x":{"abs":1e-12},"result.y":{"abs":1e-12},"result.direction.value":{"abs":1e-12}}}
{"id":"v002","input":{"vectors":[{"x":1,"y":0,"z":0},{"x":0,"y":1,"z":0}]},"expect":{"result.magnitude":1.4142135623730951,"result.x":1.0,"result.y":1.0,"result.direction.value":45.0,"result.z":0.0,"result.dot":0.0,"result.angle_between.value":90.0,"result.projection":0.0,"ok":true},"source":"Vector algebra evaluated in Python (tools/vectors/gen_vector3d.py)","sourceVersion":"2026","tolerance":{"result.magnitude":{"abs":1e-12},"result.x":{"abs":1e-12},"result.y":{"abs":1e-12},"result.direction.value":{"abs":1e-12},"result.z":{"abs":1e-12},"result.dot":{"abs":1e-12},"result.angle_between.value":{"abs":1e-12},"result.projection":{"abs":1e-12}}}
{"id":"v003","input":{"vectors":[{"x":2,"y":3,"z":4},{"x":5,"y":6,"z":7}],"convention":"mathematical"},"expect":{"result.magnitude":15.84297951775486,"result.x":7.0,"result.y":9.0,"result.direction.value":52.1250163489018,"result.z":11.0,"result.dot":56.0,"result.angle_between.value":7.475790632379403,"result.projection":5.339390499775317,"ok":true},"source":"Vector algebra evaluated in Python (tools/vectors/gen_vector3d.py)","sourceVersion":"2026","tolerance":{"result.magnitude":{"abs":1e-12},"result.x":{"abs":1e-12},"result.y":{"abs":1e-12},"result.direction.value":{"abs":1e-12},"result.z":{"abs":1e-12},"result.dot":{"abs":1e-12},"result.angle_between.value":{"abs":1e-12},"result.projection":{"abs":1e-12}}}
{"id":"v004","input":{"vectors":[{"x":10,"y":0},{"x":0,"y":10}],"convention":"mathematical"},"expect":{"result.magnitude":14.142135623730951,"result.x":10.0,"result.y":10.0,"result.direction.value":45.0,"result.dot":0.0,"result.angle_between.value":90.0,"result.projection":0.0,"ok":true},"source":"Vector algebra evaluated in Python (tools/vectors/gen_vector3d.py)","sourceVersion":"2026","tolerance":{"result.magnitude":{"abs":1e-12},"result.x":{"abs":1e-12},"result.y":{"abs":1e-12},"result.direction.value":{"abs":1e-12},"result.dot":{"abs":1e-12},"result.angle_between.value":{"abs":1e-12},"result.projection":{"abs":1e-12}}}
{"id":"v005","input":{"vectors":[{"x":1.5,"y":-2.5,"z":3.25},{"x":-4,"y":0.5,"z":2}]},"expect":{"result.magnitude":6.149186938124422,"result.x":-2.5,"result.y":-2.0,"result.direction.value":231.3401917459099,"result.z":5.25,"result.dot":-0.75,"result.angle_between.value":92.1876960636149,"result.projection":-0.16666666666666666,"ok":true},"source":"Vector algebra evaluated in Python (tools/vectors/gen_vector3d.py)","sourceVersion":"2026","tolerance":{"result.magnitude":{"abs":1e-12},"result.x":{"abs":1e-12},"result.y":{"abs":1e-12},"result.direction.value":{"abs":1e-12},"result.z":{"abs":1e-12},"result.dot":{"abs":1e-12},"result.angle_between.value":{"abs":1e-12},"result.projection":{"abs":1e-12}}}
{"id":"v006","input":{"vectors":[{"x":1,"y":"north"}]},"expect":{"ok":false,"error.code":"INVALID_INPUT","error.field":"/vectors/0/y"},"source":"Vector algebra evaluated in Python (tools/vectors/gen_vector3d.py)","sourceVersion":"2026","tolerance":{}}
{"id": "v007", "input": {"vectors": [{"x": 1.0, "y": 0.0}, {"x": 0.0, "y": 1.0}]}, "expect": {"ok": true, "result.x": 1.0, "result.y": 1.0, "result.magnitude": 1.4142135623730951, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v008", "input": {"vectors": [{"x": 3.0, "y": 4.0}, {"x": -3.0, "y": -4.0}]}, "expect": {"ok": true, "result.x": 0.0, "result.y": 0.0, "result.magnitude": 0.0, "result.dot": -25.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v009", "input": {"vectors": [{"x": 1.0, "y": 2.0}, {"x": 3.0, "y": 4.0}, {"x": 5.0, "y": 6.0}]}, "expect": {"ok": true, "result.x": 9.0, "result.y": 12.0, "result.magnitude": 15.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}}}
{"id": "v010", "input": {"vectors": [{"x": 1.0, "y": 0.0, "z": 0.0}, {"x": 0.0, "y": 0.0, "z": 1.0}]}, "expect": {"ok": true, "result.x": 1.0, "result.y": 0.0, "result.magnitude": 1.4142135623730951, "result.z": 1.0, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.z": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v011", "input": {"vectors": [{"x": 2.0, "y": -3.0, "z": 6.0}, {"x": 1.0, "y": 2.0, "z": -2.0}]}, "expect": {"ok": true, "result.x": 3.0, "result.y": -1.0, "result.magnitude": 5.0990195135927845, "result.z": 4.0, "result.dot": -16.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.z": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v012", "input": {"vectors": [{"x": 0.0, "y": 0.0, "z": 0.0}, {"x": 5.0, "y": 12.0, "z": 0.0}]}, "expect": {"ok": true, "result.x": 5.0, "result.y": 12.0, "result.magnitude": 13.0, "result.z": 0.0, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.z": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v013", "input": {"vectors": [{"x": -7.0, "y": 24.0}, {"x": 7.0, "y": -24.0}]}, "expect": {"ok": true, "result.x": 0.0, "result.y": 0.0, "result.magnitude": 0.0, "result.dot": -625.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v014", "input": {"vectors": [{"x": 1.0, "y": 1.0, "z": 1.0}, {"x": 1.0, "y": 1.0, "z": 1.0}]}, "expect": {"ok": true, "result.x": 2.0, "result.y": 2.0, "result.magnitude": 3.4641016151377544, "result.z": 2.0, "result.dot": 3.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.z": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v015", "input": {"vectors": [{"x": 10.0, "y": 0.0, "z": 0.0}, {"x": 0.0, "y": 10.0, "z": 0.0}, {"x": 0.0, "y": 0.0, "z": 10.0}]}, "expect": {"ok": true, "result.x": 10.0, "result.y": 10.0, "result.magnitude": 17.320508075688775, "result.z": 10.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.z": {"abs": 1e-12}}}
{"id": "v016", "input": {"vectors": [{"x": 6.0, "y": 8.0}, {"x": 8.0, "y": -6.0}]}, "expect": {"ok": true, "result.x": 14.0, "result.y": 2.0, "result.magnitude": 14.142135623730951, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v017", "input": {"vectors": [{"x": 1.5, "y": -2.5, "z": 3.5}, {"x": -1.5, "y": 2.5, "z": -3.5}]}, "expect": {"ok": true, "result.x": 0.0, "result.y": 0.0, "result.magnitude": 0.0, "result.z": 0.0, "result.dot": -20.75}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.z": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v018", "input": {"vectors": [{"x": 100.0, "y": 0.0}, {"x": 0.0, "y": 0.0001}]}, "expect": {"ok": true, "result.x": 100.0, "result.y": 0.0001, "result.magnitude": 100.00000000005001, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v019", "input": {"vectors": [{"x": 0.0, "y": 5.0}, {"x": 5.0, "y": 0.0}]}, "expect": {"ok": true, "result.x": 5.0, "result.y": 5.0, "result.magnitude": 7.0710678118654755, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v020", "input": {"vectors": [{"x": -3.0, "y": -4.0, "z": 0.0}, {"x": 3.0, "y": 4.0, "z": 0.0}]}, "expect": {"ok": true, "result.x": 0.0, "result.y": 0.0, "result.magnitude": 0.0, "result.z": 0.0, "result.dot": -25.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.z": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v021", "input": {"vectors": [{"x": 1.0, "y": 1.0}, {"x": 1.0, "y": -1.0}]}, "expect": {"ok": true, "result.x": 2.0, "result.y": 0.0, "result.magnitude": 2.0, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
{"id": "v022", "input": {"vectors": [{"x": 12.0, "y": 5.0}, {"x": 0.0, "y": 0.0}]}, "expect": {"ok": true, "result.x": 12.0, "result.y": 5.0, "result.magnitude": 13.0, "result.dot": 0.0}, "source": "Exact trigonometry and vector algebra from the definitions (tools/vectors/gen_nav_vector.py)", "sourceVersion": "definition", "tolerance": {"result.x": {"abs": 1e-12}, "result.y": {"abs": 1e-12}, "result.magnitude": {"abs": 1e-12}, "result.dot": {"abs": 1e-12}}}
