Repository navigation
Фасад на углах, непрерывное рисование линий, заявка с разбором отказа и правки 26.09 - #91
Merged
Merged
Conversation
Сервер присылает причину текстом, а менеджер ресурсов выбрасывал тело ответа и возвращал null: пользователь видел «попробуйте ещё раз» и понять ничего не мог. Теперь ответ разбирается, окно заявки показывает текст сервера, консоль — код и тело; у 429 и 413 свои сообщения. Если сервер забраковал именно calculation, заявка уходит повторно без него: ссылка на проект — суть заявки, PDF со сметой — дополнение. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013c9N76tZZnqcQLUUSc5okD
Кнопка «Сохранить запрос в файл» появляется в окне заявки после отказа сервера: в файле тело запроса как есть, ответ сервера (код 0 — ответа не было вовсе) и откуда отправляли. Тело берётся из последней попытки, а не собирается заново. Заодно нашлась причина отказа на больших проектах: у кусков фронтона координата x отрицательная — треугольник фронтона шире своей стены на свес кровли с каждой стороны (−300 … длина стены + 300). Геометрия верна, слишком строгой была спецификация: требование неотрицательных координат относится только к y. PROJECT_FORMAT.md поправлен. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013c9N76tZZnqcQLUUSc5okD
Фасад. Угловой столб — один меш на оба фасада угла и красился целиком, поэтому отделка одной стены выходила на соседнюю. Теперь столб красится по граням: грань берёт отделку стены, в чьей плоскости лежит. Столб на уровне карниза мансарды не красился никогда (соседей-сегментов сбоку у него нет) — теперь следует за поясом карниза и за фронтоном над ним. Линии. Дорожка и забор рисуются непрерывно, до правой кнопки, Esc или повторного клика в последнюю точку; клик по готовой точке только выделяет её. Забор не проходит через дом и террасу и не подходит к ним ближе 3 м. Коллизии грядок: невидимая заготовка ступеней больше не мешает, поворот проверяется. Ступени без включённого раздела не попадают в снимок проекта. Ступени по умолчанию подбираются той же фирмы и цвета, что доска террасы. Мелочи: «Высота террасы», «Пустотелая» по умолчанию, терраса не меньше 1×1 м, плашки размеров не закрывают ручки, «Удалить всё» без подтверждения, бассейн скрыт из меню, галочка согласия в заявке. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013c9N76tZZnqcQLUUSc5okD
Как и забор, дорожка теперь не пересекает дом и террасу — и при рисовании, и при протяжке точки. В отличие от забора, подходить к ним вплотную можно: дорожка к ним и ведёт. Проверяется только ось — заходит ли она внутрь контура; полоса по ширине, легшая под стену или настил, по-прежнему не строится. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013c9N76tZZnqcQLUUSc5okD
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Четыре коммита: правки 26.09 (баги и изменения), запрет дорожкам проходить через дом и террасу, плюс два ранних — разбор отказа заявки и выгрузка запроса в файл.
Баги
Отделка заползала на соседнюю стену. Угловой столб — один меш на оба фасада угла, и красился он целиком. Теперь его геометрия один раз перекладывается по группам граней (
_facadeFaceGroups: ±X, ±Z, прочие), и каждая грань берёт отделку той стены, в чьей плоскости лежит. В смету грань идёт половиной площади столба в свою отделку.Незакрашенный уголок фронтона над угловым модулем. Это угловой столб на уровне карниза мансарды (0.2 м), и он не красился никогда: сбоку у него только пояс карниза, а тот сам не сегмент, фронтон и простенок касаются столба лишь торцами. Теперь грань в плоскости пояса следует за поясом (пояса красятся первыми), грань в плоскости фронтона — за фронтоном над столбом или простенком под ним.
Ступени при загрузке проекта. Заготовка ступеней (
DEFAULT_STEPS_RECT) лежит в состоянии всегда и уходила в снимок, даже когда раздел не включали. Теперь ступени и ограждение пишутся, только если раздел включён. Проекты, сохранённые раньше, лишние ступени сохранят.Коллизии грядок. Та же невидимая заготовка ступеней участвовала в проверке — грядка по умолчанию вставала прямо на неё и считалась «в коллизии» с самого начала. Теперь ступени мешают только при включённом разделе. Поворот грядки теперь тоже проверяется: вокруг центра, затем вокруг каждого угла; мешает везде — грядка остаётся как была, с подсказкой.
Изменения
D_HINT_REV), чтобы на телефоне новую увидели и те, кто видел старую.fenceSegBlocked): пересечение контуров и те же 3 м допуска, что у точек; при протяжке точка упирается.pathSegBlocked), но подходит к ним вплотную — она к ним и ведёт. Проверяется только ось: заходит ли она внутрь контура. Полоса по ширине, легшая под стену или настил, по-прежнему не строится (pathLinesVisible) — это же выручает старые проекты с дорожкой насквозь.default_steps_id, если совпал; иначе поиск в каталоге ступеней по фирме (первое слово названия — поля производителя в API нет) и цвету; иначеdefault_steps_idкак есть. Подбор идёт и при открытии раздела ступеней, попадает в смету, ручной выбор не перетирает. Каталог для подбора берётся без пользовательских фильтров (_ensureCatalogSection(id, {raw: true})) — «Пустотелая» у террасы отсекла бы полнотелые ступени.S.activeSteps = 0сбрасывался при очистке любого раздела).Заявка (ранние коммиты)
calculation), заявка уходит повторно без неё.PROJECT_FORMAT.mdуточнено: у кусков фронтонаxбывает отрицательным (фронтон шире стены на свес кровли), требование неотрицательности относится только кy.Не сделано — нужен бэкенд
Фильтры «Заполнение: Плетёные / Доски ДПК» у забора и «Вертикальная / Горизонтальная» у фасада: в API нет характеристик, по которым их отбирать.
Замеры
Одна стена под отделкой — у соседней грани угла полосы нет; у мансарды (type_10) угловой столб на уровне карниза окрашен вместе с фасадом. Дорожка: 4 клика — одна ломаная из 4 точек, правая кнопка заканчивает, клик по точке выделяет её, Delete удаляет. Забор и дорожка через дом — отказ с сообщением; дорожка к стене и к террасе вплотную, вдоль стены и мимо — можно; точка забора при протяжке упирается. Грядка по умолчанию больше не «в коллизии», поворот у соседа уходит на свободный угол. Ступени под доску TalverWood «Венге» — TalverWood «Венге» (а не «Серый» из
default_steps_id), с ценой в смете; ручной выбор сохраняется. Терраса не меньше 1×1 м. Плашка террасы на 14 px ниже нижнего угла, ни одна ручка под ней. Без галочки согласия кнопка заблокирована. Ошибок консоли нет.Cache-bust:
state.js?v=75,canvas.js?v=65,viewer3d-core.js?v=161,editor3d.js?v=19,nav-desktop.js?v=137,nav-mobile.js?v=5,project-io.js?v=7,ResourceManager.js?v=12,styles-desktop.css?v=49,styles-mobile.css?v=3.🤖 Generated with Claude Code
https://claude.ai/code/session_013c9N76tZZnqcQLUUSc5okD
Generated by Claude Code