Загрузка данных


Текущая версия уже близка: балки стали объёмными, отдельными, треугольный каркас читается. Полный rewrite НЕ нужен.

Нужно сделать ТОЛЬКО точечную доводку геометрии существующего генератора балок, не ломая текущую удачную структуру сцены.

ЧТО СОХРАНИТЬ
- оставить текущую общую идею балки: объёмный синий лоток + объёмные стержни;
- оставить 4 балки, их позиции, камеру, изометрию, колонны, стены, блоки, стадии анимации;
- оставить принцип одной функции generateBeam(...) для всех балок;
- не возвращаться к плоским линиям/ламинам.

ЧТО ИСПРАВИТЬ
По текущему рендеру видно, что основная проблема теперь локальная: у некоторых балок слегка косячит геометрия торцов и крайних панелей.

Нужно исправить следующее:

1. ВСЕ балки должны быть одинаковыми копиями одной и той же геометрии.
   Никакая балка не должна иметь отличающуюся последнюю/первую панель, иной наклон раскосов или иной узел замыкания.

2. Торцы балки должны замыкаться аккуратно и симметрично.
   На обоих концах:
   - верхний пояс заканчивается чисто;
   - нижние пояса заканчиваются чисто;
   - крайние раскосы приходят точно в торцевые узлы;
   - не должно быть ощущения «сломленного» или «недособранного» торца.

3. Узлы должны совпадать ИДЕАЛЬНО.
   Каждый раскос должен начинаться и заканчиваться ровно в узле:
   - либо на leftBottom(u),
   - либо на rightBottom(u),
   - либо на top(u).
   Никаких микрозазоров, нахлёстов, пролётов мимо узла, проникновения стержней друг в друга сверх нормального соединения в узле.

4. Верхний пояс должен быть идеально ровным.
   Он должен:
   - идти строго по центру;
   - быть параллелен основанию;
   - не иметь локальных изломов;
   - не смещаться на крайних сегментах.

5. Крайние панели должны быть регулярными.
   Не должно быть торцевой панели, которая визуально отличается от остальных по фазе, длине или способу примыкания.
   Если сейчас последний сегмент строится особой логикой — убрать особую логику и сделать аккуратное завершение по тем же правилам узловой сетки.

6. Объёмные стержни должны стыковаться красиво.
   Проверить:
   - оси стержней проходят точно через общие узлы;
   - торцевые крышки не торчат;
   - нет лишних выступов за торец балки;
   - нет видимого само-пересечения граней в местах соединений.

7. Лоток/основание и арматурный каркас должны быть согласованы.
   Каркас должен стоять ровно относительно лотка:
   - симметрия по ширине;
   - одинаковые отступы;
   - нижние пояса не проваливаются в лоток и не висят криво;
   - на всех 4 балках посадка одинаковая.

ПОДХОД К ИСПРАВЛЕНИЮ
Сначала НЕ меняй всё подряд. 
Сделай короткий диагноз именно оставшихся дефектов текущей версии:
- что именно не так в торцах;
- какая формула/участок генерации даёт эту ошибку;
- почему некоторые балки визуально отличаются, хотя должны быть копиями.

После диагноза внеси минимальные правки ТОЛЬКО в геометрию балки.

ОБЯЗАТЕЛЬНАЯ ПРОВЕРКА
Сначала отрендери одну балку в изоляции и проверь письменно:
- одинаково ли аккуратно собраны оба торца;
- один ли верхний пояс;
- симметричны ли левая и правая стороны;
- нет ли микросмещений в узлах;
- нет ли торчащих концов;
- нет ли отличающейся крайней панели.

Только если одиночная балка чистая — покажи полную сцену.

ФИНАЛЬНО НУЖНО ПРИСЛАТЬ
1. Короткий диагноз, что было причиной остаточного косяка.
2. Diff только по генерации балки.
3. Скриншот одной балки в изоляции.
4. Скриншот всей сцены.
5. Подтверждение, что:
   - все 4 балки геометрически идентичны;
   - торцы симметричны;
   - узлы совпадают точно;
   - нет торчащих элементов и сломанных крайних панелей.

Если на рендере останется хоть один кривой торец, разный крайний сегмент или смещённый узел — это ещё не финал, продолжай править до чистого результата.