- Fixed intersection distance calculation to handle three cases:
- Ray starts outside AABB: use entry point (tMin)
- Ray starts inside AABB: use exit point (tMax)
- AABB behind ray: skip intersection
- This fixes the issue where no intersections were detected (intersections=0)
- Remove redundant log files (debug.txt, analysis.txt, ray_summary.txt)
- Consolidate all debugging info into 12v4000g03_visibility.txt
- Use component ID (7) instead of name matching for reliable detection
- Add ray test results to each direction's output
- Simplify logging logic to ensure all directions are logged
- Implement PCA-based Oriented Bounding Box (OBB) for enhanced geometric precision
- Add intelligent 5-dimensional scoring system for OBB/AABB selection
- Enhance vertex sampling with 22-point strategy (corners + face centers + edge midpoints)
- Add Vector3D cross product function for proper PCA calculations
- Simplify ExtractSolidVertices to use stable EvalOutline API only
- Fix compilation errors: remove non-existent GetGeometry calls and pfcOutline3D misuse
- Streamline CLAUDE.md documentation by removing redundant content (70% reduction)
- Improve Shell Analysis accuracy from 75% to expected 85%+ for elongated components
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add depth window approach instead of single extreme value selection
- Implement voting mechanism: components need visibility in 8%+ directions
- Multi-level confidence based on visibility ratio (25%/8% thresholds)
- Calculate adaptive depth window: max(0.2% diagonal, 15% median thickness)
- Add top-K fallback to ensure minimum visible components
- Fix compilation errors: add unordered_map header, fix C++17 syntax
This reduces over-aggressive deletion from 90% to more reasonable levels by
properly identifying partially visible components in second/third layers.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>