142 lines
7.7 KiB
JavaScript
142 lines
7.7 KiB
JavaScript
// Тест отладки проблемы с удалением коллайдеров
|
||
// Файл: 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('Откройте консоль браузера для просмотра логов');
|