Fix: paper limits, Cohen-Sutherland clipping, frozen layers UI, PDF improvements
Paper limits: - Change A4 fallback from 12×9 to 297×210 mm in paper_limits() Context menu: - Translate layout context menu labels to English (Rename / Delete) Viewport clipping: - Replace AABB-only culling with proper Cohen-Sutherland line clipping in viewport_content_wires(); each projected segment is now clipped at the exact viewport boundary instead of being included or discarded whole - Add cs_clip() and clip_polyline_to_rect() free functions in scene/mod.rs Frozen layers per-viewport UI: - Inject a "Frozen Layers" EditText property in the Properties panel for viewport entities (layer names resolved from handles at display time) - Handle "frozen_layers" in PropGeomCommit: parse comma-separated names, resolve to layer handles, update vp.frozen_layers in-place PDF export improvements: - Add offset_x/offset_y params to export_pdf() for model-space normalization: coordinates are shifted so the drawing origin maps to the page origin - Model space export computes extents via model_space_extents() (now public) and adds a 5 % margin; falls back to A4 landscape for empty drawings - Skip __paper_boundary__ wire in PDF (white background covers it) - Map yellow (active viewport border) → black and cyan (vp border) → dark blue for print-friendly output Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
e1d296da10
commit
845770938c
5 changed files with 263 additions and 68 deletions
|
|
@ -415,8 +415,8 @@ fn layout_context_menu_overlay(name: &str) -> Element<'_, Message> {
|
|||
|
||||
let menu = container(
|
||||
column![
|
||||
item("Yeniden Adlandır", Message::LayoutRenameStart(rename_name)),
|
||||
item("Sil", Message::LayoutDelete(delete_name)),
|
||||
item("Rename", Message::LayoutRenameStart(rename_name)),
|
||||
item("Delete", Message::LayoutDelete(delete_name)),
|
||||
]
|
||||
.spacing(0)
|
||||
.width(160),
|
||||
|
|
|
|||
Loading…
Reference in a new issue