Knowledge Base: Ферма (farm-v5.jsx)
Дата: 12 марта 2026
1. АРХИТЕКТУРА
Отдельный React-компонент. Будет интегрирован в основной артефакт (settlement-v84.tsx).
Заглушка: слайдер population (50-500) заменяется на crisisCov при интеграции.
При интеграции crisisCov = Math.round(totalPop × bufferPct), где totalPop — из основного артефакта.
В модели фермы рекурсии нет (в отличие от основного артефакта).
7 табов: Дашборд, Стадо, Растениеводство, Рыба, Бизнес, Экономика, Закупки.
2. ЧТО ФЕРМА СЧИТАЕТ, А ЧТО НЕТ
Считает (opex фермы):
- ФОТ персонала фермы + сезонники
- Содержание скота (вет, подстилка, соль-лизунцы, минералы)
- Закупка комбикорма (полная закупка)
- Закупка/своё сено (слайдер haySelfPct)
- Корм рыбы (BSF + закупка)
- Обогрев теплиц + вегетария
- Семена, удобрения
- Ремонт техники, сертификация
- Логистика сбыта (5% от выручки)
- Противопаводковые работы
Не считает (вне модели фермы):
- Крупы, мука (80 кг/чел/год) — закупка поселением
- Масло растительное, соль, специи — закупка поселением
- Жильё, коммуналка, медицина, образование — другие домены
3. РАЦИОН (NORMS, кг/чел/год)
Молоко — через слайдер milkNorm (дефолт 150).
meat: 36 fish: 30 eggs: 300 шт
potato: 100 veg: 110 legume: 15
berry: 35 honey: 7 wildcrafted: 12
4. ПРОДУКТИВНОСТЬ (YIELD)
milkCow: 3500 // швицкая/костромская, Алтай 700м
milkGoat: 500 // зааненские
troutPond: 3000 // кг/пруд, рукавный отвод р. Чемал
pelyadPond: 2500 // кг/пруд, заводь
troutYield: 0.60 // коэфф. выхода форели
pelyadYield: 0.85 // коэфф. выхода пеляди (самокорм, меньше потерь)
potato: 3 кг/м² ghVeg: 25 кг/м² ogVeg: 4 кг/м²
berry: 1.8 кг/м² seabuckthorn: 2.5 кг/м²
hay: 2500 кг/га honey: 30 кг/семью
5. ПОТЕРИ (LOSS)
milk: 0.97 eggs: 0.95 veg: 0.80
potato: 0.85 berry: 0.90 grain: 0.95
Бобовые, мёд — без потерь (conscious decision).
6. ЛОГИКА РАСЧЁТА
Молоко
- cowSharePct (слайдер, дефолт 70%) делит потребность между коровами и козами
- Минимум 8 дойных коров, 4 дойных козы (устойчивость стада)
Воспроизводство КРС
- Каждая корова телится 1 раз/год
- 50% бычки → убой 18 мес (280 кг туша)
- 50% тёлки → часть на замену (20%/год), лишние → мясо (190 кг)
- Выбраковка коров → мясо (210 кг)
- 1 бык на 25 коров (или ИО)
- cowsTotal = cowsDairy + cowBulls + cowYoungStock
Воспроизводство коз
- 1.7 козлёнка/год (двойни)
- Козлики → мясо 6 мес (16 кг), козочки лишние → мясо (13 кг)
- Выбраковка 20%/год (22 кг)
- goatsTotal = goatsDairy + goatBucks + goatYoungStock + goatReplacementNeed
Мясо (Вариант Б — побочка сначала)
- Побочка молочного стада (КРС + козы) → мясо
- Дефицит = потребность − побочка
- Дефицит: 60% бройлеры (2 кг/гол), 40% кролики (17 кг/крольчиха/год)
- Минимумы: 3 крольчихи
Яйца
- Отдельное стадо несушек (не бройлеры)
- Минимум 20 несушек, +15% ремонтное стадо
- Выбраковка 30% → мясо (1 кг/гол)
Рыба (река Чемал)
- troutSharePct (слайдер, дефолт 70%) делит между форелью и пелядью
- Форель: рукавные отводы, 3000 кг/пруд × 0.60 = 1800 кг реальных
- Пелядь: заводи, 2500 × 0.85 = 2125 кг реальных, корма не нужно
- Корм форели: prodTrout × 1.3 (feed conversion), из них bsfPct% — BSF-личинка
- BSF мощность проверяется от навоза стада + пищевых отходов
Корма
- Комбикорм: 100% закупка. Дойные коровы — полная норма, молодняк — 40%
- Сено: haySelfPct% своё (сенокосы на склонах), остальное — закупка
- Сено молодняк: 40% от нормы дойных
Растениеводство
- Овощи: 40% теплицы (с отоплением), 60% открытый грунт
- Ягоды: 60% ягодники + 40% облепиха (отдельные YIELD)
- Дикоросы: лесной сбор + культивируемые (черемша, папоротник)
- Вегетарий: интегрирован с коровником (2й этаж / пристройка / нет)
- Доп. ягоды и травы — на склонах (слайдеры)
7. СБЫТ
Максимально упрощён:
- 1 слайдер
exportPct(0-100%, дефолт 100%) - 1 цена на продукт (средняя между розницей и оптом)
- Логистика: 5% от выручки
- Формула:
expUnits = prod × exportPct/100,rev = expUnits × price
Цены (₽/ед.)
Молоко: 100 Мясо: 500 Яйца: 8 ₽/шт
Рыба: 700 Картофель: 35 Овощи: 70
Бобовые: 50 Ягоды: 250 Мёд: 1500
Дикоросы: 700 Травы: 1500
Два режима (не в формулах, а в логике)
- Нормальный: exportPct% продаём → выручка → покрывает opex
- Кризис: exportPct=0, всё 100% себе. Модель описывает только нормальный режим.
8. CAPEX
Все постройки × SEISMIC (1.20) для сейсмозоны 7-8 баллов.
Коровник: 380к/место КРС покупка: 320к/гол (только дойные + быки)
Козлятник: 50к/место Козы покупка: 35к/гол (только дойные + козлы)
Кролики: здание 30к/м² + клетки 4к/место + племенные 4к/гол (15% от целевого)
Птичники: 4к/место (утеплённые, -35°C)
Форель: 3М/пруд Пелядь: 1.5М/пруд BSF: 2М (фикс)
Теплицы: 15к/м² ОГ: 150₽/м² Картофель: 100₽/м²
Вегетарий: 18к/м² (2й этаж) или 25к/м² (пристройка)
Переработка: 5М + 25к/чел Хранилище: 3М + 20к/чел
Техника: 5М базовая + 2М доп. при большом стаде
Водоснабжение: 3М Укрепление берега: 1.5М
9. OPEX
ФОТ: 100к/мес × 1.43 × farmStaff × 12
КРС дойное: 90к/гол/год (вкл. вет, подстилка, соль, минералы)
КРС молодняк: 35к/гол/год
Козы: 15к Кролики: 3к Бройлеры: 50₽/гол Несушки: 200₽/гол
Теплицы: 4к обогрев + 1к обслуж. ₽/м²/год
Вегетарий: 1.2к (2й эт.) или 2к (прист.) + 1к обслуж.
Пруды: 100к/пруд/год BSF: 300к/год
Комбикорм: 15₽/кг Сено покупка: 5к₽/тонна
Корм рыбы: 150₽/кг Пчёлы: 4к/семью/год
Семена: 500к база + 120₽/м² теплиц + 30₽/м² ОГ − экономия вегетария 60к
Ремонт техники: 1М/год Сертификация: 350к/год
Логистика: 5% от выручки Противопаводковые: 300к/год
Сезонники: 2500₽/чел-день
10. СЛАЙДЕРЫ
| Слайдер | Дефолт | Диапазон | Что делает |
|---|---|---|---|
| population | 400 | 50-500 | Заглушка → crisisCov |
| milkNorm | 150 | 100-325 | кг молока/чел/год |
| exportPct | 100 | 0-100% | % продукции на продажу |
| cowSharePct | 70 | 0-100% | Доля коровьего молока |
| troutSharePct | 70 | 0-100% | Форель vs пелядь |
| haySelfPct | 70 | 30-100% | Доля своего сена |
| bsfPct | 60 | 30-80% | Автономность корма рыбы |
| vegType | ”upper” | upper/adjacent/none | Тип вегетария |
| beeExtra | 50 | 0-200 | Доп. пчелосемьи (экспорт) |
| herbAreaTotal | 5000 | 500-20000 м² | Травы на склонах |
| berryExtra | 3000 | 0-10000 м² | Доп. ягодники (экспорт) |
11. МИНИМУМЫ (страховочные)
- 8 дойных коров (потеря 1 = 12.5%, не катастрофа)
- 4 дойных козы
- 20 несушек
- 3 крольчихи (если дефицит мяса > 0)
- 5 пчелосемей
- 1 пруд форели, 1 пруд пеляди (если доля > 0)
12. ЗЕМЕЛЬНЫЙ БАЛАНС
В долине (~17 га доступных):
- Теплицы, вегетарий, ОГ, картофель, бобовые, дикоросы, пруды, постройки
На склонах (~142 га доступных):
- Ягодники, облепиха, травы, сенокосы, пастбища (50% на нашей земле), пасека
- Пастбища: 50% — свободный выпас на окрестных горных склонах (не наша земля, не входит в лимит 142 га), 50% — на нашей территории (входит в лимит)
Индикатор: если склоны > 142 га → красный ⚠ в UI.
13. ЧТО ДАЛЬШЕ
- Проверить opex так же тщательно как capex
- Тест экстремальных значений (50 чел, 500 чел)
- Интегрировать в основной артефакт (заменить блок фермы в settlement-v84.tsx)
- Обновить knowledge-base-settlement.md после интеграции