{
  "schema_version": "1.0.0",
  "protocol_id": "dialogue_balloon_blocking_v1",
  "mode": "protocol_derivation",
  "input": {
    "input_type": "text",
    "source_payload": "USER_INPUT_PLACEHOLDER",
    "extracted_semantics": [
      "scene",
      "characters",
      "actions",
      "style",
      "lighting",
      "camera"
    ]
  },
  "context": {
    "domain": [
      "comics",
      "lettering",
      "balloons",
      "readability",
      "layout"
    ],
    "system_type": "mixed",
    "time_horizon": "unspecified",
    "risk_level": "moderate"
  },
  "protocol": {
    "items": [
      {
        "id": "dialogue_balloon_blocking_v1",
        "primary_goal": "Produce artist-ready visual instructions using Dialogue & Balloon Blocking.",
        "goal_refinement": "Translate user ideas into concrete, drawable panels with explicit camera, composition, action, and style constraints for Dialogue & Balloon Blocking.",
        "tasks_and_steps": {
          "steps": [
            {
              "action": "Extract required dialogue lines and assign speaker per line.",
              "frequency": "once",
              "owner": "self",
              "measurement": {
                "type": "count",
                "unit": "lines",
                "collection_method": "checklist"
              }
            },
            {
              "action": "Define reading path (Z-pattern) and reserve negative space for balloons.",
              "frequency": "once",
              "owner": "self",
              "measurement": {
                "type": "other",
                "unit": "reading_path",
                "collection_method": "checklist"
              }
            },
            {
              "action": "Place balloons: exact corner/area, tail direction to mouth, avoid covering faces/hands.",
              "frequency": "once",
              "owner": "self",
              "measurement": {
                "type": "count",
                "unit": "balloons",
                "collection_method": "checklist"
              }
            },
            {
              "action": "Ensure text length fits balloon size; suggest split if > 12–18 words.",
              "frequency": "once",
              "owner": "self",
              "measurement": {
                "type": "other",
                "unit": "fit_ok",
                "collection_method": "checklist"
              }
            }
          ]
        },
        "expected_results_and_obstacles": {
          "expected_results": [
            "Clear, drawable instructions per panel",
            "Consistent style, lighting, and composition rules",
            "Measurable outputs (panel count, elements, placement)"
          ],
          "possible_obstacles": [
            "Overlong dialogue reduces visual clarity",
            "Balloons collide with motion lines or key silhouettes",
            "Reading order ambiguous in crowded panels"
          ]
        },
        "success_criteria": {
          "criteria": [
            {
              "metric": "Panels with specified balloon position+tail",
              "target": "100% in Dialogue mode",
              "timeframe": "30_days",
              "measurement": {
                "type": "percentage",
                "unit": "%",
                "collection_method": "checklist"
              }
            },
            {
              "metric": "Balloon overlaps with focal point (self-check)",
              "target": "0",
              "timeframe": "30_days",
              "measurement": {
                "type": "count",
                "unit": "overlaps",
                "collection_method": "checklist"
              }
            },
            {
              "metric": "Average words per balloon",
              "target": "≤ 18",
              "timeframe": "60_days",
              "measurement": {
                "type": "count",
                "unit": "words",
                "collection_method": "checklist"
              }
            }
          ]
        }
      }
    ]
  },
  "quality_control": {
    "anti_vagueness_rule": true,
    "measurement_rule": true,
    "diversity_rule": true,
    "ethical_constraints": {
      "no_diagnosis": true,
      "no_blame_language": true,
      "safety_override": "Describe only physically visible elements. Do not request or store personal/sensitive data. Avoid medical/psychological diagnosis. If content is external-facing or high-stakes, recommend human review."
    }
  },
  "metadata": {
    "title": "Dialogue & Balloon Blocking",
    "generated_utc": "2026-02-12T08:40:57Z",
    "notes": "If Dialogue mode: specify balloon positions, tails, reading order. Keep text away from focal points. Provide safe, non-sensitive wording by default."
  }
}