{
  "title": "DependencyModelView Build Roadmap v3",
  "dependencies": [
    {
      "id": "example-json",
      "title": "Example Model JSON",
      "description": "Sample dependency data",
      "position": {
        "x": 9,
        "y": -2
      },
      "extensions": {
        "giraffe": {
          "color": "amber"
        }
      }
    },
    {
      "id": "dependency-element",
      "title": "DependencyElement.js",
      "description": "Renders oval shapes",
      "position": {
        "x": -112,
        "y": 149
      },
      "extensions": {
        "giraffe": {
          "color": "blue"
        }
      }
    },
    {
      "id": "dependency-arrow",
      "title": "DependencyArrow.js",
      "description": "Draws connection arrows",
      "position": {
        "x": 22,
        "y": 319
      },
      "extensions": {
        "giraffe": {
          "color": "teal"
        }
      }
    },
    {
      "id": "core-app",
      "title": "Core Application",
      "description": "Main app logic & canvas",
      "position": {
        "x": 400,
        "y": 200
      },
      "extensions": {
        "giraffe": {
          "color": "violet"
        }
      }
    },
    {
      "id": "interactive",
      "title": "Interactive Features",
      "description": "Edit & create controls",
      "position": {
        "x": 400,
        "y": 340
      },
      "extensions": {
        "giraffe": {
          "color": "emerald"
        }
      }
    },
    {
      "id": "paperscape",
      "title": "PaperScape Integration",
      "description": "Drag-drop & file I/O",
      "position": {
        "x": 650,
        "y": 200
      },
      "extensions": {
        "giraffe": {
          "color": "rose"
        }
      }
    },
    {
      "id": "build-system",
      "title": "ServiceBuilder Config",
      "description": "Build script.build.json",
      "position": {
        "x": 434,
        "y": -8
      },
      "extensions": {
        "giraffe": {
          "color": "amber"
        }
      }
    },
    {
      "id": "ux-polish",
      "title": "UX Polish",
      "description": "Styling & advanced features",
      "position": {
        "x": 650,
        "y": 340
      },
      "extensions": {
        "giraffe": {
          "color": "blue"
        }
      }
    }
  ],
  "relationships": [
    {
      "id": "rel1",
      "type": "requires",
      "source": "core-app",
      "target": "dependency-element",
      "label": "renders with",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel2",
      "type": "requires",
      "source": "core-app",
      "target": "dependency-arrow",
      "label": "draws with",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel3",
      "type": "uses",
      "source": "core-app",
      "target": "example-json",
      "label": "loads",
      "extensions": {
        "giraffe": {
          "style": "dashed"
        }
      }
    },
    {
      "id": "rel4",
      "type": "requires",
      "source": "interactive",
      "target": "core-app",
      "label": "extends",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel5",
      "type": "requires",
      "source": "paperscape",
      "target": "core-app",
      "label": "integrates",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel6",
      "type": "requires",
      "source": "build-system",
      "target": "dependency-element",
      "label": "assembles",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel7",
      "type": "requires",
      "source": "build-system",
      "target": "dependency-arrow",
      "label": "assembles",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel8",
      "type": "requires",
      "source": "build-system",
      "target": "core-app",
      "label": "combines",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel9",
      "type": "requires",
      "source": "ux-polish",
      "target": "interactive",
      "label": "enhances",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    },
    {
      "id": "rel10",
      "type": "requires",
      "source": "ux-polish",
      "target": "paperscape",
      "label": "refines",
      "extensions": {
        "giraffe": {
          "style": "solid"
        }
      }
    }
  ],
  "view": {
    "dependencies": {
      "example-json": {
        "color": "amber"
      },
      "dependency-element": {
        "color": "blue"
      },
      "dependency-arrow": {
        "color": "teal"
      },
      "core-app": {
        "color": "violet"
      },
      "interactive": {
        "color": "emerald"
      },
      "paperscape": {
        "color": "rose"
      },
      "build-system": {
        "color": "amber"
      },
      "ux-polish": {
        "color": "blue"
      }
    }
  }
}