ГЛУБИННОЕ БУРЕНИЕ v0.15 — Alem Colony 0.23.05

- Исправлена ошибка v0.14: функция selected_vein теперь существует, поэтому выбранная жила действительно отмечается на карте.
- Добавлен неподвижный зелёный 2D-маркер клетки (spell_at + однокадровая анимация); popup остаётся резервом.
- Интерфейс клеток жилы переработан: отдельная сетка формы, крупные зелёные клетки и компактные кнопки координат в две колонки.
- Добавлен экран «Тир-лист редкости руд».
- Частоты жил на новой карте: железо 6–8; медь 4–6; уголь 4–6; свинец 2–4; сера 1–2; селитра 1–2; серебро 1–2; золото 1–2.
- Сера, селитра, серебро и золото имеют одинаковый самый редкий диапазон.
- Реальные ID Sulfur, Saltpeter, Silver и Gold подтверждены в global-metadata.dat Alem Colony 0.23.05.
- Версия состояния поднята до v11, поэтому после обновления жилы на карте генерируются заново с новым балансом.
- Координатный перенос и автоматическая постановка рецептов буров не возвращались.

ПРИМЕЧАНИЕ ПО ШТАТНОМУ ПЕРЕНОСУ
Примитивный и железный бур получают кнопку «Перенести» от самого движка. Сканер и высокоточный бур движок 0.23.05 эту кнопку не показывает. В ModBuildingJson APK нет поля movable, а ContinueFurnitureMove/CanMoveFurniture не экспортированы в Lua, поэтому v0.15 не добавляет фальшивый координатный перенос, который раньше создавал дюпы.

=== v0.15 ===
- Новый тир-лист частоты подземных жил: железо 6–8; медь/уголь 4–6; свинец 2–4; сера/селитра/серебро/золото 1–2.
- Реальные игровые ID редких ресурсов: Sulfur, Saltpeter, Silver, Gold.
- Исправлен баг v0.14: функция selected_vein отсутствовала, из-за чего цикл зелёной подсветки падал.
- Добавлен 2D-маркер art/vein_marker_1.png и spells.json; выбранная жила обновляет зелёный маркер на каждой клетке.
- Окно жилы переделано: схема формы слева, координаты в две колонки справа, кнопка перехода камерой к каждой клетке.
- Добавлена отдельная страница тир-листа прямо в интерфейс сканера.
- Координатный перенос/рецепты буров не возвращались.

ПРИМЕЧАНИЕ О ПЕРЕНОСЕ:
В APK есть штатные внутренние CanMoveFurniture / OnMoveFurniture / ContinueFurnitureMove, но в Lua API 0.23.05 нет вызова, который запускает этот режим, а furniture.json не содержит поля movable. Поэтому v0.15 не подменяет штатный перенос опасным созданием копии: примитивный и железный используют кнопку движка, а сканер и высокоточный пока остаются без фальшивой координатной переноски.


v0.16: эксперимент штатного переноса. deep_scanner и precision_drill имеют одну запись cost, как primitive_drill/iron_drill. Старый Lua-перенос, координаты и структуры не возвращены. ВАЖНО: это проверка гипотезы CanMoveFurniture; компонентная часть цены временно не списывается этой экспериментальной сборкой.
