{
  "version": "xarts.concept-structures/1",
  "family": "concept-structures",
  "provenance": {
    "legacyId": "concept-tree"
  },
  "measurement": {
    "exportText": "glyph-advances"
  },
  "typography": {
    "title": {
      "size": 22,
      "weight": 700,
      "lineHeight": 31
    },
    "hero": {
      "size": 49,
      "weight": 700,
      "lineHeight": 59
    },
    "body": {
      "size": 19,
      "weight": 700,
      "lineHeight": 28
    },
    "note": {
      "size": 16,
      "weight": 400,
      "lineHeight": 25
    },
    "stamp": {
      "size": 14,
      "weight": 700,
      "lineHeight": 22
    }
  },
  "paints": {
    "neutral": {
      "fill": "surface",
      "stroke": "border",
      "text": "textPrimary",
      "dash": ""
    },
    "focus": {
      "fill": "series.blue",
      "stroke": "series.blue",
      "text": "surface",
      "dash": ""
    },
    "warning": {
      "fill": "surface",
      "stroke": "negative",
      "text": "negative",
      "dash": ""
    },
    "absent": {
      "fill": "none",
      "stroke": "textMuted",
      "text": "textMuted",
      "dash": "6 4"
    },
    "favorable": {
      "fill": "surfaceAlt",
      "stroke": "series.teal",
      "text": "textPrimary",
      "dash": ""
    }
  },
  "layout": {
    "textOverflow": "wrap",
    "margin": {
      "top": 40,
      "right": 40,
      "bottom": 56,
      "left": 40
    },
    "grid": 8,
    "padding": {
      "x": 14,
      "y": 12
    },
    "radius": 4,
    "strokeWidth": 1.25,
    "minimumBoxWidth": 40,
    "roundHeight": "nearest",
    "capacity": "reject"
  },
  "annotations": {
    "verdictMaxLines": 8,
    "band": {
      "text": "ninguna de las dos salidas es la buena por defecto",
      "role": "absent"
    },
    "verdict": "La pregunta no es cuál es mejor: es si tiene que ser cierto ahora o tiene que quedar constancia.",
    "bandHeight": 64,
    "verdictHeight": 240,
    "bandStroke": 4,
    "ruleWidth": 1.25,
    "noteColor": "textMuted",
    "verdictColor": "accent",
    "letterSpacing": 0.06
  },
  "document": {
    "header": {
      "title": "Tres preguntas deciden si un valor es una función o una propiedad guardada",
      "subtitle": "Árbol de decisión: cada rama se elige leyendo la pregunta del nodo, y las hojas son el veredicto.",
      "source": "Criterio descrito en el capítulo 08. Esquema conceptual — sin cifras, sin coste medido."
    },
    "spacing": {
      "horizontalPadding": 24,
      "topPadding": 22,
      "bottomPadding": 16,
      "minimumTextGap": 4
    }
  },
  "presentation": {
    "theme": "anlak",
    "dimensions": {
      "width": 940,
      "height": 844
    },
    "locale": "es-ES",
    "fonts": "reference",
    "surface": "theme",
    "framePadding": 24
  },
  "output": {
    "filename": "concept-tree",
    "embedSpec": true,
    "geometryDecimals": 2
  },
  "operation": "branch-tree",
  "data": {
    "items": [
      {
        "id": "p1",
        "parentId": null,
        "label": "¿Tiene que ser cierto al mirarlo?",
        "detail": "o basta con lo que valía cuando se calculó",
        "metric": "",
        "branch": "",
        "role": "focus"
      },
      {
        "id": "p2",
        "parentId": "p1",
        "label": "¿Hace falta filtrar, ordenar o agrupar por él?",
        "detail": "el uso manda sobre la pureza",
        "metric": "",
        "branch": "ahora",
        "role": "neutral"
      },
      {
        "id": "f1",
        "parentId": "p2",
        "label": "FUNCIÓN",
        "detail": "se calcula al leer; nada que mantener",
        "metric": "",
        "branch": "no",
        "role": "favorable"
      },
      {
        "id": "p3",
        "parentId": "p2",
        "label": "¿Se lee mucho más de lo que cambia?",
        "detail": "",
        "metric": "",
        "branch": "sí",
        "role": "neutral"
      },
      {
        "id": "g1",
        "parentId": "p3",
        "label": "PROPIEDAD",
        "detail": "guardada, con su función y su fecha",
        "metric": "",
        "branch": "sí",
        "role": "favorable"
      },
      {
        "id": "f2",
        "parentId": "p3",
        "label": "FUNCIÓN",
        "detail": "recalcular sale más barato",
        "metric": "",
        "branch": "no",
        "role": "favorable"
      },
      {
        "id": "g2",
        "parentId": "p1",
        "label": "PROPIEDAD",
        "detail": "dos etiquetas obligatorias",
        "metric": "",
        "branch": "conservar",
        "role": "favorable"
      }
    ]
  },
  "relationship": {
    "kind": "decision",
    "order": [
      "p1",
      "p2",
      "f1",
      "p3",
      "g1",
      "f2",
      "g2"
    ],
    "roots": "single",
    "maxDepth": 15
  },
  "tree": {
    "laneWidth": 72,
    "minimumLane": 16,
    "minimumColumn": 96,
    "minimumLeafSlot": 48,
    "rowGap": 16,
    "bracketInset": 16,
    "equalHeight": "node",
    "minimumNodeHeight": 0,
    "titleMaxLines": 3,
    "detailMaxLines": 3,
    "detailGap": 8,
    "detailOpacity": 0.75,
    "focusDetailOpacity": 0.85,
    "metricHeight": 28,
    "metricOpacity": 0.7,
    "metricLetterSpacing": 0.06,
    "leafAccentWidth": 4,
    "levelLabels": [],
    "levelLabelHeight": 40,
    "levelLabelOffset": 18,
    "levelLabelSpacing": 0.08,
    "footerGap": 0,
    "bandGap": 8,
    "verdictGap": 6,
    "verdictGapWithoutBand": 16,
    "verdictMaxLines": 8,
    "dynamicVerdictHeight": true,
    "connectors": {
      "kind": "elbow",
      "color": "textSecondary",
      "width": 2,
      "arrows": false,
      "arrowLength": 9,
      "arrowHeight": 8,
      "junctionRadius": 2
    },
    "branchLabels": {
      "requireAll": true,
      "kind": "inline",
      "color": "textMuted",
      "background": "surface",
      "maxLines": 2,
      "lineHeight": 22,
      "minimumWidth": 0,
      "horizontalPadding": 7,
      "heightPadding": 15,
      "laneInset": 16,
      "maxWidthInset": 14,
      "inlineXOffset": -6,
      "inlineAbove": -6,
      "inlineBelow": 18,
      "letterSpacing": 0.04,
      "baselineAdjustment": -3
    }
  }
}
