Skip to content

Document Explorer multi-selection and multi-folder paste - #37

Merged
JamieW105 merged 4 commits into
mainfrom
docs/explorer-selection
Oct 13, 2026
Merged

JamieW105 merged 4 commits into
mainfrom
docs/explorer-selection

Conversation

@JamieW105

Copy link
Copy Markdown
Contributor

Explorer now highlights on a single click and renames on a double click. Document Shift additive/held selection, Ctrl range selection, dragging only from an item highlighted before the press, and Ctrl+C/V copying all selected entries into every selected destination folder. File opening uses the context menu; Scene controls keep their existing behavior.

Validation: strict lint, production build, TypeScript, documentation/link checks and dependency audit (0 vulnerabilities).

Companion engine implementation: Rustic-Game-Engine/engine#31.

JamieW105 added a commit to Rustic-Game-Engine/engine that referenced this pull request Oct 13, 2026
Explorer now highlights files/folders on a single click and renames them
on a double click. Pressing an unhighlighted item only highlights it;
dragging requires a new primary-button press on an already highlighted
item and moves the highlighted group. Shift-click/hold adds items;
Ctrl-click selects the visible range from the last highlighted item.
These revised gestures apply only to Explorer; Scene controls retain
their behavior.

Ctrl+C copies the highlighted group. Ctrl+V pastes every copied entry
into every selected destination folder, including nested selected
destinations; without a selected folder it uses the last selected file's
parent or project root. Text editing keeps normal clipboard shortcuts.
Grouped Copy/Cut/Delete is also available through right-click/two-finger
menus, and file Open moves to that menu. Rename preserves selection;
batches refresh completed operations and report individual errors. Cut
accepts one destination; use Copy for fan-out paste.

The PR also retains the branch’s model-refresh and destination-collision
fixes, fixes expanded-folder drag interference, adds scene object
clipboard/delete controls with Undo/Redo, script scope menus, and
World/Local gizmo choices. File deletion is recoverable in
`.rustic/trash`; file moves/renames retain sidecar metadata. Manifest
and companion references still require manual updates. Grouped viewport
drops are limited to one model/script at a time.

Validation:
- Full Linux and Windows CI passed, including rendering and headless
smoke checks, adapter conformance, security and the fresh Windows
installer:
https://github.com/Rustic-Game-Engine/engine/actions/runs/38309024462.
- `cargo test --locked -p rustic-editor -p engine-editor`: 49 tests
pass.
- Strict Clippy across both packages/all targets, Cargo formatting and
editor headless smoke pass.
- UI tests cover press-time drag eligibility, highlighted group
dragging, Ctrl range selection, Shift-held selection, Ctrl+C/V
fan-out/repeated paste, inline rename commit/cancel, context menus and
empty-space root controls.
- Filesystem tests cover metadata, collisions, traversal, symlinks,
recoverable deletion and partial paste failures.
- Fresh Windows installer build passed for commit `7b36f526`:
`RusticGameEngine-Setup-0.1.0-x64-20261012-212222.exe`. Downloaded and
verified the executable. [Installer
artifact](https://github.com/Rustic-Game-Engine/engine/actions/runs/38309024462/artifacts/11773649249).
- Full Linux CI passed. The broader Windows engine test job is still
running.

Companion docs: Rustic-Game-Engine/docs#37
(lint, types, production build, docs/link checks and dependency audit
pass). Original documentation:
Rustic-Game-Engine/docs#35.
@JamieW105
JamieW105 merged commit d4374e2 into main Oct 13, 2026
1 check passed
@JamieW105
JamieW105 deleted the docs/explorer-selection branch October 13, 2026 07:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:website Documentation website type:docs Documentation changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants