{
  "schemaVersion": 1,
  "id": "P27-C02",
  "title": "Печать: подготовка отдельно от тиража",
  "author": {
    "id": "P27",
    "name": "Филипп Нестеров"
  },
  "specialty": "Калькуляторы и подборщики для продаж",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P27-C02",
    "title": "Расчет полиграфии",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "Для тысячи экземпляров заданы подготовка 1500 ₽, печать 5 ₽ и обработка 2 ₽ за штуку.",
  "decision": "Разделил постоянную и переменную часть. Подготовка входит один раз; печать и обработка умножаются на тираж. Нулевая стоимость обработки допустима, нулевой тираж — нет.",
  "constraint": "Самостоятельный калькулятор использует заданные допущения. Он не является коммерческой сметой, инженерным заключением или подтверждением условий поставщика.",
  "steps": [
    "Исходные значения: 1500 + 1000 × 5 + 1000 × 2 = 8500 ₽.",
    "Стоимость обработки 0: итог 6500 ₽.",
    "Количество 0: расчет отклоняется."
  ],
  "inspection": [
    "Исходные значения: 1500 + 1000 × 5 + 1000 × 2 = 8500 ₽.",
    "Стоимость обработки 0: итог 6500 ₽.",
    "Количество 0: расчет отклоняется.",
    "Вернуть значения кнопкой сброса: появляется исходный результат."
  ],
  "sample": {
    "headers": [
      "Действие",
      "Наблюдаемый результат"
    ],
    "rows": [
      [
        "1",
        "Исходные значения: 1500 + 1000 × 5 + 1000 × 2 = 8500 ₽."
      ],
      [
        "2",
        "Стоимость обработки 0: итог 6500 ₽."
      ],
      [
        "3",
        "Количество 0: расчет отклоняется."
      ],
      [
        "4",
        "Вернуть значения кнопкой сброса: появляется исходный результат."
      ]
    ]
  },
  "sampleNote": "Самостоятельный проект на подготовленных исходных данных. Действия выполняются локально.",
  "caseStudy": {
    "role": "Разработка расчётной модели",
    "contribution": "Реализовал открытые формулы, промежуточные значения, проверку диапазонов и граничные случаи именно этой модели.",
    "objective": "Фиксированная подготовка не умножается на число экземпляров.",
    "problem": "Для тысячи экземпляров заданы подготовка 1500 ₽, печать 5 ₽ и обработка 2 ₽ за штуку.",
    "result": "Исходный тираж дает 8500 ₽. Если обработку убрать, остаются 6500 ₽, а подготовка по-прежнему равна 1500 ₽.",
    "deliverables": [
      "Проверяемая модель",
      "Сохраняемый результат взаимодействия",
      "Исходные данные и порядок самостоятельной проверки"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "Подготовка оплачивается один раз",
        "text": "Разделил постоянную и переменную часть. Подготовка входит один раз; печать и обработка умножаются на тираж. Нулевая стоимость обработки допустима, нулевой тираж — нет."
      },
      {
        "type": "text",
        "title": "Без послепечатной обработки",
        "text": "При том же тираже 1000 и подготовке 1500 ₽ обнуление ставки обработки убирает 2000 ₽. Итог меняется с 8500 на 6500 ₽; подготовка не исчезает вместе с обработкой."
      },
      {
        "type": "callout",
        "title": "Граница работы",
        "text": "Самостоятельный калькулятор использует заданные допущения. Он не является коммерческой сметой, инженерным заключением или подтверждением условий поставщика."
      }
    ]
  },
  "deliverable": {
    "type": "calculator",
    "entry": "/catalogue/deliverables/p27-c02/index.html",
    "label": "Открыть работающий результат",
    "files": [
      {
        "path": "/catalogue/deliverables/p27-c02/index.html",
        "name": "Интерактивный результат",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p27-c02/source.json",
        "name": "Исходные условия и модель",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p27-c02/README.html",
        "name": "Повторить проверку",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p27-c02/starter-data.json",
        "name": "Исходный набор для повторного использования",
        "mimeType": "application/json"
      }
    ],
    "summary": "Исходный тираж дает 8500 ₽. Если обработку убрать, остаются 6500 ₽, а подготовка по-прежнему равна 1500 ₽."
  },
  "calculator": {
    "kind": "print",
    "title": "Тираж и послепечатная обработка",
    "inputs": [
      {
        "id": "quantity",
        "label": "Тираж",
        "type": "number",
        "value": 1000,
        "unit": "шт.",
        "min": 1,
        "max": 100000,
        "step": 1
      },
      {
        "id": "setup",
        "label": "Подготовка",
        "type": "number",
        "value": 1500,
        "unit": "₽",
        "min": 0,
        "max": 100000,
        "step": 100
      },
      {
        "id": "printRate",
        "label": "Печать экземпляра",
        "type": "number",
        "value": 5,
        "unit": "₽/шт.",
        "min": 0,
        "max": 10000,
        "step": 0.1
      },
      {
        "id": "finishRate",
        "label": "Обработка экземпляра",
        "type": "number",
        "value": 2,
        "unit": "₽/шт.",
        "min": 0,
        "max": 10000,
        "step": 0.1
      }
    ],
    "formula": "Подготовка + тираж × (печать экземпляра + обработка экземпляра). Итог округляется до копеек.",
    "assumptions": [
      "Один формат и один материал во всем расчете: A5, 150 г/м² в образце.",
      "Цены условные; тираж и обработка изменяются независимо.",
      "Нулевая стоимость обработки означает явно выбранный вариант без обработки."
    ],
    "tests": [
      {
        "values": {
          "quantity": 1000,
          "setup": 1500,
          "printRate": 5,
          "finishRate": 2
        },
        "expected": {
          "print": 5000,
          "finish": 2000,
          "total": 8500
        }
      },
      {
        "values": {
          "quantity": 1000,
          "setup": 1500,
          "printRate": 5,
          "finishRate": 0
        },
        "expected": {
          "total": 6500
        }
      },
      {
        "values": {
          "quantity": 0
        },
        "expected": {
          "error": true
        }
      }
    ]
  },
  "takeaway": "Исходный тираж дает 8500 ₽. Если обработку убрать, остаются 6500 ₽, а подготовка по-прежнему равна 1500 ₽.",
  "capabilities": [
    "completed_calculator",
    "live_calculation",
    "input_validation"
  ],
  "externalConnections": []
}
