BS-JD-106 - Brush validation, repair, and diagnostics #15
Labels
No Label
area:assets
area:brushes
area:extensions
area:governance
area:inspector
area:operators
area:physics
area:project-ux
area:quality
area:runtime
area:scene-io
area:terrain
area:viewport
priority:P0
priority:P1
priority:P2
priority:P3
roadmap:jackdaw
type:architecture
type:docs
type:epic
type:feature
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Falling-Metal-Interactive/Blacksite#15
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add robust error handling for degenerate brushes, inverted normals, zero-area faces, and non-manifold results.
Why
Geometry tools fail in messy ways unless validation and repair are built into the workflow.
Implementation notes
Acceptance criteria
Tests/docs
Validation fixtures for each error class. Update troubleshooting docs.
Starting implementation for
BS-JD-106 - Brush validation, repair, and diagnostics.Initial scope:
A dedicated Window > Brush Diagnostics panel and richer repair actions can build on the report type once the shared validation path is stable.
Checkpoint pushed:
4dc22cd Add brush validation diagnostics.Implemented:
validate_brushdiagnostics with warning/error severity.Reset Cube Brushremains the MVP repair action.Verification:
cargo fmt --checkcargo test -p shared brushcargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresRemaining follow-up for the full ticket: dedicated multi-brush diagnostics/repair window and richer repair actions beyond reset-to-cube.
Checkpoint pushed:
11b0df2 Block saving invalid brushes.Implemented:
validate_brushforActorKind::Brushactors.InvalidBrushGeometry.Save failed: invalid brush geometry: Face has fewer than three vertices.Verification:
cargo fmt --checkcargo test -p shared brushcargo test -p shared actorcargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresRemaining follow-up for the full ticket: richer repair actions and a dedicated multi-brush diagnostics/repair window.
Checkpoint pushed:
09f707b Add brush diagnostics window.Implemented:
Verification:
cargo fmt --checkcargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresRemaining follow-up for the full ticket: targeted repair actions beyond reset-to-cube, such as rebuilding face planes or pruning duplicate vertices in place.
Completion checkpoint pushed:
b230593 Expand brush validation coverage.Implemented:
Full #15 coverage now includes:
Verification:
cargo fmt --checkcargo test -p shared brushcargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresQA checklist audit completed; no additional local code changes made for this pass.
Evidence reviewed:
validate_brushdetects fatal geometry issues and warnings.InvalidBrushGeometry, blocking unrecoverable invalid scene saves.set_brush_with_history, so the repair is undoable.Verification rerun:
cargo test -p shared brushcargo test -p shared actorcargo check -p editor --all-targetsLeaving #37 checklist unchecked until interactive QA confirms diagnostics window selection/reset and save blocking in the editor.