бновление от 2025-09-19 для ветки 19sepTest

This commit is contained in:
2025-09-19 19:02:51 +03:00
parent bb58adb1a3
commit 261e8a8b63
23 changed files with 4982 additions and 83 deletions

View File

@@ -0,0 +1,141 @@
// Тест отладки проблемы с удалением коллайдеров
// Файл: test-collider-deletion-debug.js
console.log('🔍 Отладка проблемы с удалением коллайдеров');
console.log('');
console.log('❓ Проблема:');
console.log('Созданные и дублированные коллайдеры не удаляются, а старые удаляются');
console.log('');
console.log('🔧 Добавленная отладка:');
console.log('');
console.log('1. 📊 Отладочная информация в функции удаления:');
console.log(' - Логирование выбранного коллайдера');
console.log(' - Подсчет коллайдеров до и после удаления');
console.log(' - Проверка успешности удаления');
console.log('');
console.log('2. 📊 Отладочная информация в функциях создания:');
console.log(' - Логирование создания нового коллайдера');
console.log(' - Подсчет общего количества коллайдеров');
console.log(' - Проверка добавления в массив');
console.log('');
console.log('3. 📊 Отладочная информация в функции дублирования:');
console.log(' - Логирование дублирования коллайдера');
console.log(' - Подсчет общего количества коллайдеров');
console.log(' - Проверка добавления в массив');
console.log('');
console.log('4. 🎯 Отладочная информация в функции выбора:');
console.log(' - Логирование выбранного коллайдера');
console.log(' - Подсчет коллайдеров в массиве');
console.log(' - Проверка корректности выбора');
console.log('');
console.log('5. 🔍 Функция отладки коллайдеров:');
console.log(' - Кнопка "🔍 Отладка коллайдеров"');
console.log(' - Показывает все коллайдеры в массиве');
console.log(' - Отображает их свойства и userData');
console.log('');
console.log('🧪 Как тестировать:');
console.log('');
console.log('1. 📦 Создание коллайдера:');
console.log(' - Нажмите "Создать коллайдер"');
console.log(' - Проверьте консоль: должно появиться "✅ Создан коллайдер"');
console.log(' - Проверьте счетчик: "📊 Всего коллайдеров: X"');
console.log('');
console.log('2. 🔄 Дублирование коллайдера:');
console.log(' - Выберите коллайдер');
console.log(' - Нажмите "Дублировать коллайдер"');
console.log(' - Проверьте консоль: должно появиться "✅ Коллайдер дублирован"');
console.log(' - Проверьте счетчик: количество должно увеличиться');
console.log('');
console.log('3. 🎯 Выбор коллайдера:');
console.log(' - Кликните по коллайдеру');
console.log(' - Проверьте консоль: должно появиться "🎯 Выбран коллайдер"');
console.log(' - Проверьте счетчик: "📊 Всего коллайдеров в массиве: X"');
console.log('');
console.log('4. 🗑️ Удаление коллайдера:');
console.log(' - Выберите коллайдер');
console.log(' - Нажмите "Удалить коллайдер"');
console.log(' - Проверьте консоль:');
console.log(' * "🗑️ Удаляем коллайдер: [объект]"');
console.log(' * "📊 Всего коллайдеров до удаления: X"');
console.log(' * "📊 Коллайдеров до: X, после: Y"');
console.log(' * "✅ Коллайдер успешно удален"');
console.log('');
console.log('5. 🔍 Отладка коллайдеров:');
console.log(' - Нажмите кнопку "🔍 Отладка коллайдеров"');
console.log(' - Проверьте консоль:');
console.log(' * "🔍 Отладка коллайдеров:"');
console.log(' * "📊 Всего коллайдеров: X"');
console.log(' * "🎯 Выбранный коллайдер: [объект или null]"');
console.log(' * "📦 Коллайдер 0: {mesh, data, position, userData}"');
console.log('');
console.log('🔍 Возможные причины проблемы:');
console.log('');
console.log('1. 🔗 Проблема с ссылками:');
console.log(' - Коллайдер может быть добавлен в сцену, но не в массив');
console.log(' - Или наоборот: в массив, но не в сцену');
console.log(' - Проверьте логи создания/дублирования');
console.log('');
console.log('2. 🎯 Проблема с выбором:');
console.log(' - Raycaster может не находить новые коллайдеры');
console.log(' - Проверьте логи выбора коллайдера');
console.log('');
console.log('3. 🗑️ Проблема с удалением:');
console.log(' - Фильтрация массива может работать неправильно');
console.log(' - Проверьте логи удаления');
console.log('');
console.log('4. 🔄 Проблема с состоянием:');
console.log(' - React состояние может не обновляться');
console.log(' - Проверьте, обновляется ли selected');
console.log('');
console.log('📋 Чек-лист для диагностики:');
console.log('');
console.log('✅ Создание:');
console.log('- [ ] В консоли появляется "✅ Создан коллайдер"');
console.log('- [ ] Счетчик коллайдеров увеличивается');
console.log('- [ ] Коллайдер виден в сцене');
console.log('- [ ] Коллайдер можно выбрать');
console.log('');
console.log('✅ Дублирование:');
console.log('- [ ] В консоли появляется "✅ Коллайдер дублирован"');
console.log('- [ ] Счетчик коллайдеров увеличивается');
console.log('- [ ] Новый коллайдер виден в сцене');
console.log('- [ ] Новый коллайдер можно выбрать');
console.log('');
console.log('✅ Выбор:');
console.log('- [ ] В консоли появляется "🎯 Выбран коллайдер"');
console.log('- [ ] TransformControls активируется');
console.log('- [ ] Параметры обновляются в UI');
console.log('');
console.log('✅ Удаление:');
console.log('- [ ] В консоли появляется "🗑️ Удаляем коллайдер"');
console.log('- [ ] Счетчик коллайдеров уменьшается');
console.log('- [ ] Коллайдер исчезает из сцены');
console.log('- [ ] TransformControls отключается');
console.log('');
console.log('🚀 Готово к тестированию!');
console.log('Откройте: http://localhost:4000/enhanced-collision-editor');
console.log('Откройте консоль браузера для просмотра логов');