Highlight incomplete operator nodes in tree and viewport#41
Merged
Conversation
Users were confused when an operator had missing children because nothing visually indicated the problem — the viewport just went blank. Tree UI: incomplete operators and their ancestors show a red tint, warning icon, and auto-expand to reveal "needs shape" placeholder slots. Boolean slot order is preserved when deleting a child by replacing it with a disabled _empty placeholder node. Viewport: incomplete trees now render whatever geometry is available instead of blanking. Shapes from collapsed incomplete booleans tint orange via a generated sdfWarn() function that preserves ancestor transforms for correct localization. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…e booleans The incomplete boolean placeholder now shows "⚠ needs shape" instead of "drop here" when urgent, so the E2E test needs to match the new text. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
_emptyplaceholder so the remaining operand keeps its position (A/B order maintained)sdfWarn()GLSL function that preserves ancestor transforms for correct spatial localizationTest plan
union(box, subtract(sphere)), delete the sphere's sibling — verify only the sphere tints orange in the viewport while the box stays bluenpx vitest run— all 81 tests pass🤖 Generated with Claude Code