(files)
| 13287 | object.material.forEach(material => { |
| 13288 | material && material.dispose(); |
| 13289 | }); |
| 13290 | } else { |
| 13291 | object.material.dispose(); |
| 13292 | } |
| 13293 | } |
| 13294 | }); |
| 13295 | scene.clear(); |
| 13296 | scene = null; |
| 13297 | } |
| 13298 | |
| 13299 | // Reset renderer state but keep the instance |
| 13300 | if (sharedRenderer) { |
| 13301 | sharedRenderer.clear(); |
| 13302 | } |
| 13303 | |
| 13304 | camera = null; |
| 13305 | } |
| 13306 | } |
| 13307 | |
| 13308 | |
| 13309 | |
| 13310 | // Helper functions to manage selectedModels with normalized paths |
| 13311 | function addToSelectedModels(filePath) { |
| 13312 | const normalized = normalizePathForComparison(filePath); |
| 13313 | // Find the original path format from selectedModels or DOM to maintain consistency |
| 13314 | let originalPath = filePath; |
no test coverage detected