Skip to content

Fix STRETCH live preview, reference snapping, Shift vertex exclusion and release build - #1962

Merged
gianlucafiore merged 23 commits into
HakanSeven12:mainfrom
gianlucafiore:fix/stretch-preview-shift-points-build-20261020
Oct 20, 2026
Merged

gianlucafiore merged 23 commits into
HakanSeven12:mainfrom
gianlucafiore:fix/stretch-preview-shift-points-build-20261020

Conversation

@gianlucafiore

Copy link
Copy Markdown
Collaborator

Summary

  • Restore the live STRETCH entity preview throughout normal cursor movement and the optimized fast-pointer path, without changing the general snapping/performance pipeline.
  • Keep the original geometry visible as a lighter, translucent, stationary ghost while the stretched result follows the cursor. Allow discrete snaps to the original (endpoints, midpoints, centers, etc.) consistently during movement and the final point pick; exclude continuous self-snapping to the moving preview.
  • Support Shift+click to remove individual selected STRETCH vertices during crossing-window selection. Preserve these exclusions across command relaunch, the preview, the final edit, and parametric-reference handling.
  • Fix the non-test/release compilation error in src/scene/block_actions.rs: create_with_frame now calls the production-available create_with_frame_points instead of the #[cfg(test)] helper create_with_options.
  • Ensure instanced/block geometry in previews is uploaded and drawn by the appropriate GPU pipeline.

Verification

  • Contributor reports local build, manual behavior checks, and requested tests passing before opening this PR.
  • Added regression tests for STRETCH cursor-move preview (including the fast path) and Shift-excluded vertices.
  • No changes to the optimized resident-drawing snap engine or broader performance behavior.

Scope

Single branch containing the related small build fix and STRETCH interaction/preview corrections.

@gianlucafiore
gianlucafiore merged commit 4b8b778 into HakanSeven12:main Oct 20, 2026
2 of 6 checks passed
HakanSeven12 added a commit that referenced this pull request Oct 20, 2026
- One is_excluded helper for Shift-removed STRETCH vertices; the five
  hand-copied 1e-9 comparisons in transform.rs and stretch.rs use it, and
  stretch_entity_except takes the (handle, point) list directly instead of
  each caller filtering it into a temporary Vec.
- The Shift subtraction window prompt was an untranslated literal; it
  reuses the existing translated opposite-corner prompt.
- Viewport: no command-name checks. The move path always adds
  preview_entities (empty for every command but STRETCH, as the structure
  and dwell paths already do), the capped fast path refreshes for any
  command that hides its sources, and Shift+grip removal is offered to
  the active command, which declines unless it is STRETCH.
- Hand-wrapped the lines the PR left over 100 columns or unformatted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant