Repository navigation
Fixes from the code review: connection state, bake, hardening - #33
Merged
Merged
Conversation
Blender now sends nothing but the hello until Revit answers with hello_ack: a second Blender sitting in the listener backlog no longer looks connected, and an error before hello_ack (protocol mismatch) disconnects. The drain notices a dropped connection: it redraws the panel and marks a bake or proxy still waiting as lost. Connect and Disconnect are enabled one at a time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A failed Send closes the client only if it is still the current one: a Blender that reconnected meanwhile is no longer dropped. - SendTimeout on the accepted client: a Blender that stops reading can no longer freeze Revit inside a write. - The preview draws each object in its own try/catch: one bad object no longer hides the others or skips the transform reset. - GpuChunk.IsValid also checks vertex formats and effect instances. - The two Blender timers catch their own exceptions instead of being switched off by Blender. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Bake together: a member announced but never arrived keeps its FreeFormElement instead of being deleted as "no longer selected". - A mesh that Revit turns into more than one solid is refused with a reason instead of keeping only the first solid. - The Note of the Status now travels at the end of bake_result message, so Blender shows it. - A BL_ parameter with a formula of its own is no longer removed. - Cleanup: dead members, stale comments, the unused limit argument of _normalize_object_ids; DESIGN.md aligned (template, temp save, the non-host member baked alone). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tried in Revit 2025: two cubes joined with Ctrl+J become one solid with two volumes, so the check never fired. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 11, 2026
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.
Findings from a read-only review of the bake and of the threading/protocol/preview code, verified and fixed.
Connection state (Blender)
hellois sent untilhello_ackarrives: a second Blender waiting in the listener backlog no longer looks connected, and anerrorbeforehello_ack(protocol mismatch) disconnects.Revit hardening
Sendcloses the client only if it is still the current one.SendTimeoutof 10 s on the client: a Blender that stops reading cannot freeze Revit.GpuChunk.IsValidalso checks formats and effects.Bake
FreeFormElement.bake_result.message.BL_parameter with its own formula is no longer removed.Tests: pytest (584), dotnet test net48 + net8.0 (719 each), add-in build for Revit 2024 and 2025, Blender 5.2 smoke_bake and smoke_pull: all green. Not yet tried against a live Revit.
🤖 Generated with Claude Code