{
  "schema_version": 1,
  "mode": "architecture",
  "template_type": "architecture",
  "style": 3,
  "motion_scene": "service-blueprint",
  "quality_profile": "showcase",
  "width": 960,
  "height": 720,
  "title": "Microservices Architecture",
  "subtitle": "edge routing, domain services, data stores, events, and observability",
  "containers": [
    { "id": "edge", "x": 40, "y": 110, "width": 880, "height": 110, "label": "Edge", "header_prefix": "01" },
    { "id": "services", "x": 40, "y": 270, "width": 880, "height": 130, "label": "Application Services", "header_prefix": "02" },
    { "id": "data", "x": 40, "y": 420, "width": 680, "height": 130, "label": "Data" },
    { "id": "observability", "x": 740, "y": 420, "width": 180, "height": 130, "label": "Obs" }
  ],
  "nodes": [
    { "id": "clients", "kind": "rect", "x": 60, "y": 146, "width": 160, "height": 54, "label": "Client Apps", "sublabel": "web · mobile", "fill": "#0b3b5e", "stroke": "#94a3b8", "flat": true },
    { "id": "gateway", "kind": "double_rect", "x": 300, "y": 146, "width": 160, "height": 54, "label": "API Gateway", "sublabel": "route + throttle", "fill": "#0a4b78", "stroke": "#38bdf8", "flat": true },
    { "id": "auth", "kind": "hexagon", "x": 570, "y": 146, "width": 160, "height": 54, "label": "Auth / Policy", "sublabel": "identity gate", "fill": "#0b3b5e", "stroke": "#f59e0b", "flat": true },
    { "id": "order", "kind": "rect", "x": 80, "y": 330, "width": 140, "height": 50, "label": "Order Service", "sublabel": "transactions", "fill": "#0a4b78", "stroke": "#38bdf8", "flat": true },
    { "id": "catalog", "kind": "rect", "x": 310, "y": 330, "width": 140, "height": 50, "label": "Catalog Service", "sublabel": "inventory", "fill": "#0a4b78", "stroke": "#38bdf8", "flat": true },
    { "id": "billing", "kind": "rect", "x": 540, "y": 330, "width": 140, "height": 50, "label": "Billing Service", "sublabel": "payments", "fill": "#0a4b78", "stroke": "#38bdf8", "flat": true },
    { "id": "events", "kind": "hexagon", "x": 760, "y": 330, "width": 140, "height": 50, "label": "Event Router", "sublabel": "async bus", "fill": "#123c5a", "stroke": "#a855f7", "flat": true },
    { "id": "postgres", "kind": "cylinder", "x": 80, "y": 480, "width": 140, "height": 50, "label": "Postgres", "sublabel": "orders", "fill": "#082f49", "stroke": "#38bdf8" },
    { "id": "redis", "kind": "cylinder", "x": 310, "y": 480, "width": 140, "height": 50, "label": "Redis", "sublabel": "catalog cache", "fill": "#082f49", "stroke": "#38bdf8" },
    { "id": "warehouse", "kind": "cylinder", "x": 540, "y": 480, "width": 140, "height": 50, "label": "Warehouse", "sublabel": "billing facts", "fill": "#082f49", "stroke": "#38bdf8" },
    { "id": "metrics", "kind": "rect", "x": 765, "y": 480, "width": 130, "height": 50, "label": "Metrics", "sublabel": "traces + SLOs", "fill": "#123c5a", "stroke": "#10b981", "flat": true }
  ],
  "arrows": [
    { "id": "client-request", "source": "clients", "target": "gateway", "source_port": "right", "target_port": "left", "flow": "read", "motion_role": "ingress", "motion_stage": 1, "motion_order": 0, "label": "HTTPS" },
    { "id": "policy-check", "source": "gateway", "target": "auth", "source_port": "right", "target_port": "left", "flow": "control", "motion_role": "policy", "motion_stage": 2, "motion_order": 0, "label": "policy" },
    { "id": "a-route-order", "source": "gateway", "target": "order", "source_port": "bottom", "target_port": "top", "flow": "read", "motion_role": "fanout", "motion_stage": 3, "motion_order": 0 },
    { "id": "b-route-catalog", "source": "gateway", "target": "catalog", "source_port": "bottom", "target_port": "top", "flow": "read", "motion_role": "fanout", "motion_stage": 3, "motion_order": 1 },
    { "id": "c-route-billing", "source": "gateway", "target": "billing", "source_port": "bottom", "target_port": "top", "flow": "read", "motion_role": "fanout", "motion_stage": 3, "motion_order": 2 },
    { "id": "order-store", "source": "order", "target": "postgres", "source_port": "bottom", "target_port": "top", "flow": "data", "motion_role": "data-write", "motion_stage": 4, "motion_order": 0, "label": "persist" },
    { "id": "catalog-cache", "source": "catalog", "target": "redis", "source_port": "bottom", "target_port": "top", "flow": "data", "motion_role": "data-write", "motion_stage": 4, "motion_order": 1, "label": "cache" },
    { "id": "billing-store", "source": "billing", "target": "warehouse", "source_port": "bottom", "target_port": "top", "flow": "data", "motion_role": "data-write", "motion_stage": 4, "motion_order": 2, "label": "facts" },
    { "id": "publish-event", "source": "billing", "target": "events", "source_port": "right", "target_port": "left", "flow": "feedback", "motion_role": "event", "motion_stage": 5, "motion_order": 0, "label": "events" },
    { "id": "observe", "source": "events", "target": "metrics", "source_port": "bottom", "target_port": "top", "flow": "feedback", "motion_role": "telemetry", "motion_stage": 6, "motion_order": 0, "label": "telemetry" }
  ],
  "legend_orientation": "horizontal",
  "legend_x": 48,
  "legend_y": 600,
  "legend_locked": true,
  "legend": [
    { "flow": "read", "label": "request" },
    { "flow": "control", "label": "policy" },
    { "flow": "data", "label": "data path" },
    { "flow": "feedback", "label": "events" }
  ],
  "blueprint_title_block": {
    "title": "AI MICROSERVICES",
    "subtitle": "SYSTEM ARCHITECTURE",
    "center_caption": "STYLE 3",
    "left_caption": "REV: 1.1",
    "right_caption": "DWG: ARCH-003",
    "width": 220,
    "height": 76,
    "x": 700,
    "y": 620
  },
  "footer": "Style 3 · Blueprint · domain services and data planes",
  "footer_x": 48,
  "footer_y": 700
}
