{
  "version": "xarts.card-matrix/1",
  "family": "card-matrix",
  "operation": "named-slots",
  "provenance": {
    "legacyId": "concept-surface"
  },
  "document": {
    "header": {
      "title": "La pantalla no se diseña: se deriva, y cada zona dice de dónde sale",
      "subtitle": "Bandeja de avisos de mantenimiento — esquema de bloques con el papel semántico de cada zona anotado.",
      "source": "Esquema conceptual derivado del modelo. No es una maqueta: no hay tipografía de producto, ni iconos, ni medidas de pantalla real."
    },
    "spacing": {
      "horizontalPadding": 24,
      "topPadding": 22,
      "bottomPadding": 24,
      "minimumTextGap": 6
    }
  },
  "output": {
    "filename": "concept-surface",
    "embedSpec": true,
    "geometryDecimals": 2
  },
  "presentation": {
    "theme": "anlak",
    "dimensions": {
      "width": 940,
      "height": 754
    },
    "locale": "es-ES",
    "fonts": "reference",
    "surface": "theme",
    "framePadding": 24
  },
  "vocabulary": {
    "model": "model-surface",
    "name": "Bandeja",
    "originLabels": {
      "object": "OBJETO",
      "property": "PROPIEDAD",
      "link": "ENLACE",
      "action": "ACCIÓN"
    }
  },
  "data": {
    "kind": "slot-cards",
    "rows": [
      {
        "id": "item-1",
        "slot": "cabecera",
        "label": "Avisos abiertos",
        "note": "el objeto Aviso, acotado por su estado",
        "origin": "object"
      },
      {
        "id": "item-2",
        "slot": "filtro",
        "label": "Por equipo y por estado",
        "note": "dos propiedades tipadas; nada más es filtrable",
        "origin": "property"
      },
      {
        "id": "item-3",
        "slot": "lista",
        "label": "Un aviso por fila",
        "note": "cada fila es una instancia; cada columna, una propiedad declarada",
        "origin": "object"
      },
      {
        "id": "item-4",
        "slot": "detalle",
        "label": "Ficha del aviso",
        "note": "la fila no lleva a ninguna parte: el enlace no está declarado",
        "origin": "link"
      },
      {
        "id": "item-5",
        "slot": "acciones",
        "label": "Diagnosticar · Anular",
        "note": "las dos admitidas mientras el aviso está Registrado",
        "origin": "action"
      }
    ]
  },
  "encoding": {
    "id": "id",
    "slot": "slot",
    "label": "label",
    "note": "note",
    "origin": "origin"
  },
  "grouping": {
    "slots": [
      {
        "id": "cabecera",
        "title": "CABECERA",
        "role": "neutro"
      },
      {
        "id": "filtro",
        "title": "FILTRO",
        "role": "neutro"
      },
      {
        "id": "lista",
        "title": "LISTA",
        "role": "foco"
      },
      {
        "id": "detalle",
        "title": "DETALLE",
        "role": "ausente"
      },
      {
        "id": "acciones",
        "title": "ACCIONES",
        "role": "neutro"
      }
    ]
  },
  "calculation": {
    "areaMeaning": "template-only",
    "itemOrder": "input",
    "emptySlots": "omit",
    "occupancy": "one",
    "absence": "declared-model-gap",
    "unknownMembership": "reject"
  },
  "layout": {
    "view": "content-bands",
    "margin": {
      "top": 24,
      "right": 24,
      "bottom": 24,
      "left": 24
    },
    "bands": [
      {
        "id": "header",
        "spaceWeight": 1,
        "slots": [
          {
            "slot": "cabecera",
            "spaceWeight": 1
          }
        ]
      },
      {
        "id": "filter",
        "spaceWeight": 0.8,
        "slots": [
          {
            "slot": "filtro",
            "spaceWeight": 1
          }
        ]
      },
      {
        "id": "body",
        "spaceWeight": 4.6,
        "slots": [
          {
            "slot": "lista",
            "spaceWeight": 2
          },
          {
            "slot": "detalle",
            "spaceWeight": 1
          }
        ]
      },
      {
        "id": "actions",
        "spaceWeight": 1,
        "slots": [
          {
            "slot": "acciones",
            "spaceWeight": 1
          }
        ]
      }
    ],
    "gap": 8,
    "gridUnit": 8,
    "padding": {
      "x": 14,
      "y": 12
    },
    "framePadding": 12,
    "frameWidthRatio": 1,
    "minSlotHeight": 44,
    "maxLabelLines": 2,
    "maxNoteLines": 3,
    "caption": "ESQUEMA DE BLOQUES — NO ES UNA MAQUETA",
    "propertyRules": 3,
    "propertyRuleGap": 12,
    "actionRadius": 34
  },
  "marks": {
    "paints": {
      "neutro": {
        "fill": "surface",
        "border": "border",
        "ink": "textPrimary",
        "dash": "",
        "fillOpacity": 1,
        "strokeOpacity": 1
      },
      "foco": {
        "fill": "series.blue",
        "border": "series.blue",
        "ink": "surface",
        "dash": "",
        "fillOpacity": 1,
        "strokeOpacity": 1
      },
      "alerta": {
        "fill": "surface",
        "border": "negative",
        "ink": "negative",
        "dash": "",
        "fillOpacity": 1,
        "strokeOpacity": 1
      },
      "ausente": {
        "fill": "none",
        "border": "textMuted",
        "ink": "textMuted",
        "dash": "6 4",
        "fillOpacity": 1,
        "strokeOpacity": 1
      },
      "favorable": {
        "fill": "surfaceAlt",
        "border": "series.teal",
        "ink": "textPrimary",
        "dash": "",
        "fillOpacity": 1,
        "strokeOpacity": 1
      }
    },
    "emptyRole": "ausente",
    "radius": 4,
    "thin": 1.25,
    "medium": 2,
    "thick": 4,
    "frameColor": "border"
  },
  "labels": {
    "slot": {
      "size": 14,
      "weight": 700,
      "color": "textMuted"
    },
    "item": {
      "size": 19,
      "weight": 700,
      "color": "textPrimary"
    },
    "note": {
      "size": 16,
      "weight": 400,
      "color": "textMuted"
    },
    "caption": {
      "size": 14,
      "weight": 700,
      "color": "textMuted"
    },
    "verdict": {
      "size": 22,
      "weight": 700,
      "color": "accent"
    },
    "band": {
      "size": 14,
      "weight": 700,
      "color": "textMuted"
    },
    "labelLineGap": 9,
    "noteLineGap": 9,
    "slotLineGap": 9,
    "detailGap": 8,
    "letterSpacing": 0.08
  },
  "editorial": {
    "band": {
      "text": "ninguna zona sale de una propiedad calculada",
      "role": "ausente"
    },
    "verdict": "La zona que falta es la que convierte la lista en trabajo.",
    "bandHeight": 48,
    "maxVerdictLines": 2,
    "ruleColor": "textMuted"
  },
  "annotations": []
}
