Wapiti Tow Carts 0.7.2 SAFE + ElkVariants

Добавлена совместимость с ElkVariants 3.7.2:
- широкая и узкая телеги теперь крепятся к каждой расцветке вапити из ElkVariants;
- используется штатный слот lowerbackside / RearSideAP, как у ванильного прирученного вапити;
- телега по-прежнему взаимоисключается с седельными сумками;
- отдельные предметы телег для каждой расцветки не создаются;
- совместимость включается только при наличии мода elkvariants;
- статический WTC_StaticTowAnchor уже присутствует в общей базовой форме вапити, которую использует ElkVariants;
- экспериментальный C#-сканер нагрузки остаётся полностью отключённым.

---

Wapiti Tow Carts 0.7.1 SAFE

Диагностическая стабильная сборка для серверов с большими модпаками.

Изменения относительно 0.7.0:
- полностью удалён экспериментальный C#-сканер нагрузки;
- мод снова имеет тип content и не запускает обработчик каждые 200 мс;
- сохранены обе телеги, модели, рецепты и вместимость 72/36 слотов;
- временно отсутствует замедление игрока и вапити от заполненности телеги.

Причина: обработчик 0.7.0 на обеих сторонах постоянно обходил инвентари игроков, сканировал всех сущностей в большом радиусе и повторно синхронизировал характеристику walkspeed. На нагруженном сервере это могло создавать резкие пики CPU/RAM и закрытие процесса без штатного краш-лога.

Эта сборка предназначена для проверки и безопасной игры до появления оптимизированной DLL-версии механики веса.

---

Wapiti Tow Carts 0.5.1

Зависимости:
- Vintage Story 1.22.x
- Cartwright's Caravan 1.9.1

Что делает мод:
- Добавляет отдельные предметы-аксессуары на основе широкой и узкой телеги Cartwright's Caravan.
- Телега крепится к прирученному вапити вместо седельных сумок: штатный слот lowerbackside / RearSideAP.
- Седельные сумки и телега взаимоисключаются. Седло, вальтрап, фонарь и лежанка/пассажирское место остаются отдельными слотами.
- Широкая телега: 54 обычных слота = 6 мест под хранилища × 9 слотов.
- Узкая телега: 27 обычных слота = 3 места под хранилища × 9 слотов.
- Оригинальные сущности-телеги Cartwright's Caravan не заменяются.

Получение:
- Обычная широкая телега + 1 верёвка + любая ванильная уздечка вапити -> широкая грузовая телега для вапити.
- Обычная узкая телега + 1 верёвка + любая ванильная уздечка вапити -> узкая грузовая телега для вапити.
- Рецепты бесформенные. Подходят обе стандартные уздечки.

Совместимость оригинальных телег с крафтовой сеткой:
- Аддон меняет storageFlags оригинальных телег с Backpack на General + Backpack.
- Поэтому исходную телегу можно положить в крафтовую сетку и при этом по-прежнему хранить в соответствующих слотах.

Изменения 0.5.1:
- Исправлена невидимая телега: корневому элементу навесной формы возвращён обязательный stepParentName = Midsection.
- Слот остаётся lowerbackside / RearSideAP, поэтому телега по-прежнему заменяет именно седельные сумки.
- Вертикальное смещение остаётся -1.85 блока; его положение нужно оценить уже после восстановления рендера.
- Предыдущий эксперимент с полным удалением stepParentName признан нерабочим: Vintage Story не добавляет такую навесную форму в скелет сущности и она не отображается.

Важно:
- Это content-мод без DLL; штатные навесные формы Vintage Story требуют существующий step-parent в форме животного. Поэтому полностью отвязать длинную телегу от скелетной анимации одним JSON нельзя. Текущая привязка к Midsection выбрана как наиболее спокойная из уже проверенных центральных костей.
- Колёса являются частью модели аксессуара и пока не имеют отдельной физики/вращения.
- Содержимое хранится внутри предмета-телеги как у сумки. Перед удалением/обновлением мода телеги лучше опустошать.


0.5.3:
- Позиционирование телеги теперь выполнено прямым сдвигом корня attached-модели, а не CompositeShape offset.
- Сдвиг: назад +6 модельных единиц, вниз -10, по ширине -3 для центровки вапити между оглоблями.


0.5.6: удалены служебные attachment points исходных сущностей телег (Rider/RiderGrip, пассажиры, storage/light/blanket/canopy и др.) из навесных форм. Это предотвращает перехват штатной точки Rider у вапити и конфликты с его аксессуарами.


Версия 0.5.7:
- Узкая телега (slimcart) отдельно отодвинута назад на ~0.5 блока, чтобы она не подлезала слишком близко к вапити.
- Раскачивание полностью не устранено: это ограничение JSON-контентного варианта, потому что навесная модель должна оставаться step-parented к кости вапити для рендера. Текущая привязка Midsection сохранена как наиболее стабильная из проверенных.


Версия 0.5.8:
- Узкая телега дополнительно опущена на 2 модельные единицы (~0.125 блока), чтобы колёса лучше касались земли.


Версия 0.6.0 (экспериментальная антираскачивающая схема):
- Телега больше не step-parented к анимированной кости Midsection.
- В мужскую и женскую форму ванильного вапити добавляется невидимый верхнеуровневый WTC_StaticTowAnchor без анимационных keyframes.
- Навесная форма телеги step-parented к WTC_StaticTowAnchor; движок должен назначить ей неанимируемый joint 0, поэтому походка/дыхание/наклоны Midsection не должны раскачивать телегу.
- Это визуальный якорь, а не отдельная физическая сущность: инвентарь 54/27 слотов, слот сумок и крафт остаются прежними.
- Широкая телега дополнительно опущена на 2 модельные единицы (~0.125 блока), как ранее узкая.
- ВАЖНО: координатная система статического якоря отличается от Midsection. Если после первого запуска телега сместится относительно уже настроенного положения, нужно будет один раз откалибровать корневые координаты, но раскачивание при этом уже проверяется отдельно.


Версия 0.6.1:
- Исправлен путь патча статического якоря для Vintage Story 1.22.
- Удалён ошибочный патч несуществующего male.json. Вапити используют общую базовую shape female.json для этих attachment/step-parent элементов; половые отличия накладываются отдельно.
- Shape-патч выполняется только на клиенте, где нужен визуальный якорь.


Версия 0.6.2:
- Сохранён статический WTC_StaticTowAnchor из 0.6.x для устранения скелетного раскачивания.
- Исправление 0.6.1 сохранено: патч применяется только к существующей базовой elk/female.json; обращения к несуществующему elk/male.json нет.
- Обе телеги подняты на 6 модельных единиц (~0.375 блока), чтобы колёса не уходили в землю.


Версия 0.6.3:
- Обе телеги дополнительно подняты на 4 модельные единицы (~0.25 блока), чтобы колёса не утопали в поверхности.
- Статический WTC_StaticTowAnchor и исправленный путь патча из 0.6.2 сохранены без изменений.


Версия 0.6.4:
- Обе телеги выставлены на строго одинаковую высоту.
- Обе подняты ещё на 2 модельные единицы (~0,125 блока).
- Боковая координата обеих телег возвращена к геометрическому центру z=8, чтобы вапити находился посередине между оглоблями.
- Статический WTC_StaticTowAnchor и исправленный патч формы вапити сохранены без изменений.


Версия 0.6.5:
- Обе телеги отодвинуты назад на 8 модельных единиц (~0.5 блока), чтобы задние ноги и круп вапити не пересекались с передней частью телеги при быстром беге.
- Высота и поперечная центровка оставлены как в 0.6.4.

Версия 0.7.0:
- Вместимость узкой телеги увеличена до 36 слотов (12 x 3).
- Вместимость широкой телеги увеличена до 72 слотов (12 x 6).
- Добавлена динамическая нагрузка по числу занятых слотов.
- Телега на вапити: пустая не замедляет; полностью заполненная снижает скорость вапити на 35%; промежуточная загрузка масштабируется линейно.
- Телега в инвентаре игрока: пустая не замедляет; суммарная загрузка переносимых телег в 100% снижает скорость ходьбы до нуля; промежуточная загрузка масштабируется линейно.
- Нагрузка нескольких телег в инвентаре складывается. Например, две телеги, каждая заполненная на 50%, дают полную переносимую нагрузку.
- Вес считается по занятым слотам, а не по размеру стака, чтобы правило одинаково работало с ванильными и модовыми предметами.
- Начиная с этой версии мод имеет тип code и содержит C# исходник в src/, потому что динамический штраф скорости нельзя корректно реализовать только JSON-патчами.
