cad-editor/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 02d40bd2ec fix(viewport): clip pick/snap to the viewport rect (no off-screen hits)
The GPU scissors floating-viewport content to the viewport rectangle, but
the CPU hit-test/snap wire set runs past it (the frustum cull keeps a
margin and lines extend beyond the rect), so box selection, lasso, click
and object snap could reach geometry clipped out of the viewport.

Reject candidates whose projected screen point falls outside `bounds` (the
pane rectangle), mirroring the scissor. `bounds` is the full canvas in
model space, so every change is a no-op there.

- snap: reject out-of-bounds points in try_pt, the grid block and tangent.
- click_hit / click_hits_all: no hit when the cursor is off-pane.
- box_hit: clamp the selection box to the pane rectangle.
- poly_hit: drop wire points projected off-pane.
- hatch click: no hit when the cursor is off-pane.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:45:33 +03:00
..
app feat(ucs): per-viewport UCS applied inside floating viewports 2026-06-24 17:23:29 +03:00
command wip(f64): convert command layer to DVec3 (in progress) 2026-06-24 03:32:11 +03:00
entities fix(render): UTM-precise UCS icon + fallback outlines (hatch etc.) 2026-06-24 10:09:19 +03:00
io feat(render): double-single vertices for the mesh pipeline 2026-06-23 18:28:52 +03:00
modules fix(snap): f64-precise computed snaps + UTM-tolerant cull + f64 previews 2026-06-24 04:26:05 +03:00
plugin chore: silence native and wasm build warnings 2026-06-22 02:03:34 +03:00
scene fix(viewport): clip pick/snap to the viewport rect (no off-screen hits) 2026-06-24 17:45:33 +03:00
shaders refactor(render): drop dead camera_pos from the shared uniform 2026-06-23 18:28:52 +03:00
snap fix(viewport): clip pick/snap to the viewport rect (no off-screen hits) 2026-06-24 17:45:33 +03:00
ui feat(snap,pick): eye-relative CPU projection — drop full view_proj at UTM 2026-06-23 23:33:21 +03:00
cli.rs feat(cli): full command-line interface via clap 2026-06-20 13:59:20 +03:00
lib.rs feat(cli): full command-line interface via clap 2026-06-20 13:59:20 +03:00
linetypes.rs perf(hash): swap std HashMap/HashSet for rustc-hash FxHash 2026-06-05 00:35:53 +03:00
main.rs feat(cli): full command-line interface via clap 2026-06-20 13:59:20 +03:00
par.rs feat(wasm): sequential rayon shim for the web build 2026-06-16 17:11:20 +03:00
patterns.rs chore: rename H7CAD to Open CAD Studio 2026-05-23 17:16:15 +03:00
sys.rs fix(web): paste clipboard text into the TEXT / MText editors 2026-06-20 17:05:02 +03:00
update_check.rs chore: silence native and wasm build warnings 2026-06-22 02:03:34 +03:00