forked from 1b-agent/opencadstudio-upstream
PR #446 kept a fully-copied group grouped for the in-drawing COPY/ARRAY path, but clipboard paste (Ctrl+C / Ctrl+V, PASTECLIP) runs through finalize_paste, a separate route that never touched groups — so pasted copies came out ungrouped, and a cross-drawing paste had no group data at all. Unify all copy routes on one shared Scene::recreate_groups(sources, handle_map): copy_complete_groups now gathers the live source groups and delegates to it, while paste snapshots the complete groups into the clipboard at copy time (ClipboardDeps.groups) and recreates them over the pasted handles. A group whose whole membership is copied now stays grouped whether the copy lands in the same drawing, via the clipboard, or in a different file; partially-selected groups still stay ungrouped. Closes #440 Co-Authored-By: Claude Opus 4.8 <[email protected]>