fix(xclip): follow-ups to the XCLIP merge

- An inverted clip's roundtrip record goes in the filter's extension
  dictionary through the codec's own API (ensure_extension_dictionary /
  xrecord / extension_dictionary_handle) instead of a scan of every
  object, which the renderer ran for each clipped reference.
- Pin cadcodec 1c3be0c (the DXF writer now links a spatial filter's
  extension dictionary, so that record is not left unreferenced) and
  cadkernel deb529b; plugin crates and the Python plugin lock follow.
- The XCLIP boundary preview stays f64.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-09-24 23:46:50 +03:00
1 parent 58671b191c
commit 6d9365ea88
8 files changed
+19 -37

No files matched your search

+2 -3
View File
@@ -394,10 +394,9 @@ impl CadCommand for XclipCommand {
}
_ => return None,
};
let mut points: Vec<[f32; 3]> =
ring.iter().map(|p| [p.x as f32, p.y as f32, p.z as f32]).collect();
let mut points: Vec<[f64; 3]> = ring.iter().map(|p| p.to_array()).collect();
points.push(points[0]);
Some(WireModel::solid("xclip_boundary".into(), points, WireModel::CYAN, false))
Some(WireModel::solid_f64("xclip_boundary".into(), points, WireModel::CYAN, false))
}
}