cad-editor/src/scene
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 6c1462932d feat(grip): multi-functional hover popup menu
Phase 2 of the grip overhaul: when the cursor dwells on a selected
entity's grip the overlay opens a popup menu with entity-specific
options (Stretch / Add Vertex / Remove Vertex / Convert to
Arc-Line / …). Picking an item dispatches `apply_grip_menu`; the
default `Stretch` entry is a no-op that lets the user click the
grip to start the normal drag.

- `GripMenuItem` + `GripMenuAction` (full vocabulary covering
  stretch, add/remove vertex, convert to arc/line, reverse arrows,
  text-position variants, hatch parameters, tangent direction).
- `Grippable` trait gains `grip_menu` + `apply_grip_menu` with
  trait-default `Stretch`-only impls so every existing entity gets
  the popup for free.
- `EntityTypeOps` dispatches both methods across the same entity
  list as the existing grip / property machinery.
- `OpenCADStudio` carries `grip_hover` (dwell tracker) +
  `grip_popup` (open menu). `update_grip_hover` runs from
  `ViewportMove`: hit-tests grips, refreshes the dwell timer, and
  opens the popup after 600 ms. Cursor drift past 80 px or a grip
  click dismisses it.
- `view.rs` paints the popup as an absolute-positioned column of
  buttons at the grip's screen anchor; each button publishes
  `Message::GripMenuPick(idx)`.
- `LwPolyline` overrides `Grippable` manually (skips the standard
  macro) so its vertex grip exposes Add/Remove Vertex and its
  segment-midpoint grip exposes Add Vertex + Convert to Arc/Line.
  `apply_grip_menu` performs the edits: vertex insertion at the
  chord midpoint inheriting the previous bulge, vertex removal,
  and bulge toggle for the arc/line conversion.
2026-05-29 09:30:54 +03:00
..
pipeline fix(viewport): blit UV crop for off-canvas viewports 2026-05-28 12:15:00 +03:00
acad_to_truck.rs feat(mtext): integrate every inline format code in MTEXT renderer 2026-05-21 23:42:22 +03:00
block_cache.rs fix(block): adapt sub-entity colours per render bg 2026-05-28 22:43:13 +03:00
camera.rs feat(viewport): tile-relative input + overlays in unified model 2026-05-28 09:45:19 +03:00
complex_lt.rs cargo fmt 2026-05-12 10:36:15 +03:00
cxf.rs feat(text): route every text-bearing entity through the run-aware MText pipeline 2026-05-22 05:53:01 +03:00
dispatch.rs first commit 2026-03-22 14:56:27 +03:00
grip.rs refactor(grip): square-only marker set + oriented stretch handles 2026-05-29 02:07:34 +03:00
hatch_model.rs feat(hatch): rasterise PAT pattern lines for paper canvas + PDF 2026-05-22 06:52:20 +03:00
hatch_patterns.rs chore: rename H7CAD to Open CAD Studio 2026-05-23 17:16:15 +03:00
hit_test.rs fix(scene): keep low-LOD objects visible and selectable 2026-05-20 06:07:04 +03:00
image_model.rs perf(scene): extend viewport scissor to hatch / image / wipeout passes (Phase 1.4) 2026-05-15 23:13:16 +03:00
mesh_model.rs chore: drop dead scene/IO helpers + simplify XATTACH command state 2026-05-16 00:10:20 +03:00
mod.rs fix(render): adapt mesh + hatch load colours to background 2026-05-28 21:15:28 +03:00
object.rs feat(grip): multi-functional hover popup menu 2026-05-29 09:30:54 +03:00
paper_canvas.rs refactor(viewport): unify paper into one shader, transparent clear 2026-05-28 10:03:01 +03:00
properties.rs refactor(entities): collocate ui_name + dxf_name into entities/names.rs 2026-05-26 17:18:47 +03:00
quadtree.rs chore(quadtree): silence dead-code warnings on planned API 2026-05-17 19:34:56 +03:00
render.rs perf(viewport): per-vp frustum + LOD cull in paper layout 2026-05-28 20:32:16 +03:00
selection.rs Split large files: ribbon widgets and scene render/selection 2026-03-22 23:07:43 +03:00
solid3d_tess.rs feat(scene): scale Solid3D / Region / Body tessellation by header FACETRES 2026-05-20 04:51:26 +03:00
tess_util.rs refactor(tess): rename LegacyTess → FallbackTess 2026-05-23 23:16:57 +03:00
tessellate.rs refactor(entities): Solid3D/Region/Body accessor trio in entities/solid3d.rs 2026-05-26 17:22:02 +03:00
transform.rs cargo fmt 2026-05-12 10:36:15 +03:00
truck_tess.rs perf(scene): zoom-adaptive arc tessellation for hatch boundary outlines 2026-05-16 07:55:46 +03:00
viewport_pane.rs refactor(viewport): unify paper into one shader, transparent clear 2026-05-28 10:03:01 +03:00
wire_model.rs fix(snap): correct snap symbols + drop bogus midpoints on circles (#34) 2026-05-29 01:39:02 +03:00