Skip to content

feat: add manifold/watertight check with viewport highlighting (Feature 6)#11

Merged
kraulerson merged 8 commits intomainfrom
feat/manifold-check
Apr 8, 2026
Merged

feat: add manifold/watertight check with viewport highlighting (Feature 6)#11
kraulerson merged 8 commits intomainfrom
feat/manifold-check

Conversation

@kraulerson
Copy link
Copy Markdown
Owner

Summary

  • Add on-demand mesh topology analysis: watertight status, hole count, open edge count, non-manifold edge count, degenerate face count
  • New "Analysis" section in info panel with per-metric checkmark/warning icons and highlight toggle
  • Viewport highlighting with distinct line styles: solid thick (open edges), tube-rendered (non-manifold), dashed (degenerate faces)
  • Analyze button in toolbar (shortcut A) and View menu

Test Plan

  • 313 tests passing (43 new: 16 analysis, 4 highlight manager, 4 scene manager, 8 info panel, 9 main window + 2 regression)
  • ruff: clean
  • mypy: clean
  • Visual smoke test — analysis on cube shows no issues, status bar confirms
  • Feature recorded: 2/2 toward next UAT (UAT session required before Feature 7)

🤖 Generated with Claude Code

Karl Raulerson and others added 8 commits April 7, 2026 20:22
On-demand topology analysis with 5 diagnostic counts, info panel
Analysis section, and viewport highlighting with distinct line
styles (solid/tube/dashed). Approved during brainstorming session.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6-task TDD plan: mesh_analysis module, HighlightManager, SceneManager
integration, info panel Analysis section, MainWindow Analyze action,
and manual smoke test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ghlight

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…hting

Adds Analyze toolbar/menu action, _on_analyze handler, highlight checkbox
signal wiring, and clears analysis state on new load or load error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@kraulerson kraulerson force-pushed the feat/manifold-check branch from 731a58a to 14ed533 Compare April 8, 2026 03:30
@kraulerson kraulerson merged commit d50008c into main Apr 8, 2026
2 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant