Files
rltn/test-collider-deletion-debug.js

142 lines
7.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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