{
  "collection": "Line 01",
  "version": "1.0.0",
  "purpose": "Original, consistent SVG outline icons for iconsforfree.com",
  "variables": {
    "slug": "home",
    "category": "Essentials",
    "concept": "A home destination with a pitched roof and recessed doorway",
    "tags": [
      "house",
      "dashboard",
      "start"
    ]
  },
  "geometry": {
    "viewBox": "0 0 24 24",
    "nominal_size": 24,
    "preferred_centerline_bounds": [
      3,
      3,
      21,
      21
    ],
    "minimum_outer_padding": 1.5,
    "base_stroke_width": 1.75,
    "supported_strokes": [
      1,
      1.5,
      1.75,
      2,
      2.5
    ],
    "stroke_linecap": "round",
    "stroke_linejoin": "round",
    "corner_radius": "1.5\u20132 units for boxes; intentional crisp corners for paper folds and geometric symbols",
    "coordinate_precision": "Prefer integers and half units; at most two decimals",
    "optical_size": "Draw for 24px; inspect at 16, 24, 32 and 48px",
    "safe_stroke": "At 2.5 units, all painted edges remain within the viewBox; separate details enough that they do not merge."
  },
  "svg_contract": {
    "root": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u2026</svg>",
    "allowed_geometry": [
      "path",
      "circle",
      "ellipse",
      "rect",
      "line",
      "polyline",
      "polygon"
    ],
    "forbidden": [
      "scripts",
      "event handlers",
      "foreignObject",
      "external links",
      "embedded images",
      "text",
      "fonts",
      "style elements",
      "CSS",
      "filters",
      "gradients",
      "masks",
      "clip paths",
      "use references",
      "transforms",
      "hard-coded child stroke colors",
      "child stroke widths",
      "outlined or expanded strokes",
      "vector-effect=non-scaling-stroke"
    ],
    "background": "Transparent in source. Optional export background is a first-child rect x=0 y=0 width=24 height=24 with user-selected fill and stroke=none. Never bake background into geometry.",
    "color": "Inherit stroke=currentColor from root. The app can replace root stroke with a validated six-digit hex for portable exports. Inline SVG inherits CSS color; SVG loaded as an img does not inherit the host document color.",
    "size": "Change root width/height only. Keep viewBox fixed. Stroke units scale proportionally with the rendered size.",
    "export_size_range": {
      "min": 16,
      "max": 2048,
      "step": 1,
      "unit": "pixels"
    }
  },
  "prompt_template": "You are the icon designer for iconsforfree.com, collection Line 01 v1. Create ONE original SVG icon for {{slug}} in {{category}}. Concept: {{concept}}. Match the attached approved reference SVGs in optical scale, round caps, simple geometry, and negative space; do not copy any existing library's paths. Use a 24 \u00d7 24 viewBox, fill=none, root stroke=currentColor, root stroke-width=1.75, round line caps and joins. Keep geometry predominantly within 3\u201321; painted edges must stay inside 1.5\u201322.5 at 2.5 stroke where possible. Use a centered, balanced front-facing or orthographic silhouette. Prefer 2\u20136 meaningful primitives and as few path commands as recognition allows. No decoration, shading, text, logos, visual puns, perspective unless essential, or style variants. Keep curves smooth, open areas generous, corners typically 1.5\u20132 units, and line density comparable to the references. Child shapes must inherit all stroke attributes. No expanded strokes, fills, transformations, IDs, CSS, scripts, events, external resources, raster images, filters, clipping, or masks. Transparent background. Test visual legibility at 16/24/32/48px and stroke widths 1/1.5/1.75/2/2.5. Return ONLY a JSON object with slug, name, category, tags (3\u20136 search synonyms), description (one factual, unique sentence about the symbol and its use), and body (only safe SVG geometry markup, no outer svg). Do not return markdown. Never claim a review has passed unless it was actually performed.",
  "reference_icons": [
    "home",
    "search",
    "mail",
    "user",
    "folder",
    "heart"
  ],
  "workflow": [
    "Choose one planned concept from icon-roadmap.json; resolve near-duplicates before drawing.",
    "Attach this contract and 4\u20136 approved source SVGs, then substitute the prompt variables.",
    "Review the returned JSON and geometry; treat generation output as untrusted input.",
    "Run the build validator before adding it to the public library.",
    "Compare visually in a contact sheet at the listed sizes and weights, on light and dark surfaces.",
    "Check recognition, balanced whitespace, consistent line density, collisions, clipping, duplicate concepts, and accessibility naming.",
    "Add reviewed metadata to data/icons.json and regenerate with python3 scripts/build.py.",
    "Update the roadmap status. Never publish placeholder icons or planned-only landing pages."
  ],
  "acceptance_checklist": [
    "Recognizable without its label",
    "No hidden or active content",
    "No child stroke/fill overrides",
    "All stroke presets remain legible",
    "No clipping at maximum supported stroke",
    "Unique slug, accurate category, helpful synonyms",
    "Unique descriptive page copy",
    "No copied paths or brand marks"
  ],
  "notes": [
    "A prompt cannot guarantee visual consistency; keep a human review gate and fixed reference set.",
    "Stroke-weight variants share the same geometry; they are not separate generated icons. Filled, duotone, and optical-size families would require separate specifications."
  ],
  "license": {
    "identifier": "CC0-1.0",
    "url": "https://creativecommons.org/publicdomain/zero/1.0/",
    "scope": "Original Line 01 icon artwork and its SVG/PNG exports",
    "attribution_required": false
  }
}
