Skip to content

Measurement и Snapping Managers. Правим баги связанные с расчётами расстояний, а также добавляем привязки паттернов взависимости от сторон. #262

Merged
Anu3ev merged 2 commits intomasterfrom
working-tree
Feb 24, 2026

Conversation

@Anu3ev
Copy link
Owner

@Anu3ev Anu3ev commented Feb 24, 2026

  1. Унифицирован расчёт и отображение расстояний между SnappingManager и MeasurementManager.
  2. Общая логика нормализации distance вынесена в единый utility и используется в обоих менеджерах.
  3. В равноудалённом snapping добавлена привязка паттерна к своей стороне и исключено смешивание разных контекстов.
  4. Добавлено корректное одновременное отображение двух валидных контекстов равноудалённости.
  5. Добавлены регрессионные тесты для новых правил

@github-actions
Copy link

github-actions bot commented Feb 24, 2026

Результаты тестирования на Node.js 20

🎉 Все тесты прошли успешно!

📊 Покрытие кода тестами

💡 Что это означает? Покрытие показывает, какая часть вашего кода проверена тестами.

Метрика Значение Что проверяется
📝 Строки кода 61.21% Сколько строк кода было выполнено во время тестов
Функции 57.59% Сколько функций было вызвано и протестировано
🌿 Ветвления 47.34% Сколько условий if/else/switch было проверено
Утверждения 59.48% Сколько отдельных команд было выполнено
📁 Покрытие по файлам (нажмите чтобы развернуть)
  • image-editor/src/main.ts: 100% строк, 100% функций
  • demo/js/elements.js: 0% строк, 100% функций
  • demo/js/index.js: 0% строк, 0% функций
  • demo/js/listeners.js: 0% строк, 0% функций
  • demo/js/methods.js: 0% строк, 0% функций
  • src/editor/constants.ts: 100% строк, 100% функций
  • src/editor/default-fonts.ts: 100% строк, 100% функций
  • src/editor/defaults.ts: 100% строк, 100% функций
  • editor/index.ts: 99.18% строк, 100% функций
  • src/editor/listeners.ts: 94.73% строк, 88.88% функций
  • background-manager/index.ts: 82.25% строк, 88.88% функций
  • canvas-manager/index.ts: 92.68% строк, 100% функций
  • clipboard-manager/index.ts: 83.12% строк, 92% функций
  • editor/customized-controls/constants.ts: 100% строк, 100% функций
  • editor/customized-controls/default-controls.ts: 100% строк, 100% функций
  • customized-controls/index.ts: 3.52% строк, 0% функций
  • editor/customized-controls/renderers.ts: 14.75% строк, 0% функций
  • deletion-manager/index.ts: 3.33% строк, 0% функций
  • editor/error-manager/error-codes.ts: 100% строк, 100% функций
  • error-manager/index.ts: 100% строк, 100% функций
  • font-manager/index.ts: 92.85% строк, 94.73% функций
  • grouping-manager/index.ts: 100% строк, 100% функций
  • history-manager/index.ts: 95.02% строк, 94.23% функций
  • image-manager/index.ts: 94.37% строк, 97.22% функций
  • interaction-blocker/index.ts: 50% строк, 57.14% функций
  • layer-manager/index.ts: 97.82% строк, 100% функций
  • editor/measurement-manager/constants.ts: 100% строк, 100% функций
  • measurement-manager/index.ts: 87.74% строк, 91.17% функций
  • module-loader/index.ts: 11.11% строк, 0% функций
  • object-lock-manager/index.ts: 6.45% строк, 0% функций
  • pan-constraint-manager/index.ts: 6.97% строк, 14.28% функций
  • selection-manager/index.ts: 79.53% строк, 84% функций
  • shape-manager/index.ts: 6.97% строк, 0% функций
  • editor/snapping-manager/calculations.ts: 93.03% строк, 100% функций
  • editor/snapping-manager/constants.ts: 100% строк, 100% функций
  • snapping-manager/index.ts: 59.15% строк, 65.71% функций
  • editor/snapping-manager/renderer.ts: 20% строк, 0% функций
  • editor/snapping-manager/utils.ts: 100% строк, 100% функций
  • template-manager/index.ts: 3.29% строк, 2.5% функций
  • editor/text-manager/background-textbox.ts: 92.09% строк, 100% функций
  • editor/text-manager/constants.ts: 100% строк, 100% функций
  • editor/text-manager/geometry.ts: 98.36% строк, 100% функций
  • text-manager/index.ts: 60.52% строк, 68.96% функций
  • editor/text-manager/line-defaults.ts: 66.89% строк, 75% функций
  • editor/text-manager/selection.ts: 81.52% строк, 62.5% функций
  • transform-manager/index.ts: 82.47% строк, 91.66% функций
  • ui/angle-indicator/constants.ts: 100% строк, 100% функций
  • angle-indicator/index.ts: 100% строк, 100% функций
  • ui/toolbar-manager/default-config.ts: 18.18% строк, 0% функций
  • ui/toolbar-manager/icons.ts: 100% строк, 100% функций
  • toolbar-manager/index.ts: 1.66% строк, 0% функций
  • editor/utils/distance.ts: 100% строк, 100% функций
  • editor/utils/geometry.ts: 37.09% строк, 16.66% функций
  • editor/utils/gradient.ts: 7.69% строк, 0% функций
  • editor/utils/object-filter.ts: 93.75% строк, 66.66% функций
  • editor/utils/render-utils.ts: 100% строк, 100% функций
  • editor/utils/text.ts: 100% строк, 100% функций
  • worker-manager/index.ts: 13.63% строк, 0% функций
  • editor/worker-manager/worker.ts: 0% строк, 0% функций
  • zoom-manager/index.ts: 52.51% строк, 78.57% функций

🔗 Скачать полный отчёт о покрытии

⚠️ Рекомендация: Покрытие ниже 80%. Добавьте больше тестов для критичных участков кода.


🤖 Протестировано на Node.js 20 | ⏱️ 24.02.2026, 12:12:55

…ктов. Делаем одновременное отображение двух валидных контектов. Тесты.
@Anu3ev Anu3ev changed the title Measurement and Snapping Managers. Правим расхождения при отображении расстояний до объектов. Measurement and Snapping Managers. Правим баги связанные с расчётами расстояний, а также добавляем привязки паттернов взависимости от сторон. Feb 24, 2026
@Anu3ev Anu3ev changed the title Measurement and Snapping Managers. Правим баги связанные с расчётами расстояний, а также добавляем привязки паттернов взависимости от сторон. Measurement и Snapping Managers. Правим баги связанные с расчётами расстояний, а также добавляем привязки паттернов взависимости от сторон. Feb 24, 2026
@Anu3ev Anu3ev merged commit 1140984 into master Feb 24, 2026
1 check passed
@Anu3ev Anu3ev deleted the working-tree branch February 24, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant