{
  "id": "P27-C05",
  "mode": "calculator",
  "theme": "workspace",
  "brand": "РАСЧЁТ / Филипп Нестеров",
  "title": "Освещение: округление вверх на точной границе",
  "lead": "Предварительное количество светильников объясняется потоком и коэффициентами.",
  "section": "Проверяемая модель",
  "calculator": {
    "calculator": {
      "kind": "lighting",
      "title": "Предварительное количество светильников",
      "inputs": [
        {
          "id": "area",
          "label": "Площадь",
          "type": "number",
          "value": 24,
          "unit": "м²",
          "min": 1,
          "max": 500,
          "step": 1
        },
        {
          "id": "height",
          "label": "Высота помещения",
          "type": "number",
          "value": 2.8,
          "unit": "м",
          "min": 2,
          "max": 3,
          "step": 0.1
        },
        {
          "id": "targetLux",
          "label": "Целевая освещенность в модели",
          "type": "number",
          "value": 300,
          "unit": "лк",
          "min": 50,
          "max": 1000,
          "step": 10
        },
        {
          "id": "fixtureLumens",
          "label": "Поток одного светильника",
          "type": "number",
          "value": 1200,
          "unit": "лм",
          "min": 100,
          "max": 20000,
          "step": 100
        },
        {
          "id": "utilization",
          "label": "Коэффициент использования",
          "type": "number",
          "value": 0.6,
          "unit": "",
          "min": 0.1,
          "max": 1,
          "step": 0.05
        },
        {
          "id": "reserve",
          "label": "Коэффициент запаса",
          "type": "number",
          "value": 1.2,
          "unit": "",
          "min": 1,
          "max": 2,
          "step": 0.1
        }
      ],
      "formula": "Количество = ceil(площадь × целевая освещенность × запас / (поток светильника × коэффициент использования)).",
      "assumptions": [
        "300 лк — выбранное значение модели, не нормативное требование.",
        "При высоте вне 2–3 м расчет останавливается для отдельного подбора.",
        "Нет распределения света, проверки бликов, поверхностей, схемы размещения и нормативного заключения."
      ],
      "tests": [
        {
          "values": {
            "area": 24,
            "height": 2.8,
            "targetLux": 300,
            "fixtureLumens": 1200,
            "utilization": 0.6,
            "reserve": 1.2
          },
          "expected": {
            "quantity": 12
          }
        },
        {
          "values": {
            "height": 3.5
          },
          "expected": {
            "error": true
          }
        },
        {
          "values": {
            "fixtureLumens": 0
          },
          "expected": {
            "error": true
          }
        }
      ]
    }
  }
}
