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 <noreply@anthropic.com>
This commit is contained in:
parent
543c626feb
commit
0e5dec0948
9 changed files with 471 additions and 162 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue