mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-07 12:31:56 +00:00
f0d305a783
* claim: #7273 * Viewport: drag a component as a GPU layer of its own Each step of a Move triad drag placed the component anew, and the viewport then rebuilt the model scene and uploaded it again. The dragged bodies are now drawn from the scene built where the drag found them, moved on the GPU by the drag's motion; the rest of the model stays as it was. In the viewport a step meshes, builds and uploads no geometry; only the transform (and the ground shadow) changes. - gpu: Frame::moving draws a second scene with its own model matrix (U.model, applied in every vertex entry, instanced parts included); blocks, evaluated chunks and instanced triangles pass between the model scene and the layer instead of being uploaded again; glass is sorted in the layer's frame; the AO prepass and see-through pass cover it; the frame key includes the layer. - doc: ModelBody::display_moved_from gives the rigid motion between two worlds' copies of one solid. - ui-egui: the model scene without the dragged bodies is built once; dragged bodies are matched by name; the step's body boxes are the start boxes moved; selected or hovered dragged bodies light where they stand. A drag back where it began keeps its layer. A section, an analysis, continuity seams or no GPU draw the drag as before; capturing the move makes the scene whole again. * feat(ui): a setting to keep the highlight under the pointer while Move drags A Move triad drag drawn as a GPU layer picks nothing under the pointer, which keeps a step from meshing the dragged bodies where they stand and from looking up the Browser row a highlight follows. Preferences > Tools > Assembly Move > "Highlight what is under the pointer while dragging a component" (`move_drag_highlights`, off by default) picks and highlights as before. Also: the drag layer test takes `as_chunks` (clippy 1.99's `chunks_exact_to_as_chunks`). * fix(ui): say when the Move drag highlight setting applies The label names Move's arrows, and the tooltip says that with a section or an analysis shown the drag highlights all the same, and that a part dragged along its joints never does.