forked from 1b-agent/opencadstudio-upstream
feat: annotation scale system (CANNOSCALE, PSLTSCALE, MultiLeader, Leader)
- Scale popup dropdown replaces cycle behavior; paper-space viewport scale editable when a viewport is active/selected - CANNOSCALE persisted via DXF $USERR1 (read on open, write on save) - PSLTSCALE: linetype dash lengths scaled by viewport anno_scale so dashes appear uniform physical size in paper space - MultiLeader: arrow size, dogleg length, and text height scale with anno_scale; leader line paths (world coords) stay fixed - Leader: arrow size and hookline length scale with anno_scale; also corrects world_offset subtraction that was previously deferred to the TruckObject::Lines path Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
1 parent
543c626feb
commit
0e5dec0948
9 files changed
+471
-162
No files matched your search
@@ -11,7 +11,7 @@ use crate::scene::wire_model::{SnapHint, TangentGeom};
|
||||
// ── TruckConvertible ────────────────────────────────────────────────────────
|
||||
|
||||
/// Catmull-Rom spline tessellation through `ctrl` points, `segs_per_span` segments each.
|
||||
fn catmull_rom_pts(ctrl: &[[f32; 3]], segs_per_span: u32) -> Vec<[f32; 3]> {
|
||||
pub(crate) fn catmull_rom_pts(ctrl: &[[f32; 3]], segs_per_span: u32) -> Vec<[f32; 3]> {
|
||||
let n = ctrl.len();
|
||||
let mut out = Vec::new();
|
||||
for i in 0..n.saturating_sub(1) {
|
||||
|
||||
Reference in new issue
Block a user