constraints: hide dynamic dimensions whose constraint did not load

A dynamic dimension is drawn by its constraint at screen size; without
the constraint it is a bare dimension with stretched extension lines.
Those orphans now stay undrawn and unplotted, as in a viewer (#992).

- First-release drawings keep dynamic dimensions on
  *LayerNameForDynamicConstraint; it counts as the dynamic layer.
- The hidden set is refreshed when constraints load, and the loader's
  prepared wires (built before that) are not installed while it holds
  anything.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-15 06:12:42 +03:00
1 parent 6025d8be44
commit 53b93dc98a
4 files changed
+36 -11

No files matched your search

+5
View File
@@ -3098,6 +3098,11 @@ impl Scene {
/// so only immutable geometry is transferred and re-stamped here. The
/// optional interaction index is cached against the exact same `Arc`.
pub fn install_prepared_open_geometry(&self, prepared: PreparedOpenGeometry) {
// The loader tessellated before the constraints were read, so its
// wires still hold the dynamic dimensions that must stay hidden.
if !self.hidden_dynamic_dimensions.is_empty() {
return;
}
let block = self.model_space_block_handle();
let scale = crate::scene::annotative::scale_handle_by_name(
&self.document,