{
  "fileVersion": 1,
  "objects": [
    {
      "id": "vector-110",
      "type": "vector",
      "color": "#e06c75",
      "wireframe": false,
      "x": 1,
      "y": 2,
      "z": -3,
      "showLabel": true
    },
    {
      "id": "vector-111",
      "type": "vector",
      "color": "#7F77DD",
      "wireframe": false,
      "x": 0,
      "y": 3,
      "z": 1,
      "showLabel": true
    },
    {
      "id": "vector-112",
      "type": "vector",
      "color": "#5DCAA5",
      "wireframe": false,
      "x": 1,
      "y": 5,
      "z": -2,
      "showLabel": true
    },
    {
      "id": "vector-114",
      "type": "vector",
      "color": "#EF9F27",
      "wireframe": false,
      "x": 1,
      "y": -1,
      "z": -4,
      "showLabel": true
    },
    {
      "id": "parallelepiped-115",
      "type": "parallelepiped",
      "color": "#F0997B",
      "wireframe": false,
      "v1": [
        1,
        2,
        -3
      ],
      "v2": [
        0,
        3,
        1
      ],
      "v3": null,
      "area": 11.445523142259598
    }
  ],
  "nodes": [
    {
      "id": "vec3Node-107",
      "type": "vec3Node",
      "position": {
        "x": -552.9664884339021,
        "y": 315.911719210458
      },
      "data": {
        "params": {
          "x": 1,
          "y": 2,
          "z": -3
        },
        "label": "v1",
        "exposed": true
      },
      "width": 245,
      "height": 141
    },
    {
      "id": "vec3Node-108",
      "type": "vec3Node",
      "position": {
        "x": -743.0680031846819,
        "y": 586.7167308532386
      },
      "data": {
        "params": {
          "x": 0,
          "y": 3,
          "z": 1
        },
        "label": "v2",
        "exposed": true
      },
      "width": 245,
      "height": 141,
      "selected": false,
      "positionAbsolute": {
        "x": -743.0680031846819,
        "y": 586.7167308532386
      },
      "dragging": false
    },
    {
      "id": "vectorOpNode-109",
      "type": "vectorOpNode",
      "position": {
        "x": 208.68678222425288,
        "y": 221.08430172170546
      },
      "data": {
        "params": {
          "operation": "add",
          "showResult": false,
          "color": "#a78bfa",
          "tipToTail": true
        }
      },
      "width": 220,
      "height": 239
    },
    {
      "id": "obj-vector-110",
      "type": "objectNode",
      "position": {
        "x": -324.30545519058694,
        "y": 142.32444461725595
      },
      "data": {
        "objectId": "vector-110",
        "label": "V1",
        "color": "#e06c75"
      },
      "width": 252,
      "height": 218,
      "selected": false,
      "positionAbsolute": {
        "x": -324.30545519058694,
        "y": 142.32444461725595
      },
      "dragging": false
    },
    {
      "id": "obj-vector-111",
      "type": "objectNode",
      "position": {
        "x": -325.31691899881076,
        "y": 513.0670868476742
      },
      "data": {
        "objectId": "vector-111",
        "label": "V2",
        "color": "#7F77DD"
      },
      "width": 252,
      "height": 218,
      "selected": false,
      "positionAbsolute": {
        "x": -325.31691899881076,
        "y": 513.0670868476742
      },
      "dragging": false
    },
    {
      "id": "obj-vector-112",
      "type": "objectNode",
      "position": {
        "x": 774.2262940274607,
        "y": 267.76372041728536
      },
      "data": {
        "objectId": "vector-112",
        "label": "V1+V2",
        "color": "#5DCAA5"
      },
      "width": 252,
      "height": 218
    },
    {
      "id": "vectorOpNode-113",
      "type": "vectorOpNode",
      "position": {
        "x": 343.15158443124653,
        "y": 589.5863300695884
      },
      "data": {
        "params": {
          "operation": "sub",
          "showResult": false,
          "color": "#a78bfa",
          "tipToTail": true
        }
      },
      "width": 220,
      "height": 239
    },
    {
      "id": "obj-vector-114",
      "type": "objectNode",
      "position": {
        "x": 794.2883244941834,
        "y": 546.7035515848436
      },
      "data": {
        "objectId": "vector-114",
        "label": "V1-V2",
        "color": "#EF9F27"
      },
      "width": 252,
      "height": 218,
      "selected": true,
      "positionAbsolute": {
        "x": 794.2883244941834,
        "y": 546.7035515848436
      },
      "dragging": false
    },
    {
      "id": "obj-parallelepiped-115",
      "type": "objectNode",
      "position": {
        "x": 164.7010488108326,
        "y": 576.643900499148
      },
      "data": {
        "objectId": "parallelepiped-115",
        "label": "Parallelepiped",
        "color": "#F0997B"
      },
      "width": 250,
      "height": 193
    },
    {
      "id": "note-116",
      "type": "noteNode",
      "position": {
        "x": 0,
        "y": 0
      },
      "data": {
        "title": "Note",
        "description": "This scene shows two vectors, v₁ and v₂, along with:\n\n* The sum v₁ + v₂\n* The difference v₁ − v₂\n\nThe scene illustrates the tip-to-tail method for vector addition, allowing you to visualize how v₁ + v₂ is constructed geometrically.\n\n",
        "suggestions": "Change the coordinates of v₁ and v₂ and observe how their sum, difference, and geometric representations change in the 3D panel.\n"
      }
    }
  ],
  "edges": [
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "vec3Node-107",
      "sourceHandle": "vec-out",
      "target": "obj-vector-110",
      "targetHandle": "param-vec3",
      "id": "reactflow__edge-vec3Node-107vec-out-obj-vector-110param-vec3"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "vec3Node-108",
      "sourceHandle": "vec-out",
      "target": "obj-vector-111",
      "targetHandle": "param-vec3",
      "id": "reactflow__edge-vec3Node-108vec-out-obj-vector-111param-vec3"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "vectorOpNode-109",
      "sourceHandle": "vec-out",
      "target": "obj-vector-112",
      "targetHandle": "param-vec3",
      "id": "reactflow__edge-vectorOpNode-109vec-out-obj-vector-112param-vec3"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "obj-vector-110",
      "sourceHandle": "vec-out",
      "target": "vectorOpNode-109",
      "targetHandle": "vec-in-a",
      "id": "reactflow__edge-obj-vector-110vec-out-vectorOpNode-109vec-in-a"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "obj-vector-111",
      "sourceHandle": "vec-out",
      "target": "vectorOpNode-109",
      "targetHandle": "vec-in-b",
      "id": "reactflow__edge-obj-vector-111vec-out-vectorOpNode-109vec-in-b"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "obj-vector-110",
      "sourceHandle": "vec-out",
      "target": "vectorOpNode-113",
      "targetHandle": "vec-in-a",
      "id": "reactflow__edge-obj-vector-110vec-out-vectorOpNode-113vec-in-a"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "obj-vector-111",
      "sourceHandle": "vec-out",
      "target": "vectorOpNode-113",
      "targetHandle": "vec-in-b",
      "id": "reactflow__edge-obj-vector-111vec-out-vectorOpNode-113vec-in-b"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "vectorOpNode-113",
      "sourceHandle": "vec-out",
      "target": "obj-vector-114",
      "targetHandle": "param-vec3",
      "id": "reactflow__edge-vectorOpNode-113vec-out-obj-vector-114param-vec3"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "obj-vector-110",
      "sourceHandle": "vec-out",
      "target": "obj-parallelepiped-115",
      "targetHandle": "param-vec3-a",
      "id": "reactflow__edge-obj-vector-110vec-out-obj-parallelepiped-115param-vec3-a"
    },
    {
      "markerEnd": {
        "type": "arrowclosed",
        "color": "#8b82ee",
        "width": 16,
        "height": 16
      },
      "style": {
        "stroke": "#8b82ee",
        "strokeWidth": 2.5
      },
      "source": "obj-vector-111",
      "sourceHandle": "vec-out",
      "target": "obj-parallelepiped-115",
      "targetHandle": "param-vec3-b",
      "id": "reactflow__edge-obj-vector-111vec-out-obj-parallelepiped-115param-vec3-b"
    }
  ],
  "clock": {
    "running": false,
    "globalTime": 0,
    "speed": 1
  }
}