{
  "GenerateDielineRequest": {
    "type": "object",
    "properties": {
      "production": {
        "type": "boolean",
        "default": false,
        "description": "Set to true for production output."
      },
      "drawing": {
        "type": "object",
        "properties": {
          "id": { "type": "integer", "example": 1 },
          "drawingPosition": {
            "type": "object",
            "properties": {
              "x": { "type": "number", "example": 0 },
              "y": { "type": "number", "example": 0 },
              "w": { "type": "number", "example": 100 },
              "h": { "type": "number", "example": 100 }
            },
            "required": ["x", "y", "w", "h"]
          },
          "frontArtwork": { "type": "string", "example": "https://<your-domain>/front.svg" },
          "rearArtwork": { "type": "string", "example": "https://<your-domain>/rear.svg" },
          "flutedir": {
            "type": "string",
            "enum": ["FD_unknown", "FD_X", "FD_Y", "FD_Any"],
            "example": "FD_unknown"
          },
          "viewside": {
            "type": "string",
            "enum": ["DVS_Unknown", "DVS_ViewFront", "DVS_ViewBack"],
            "example": "DVS_Unknown"
          }
        },
        "required": ["id", "drawingPosition", "frontArtwork", "flutedir", "viewside"]
      },
      "params": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": { "type": "string", "example": "w" },
            "expression": { "type": "string", "example": "200" }
          }
        }
      },
      "material": {
        "$ref": "./MaterialSchema.json#/Material"
      }
    }
  }
}
