[Added] Smart Cut and Smart Paste

Want to submit a new feature, an enhancement ? Do it here !
Post Reply
porg
Posts: 554
Joined: Tue Apr 05, 2022 1:04 pm
Country: Austria

[Added] Smart Cut and Smart Paste

Post by porg »

▶️ Screencast (4:49, 960 × 554px, 6 MB, Dropbox)
  • in which I demonstrate my use case
  • and what's currently possible (👍 Smart Cut, already more than in other bitmap editors I know of)
  • and what could be added feature wise (💡Smart Paste, good and best scenario)
  • Note that ℹ️ Smart Insert is also a great feature by itself, but not directly helpful for the use case at hand.
Use case: As a UX designer I often need to cut and move a stripe in a bitmap file (either a column or a row) in order to move elements like side panels or menu bars or swap table columns, etc.

Example: 900x50px, with 9 cols, each 100x50px.

Starting Situation:
  • Selecting column 8 (dimension 100x50px, positioned at X 700 Y 0 from the top left)
  • Menu > Edit > Smart Cut: Cuts stripe and fills void.
  • 👍 Already possible. Great feature! E.g. I cut column nr 8.
💡 Proposal 1, good solution: a) Define Insertion point via selection, then b) Smart Paste by menu/shortcut
  • Define target location via selection. Make a selection in the same orientation as your cutout stripe, the other dimension doesn't matter. E.g. the exact width of that column doesn't matter. The left boundary of the selection will function as the insertion point of the Smart Paste.
  • Menu > Edit > Smart Paste

💡 Proposal 2, best solution: Smart Cut/Paste by dragging selection stripe with modifier key down.
  • This is a one-step operation! Would be so efficient.
  • a) Visualization of the dragged selection as ghost as already the case now. Origin void remains and content below ghost also unaffected. Only on drop you see the final outcome.
  • b) If feasable performance-wise: "Moses walking through the open sea" animation while the operation. I.e. when moving column 8 to the left towards column 3, pixel column by pixel column is eaten in on the left side of the selection column and spit out on the right side behind the selection column.
Animation as schematic on a single row of pixels
As time progresses (T0-T4) our cutout column ("abc") moves towards the left and the pixel columns wander through it (5 gets eaten in on the left, and thrown out on the right, then 4, then 3, … until arriving at final positon next to 1.)

Code: Select all

T0 12345abc678
T1 1234abc5678
T2 123abc45678
T3 12abc345678
T4 1abc2345678
Last edited by porg on Fri Apr 22, 2022 10:27 am, edited 2 times in total.
User avatar
forum_adm
Site Admin
Posts: 1812
Joined: Fri Dec 23, 2016 9:41 am
Location: Germany
Country: Germany
Contact:

Re: Smart Cut and Smart Paste

Post by forum_adm »

I added now Smart Paste to build 5477.

http://www.lemkesoft.org/beta.html
Screen Shot 2022-04-14 at 13.42.23.jpg
Screen Shot 2022-04-14 at 13.42.23.jpg (75.37 KiB) Viewed 1171 times
porg
Posts: 554
Joined: Tue Apr 05, 2022 1:04 pm
Country: Austria

Re: [Added] Smart Cut and Smart Paste

Post by porg »

Wow, you are a man of deeds!
- Loving that you ship new experimental features that quick!
- Tried out GC 11.6.1 (build 5477)
- Below are the results of my testing. One minor bug found.


Smart Copy / Paste / Insert of columns works completely

▶️ Watch video (5:18, 1024 × 640, Dropbox)

1) Making a selecting in column shape (canvas' top edge til bottom edge)
2) ✅ Smart Cut → a) Cuts content b) Gap is seamlessly filled from left and right.
3) Making a selection in column shape (canvas' top edge til bottom edge) at the intended target destination further right, selection width is irrelevant, left selection boundary is the reference line for insertion
4) ✅ Smart Paste → a) Inserts the content at the LEFT selection boundary, and pushes the rest rightwards with no pixel gap remaining
5) Making a selection in column shape somewhere else, e.g. even further right
6) ✅ Smart Insert Space → a) At the LEFT selection boundary it b) inserts a void column in the width of the selection


Smart Copy / Paste / Insert of rows not working almost completely, only minor bug left

▶️ Watch video (5:18, 1024 × 640, Dropbox)

7) Making a selection in row shape somewhere
8) ✅ Smart Insert Space → a) At the TOP selection boundary it b) inserts a void column in the height of the selection
9) Making a selecting in row shape (canvas' left edge til right edge)
10) ✅ Smart Cut → a) Cuts content b) Gap is seamlessly top and bottom.
11) Making a selection in row shape (canvas' left edge til right edge) at the intended target destination further down, selection height is irrelevant, top selection boundary is the reference line for insertion
12) ✅ Smart Paste → a) Pushed the content from the top reference line til the canvas bottom edge downwards by the height of the clipboard-content
but ❌ b) Inserts the content at the bottom selection boundary instead of the top selection boundary. As such it leaves a visible transparent void above it, and the pasted content covers and thus hides the upper part of the pushed canvas content.


Make this feature better comprehensible to the user
I show this also in the video, here in text:

1) on SMART CUT
a) Flash the reference boundary line in RED (left for columns, top for rows)
b) Animate the selection collapsing towards the reference line
c) Move the remaining canvas content towards the reference line

2) on SMART PASTE
a) Flash the insertion reference boundary line in GREEN (left for columns, top for rows)
b) Animate the selection expanding away from the reference line
c) Move the remaining canvas content away from the reference line

3) For all smart actions (SMART CUT/ PASTE / INSERT-SPACE)
a) Do not recenter
b) Leave zoom factor.
👉 That way it is clear in what way the growing/shrinking occured.
porg
Posts: 554
Joined: Tue Apr 05, 2022 1:04 pm
Country: Austria

Re: Smart Cut and Smart Paste

Post by porg »

- Removed [Added] from title because:
-- The original feature has still one bug, see 12) b).
-- Please give me a reaction to my proposal "Make this feature better comprehensible to the user". I could create a followup topic if you want.
User avatar
forum_adm
Site Admin
Posts: 1812
Joined: Fri Dec 23, 2016 9:41 am
Location: Germany
Country: Germany
Contact:

Re: Smart Cut and Smart Paste

Post by forum_adm »

This is currently due the internal architecture not possible.
porg
Posts: 554
Joined: Tue Apr 05, 2022 1:04 pm
Country: Austria

Re: Smart Cut and Smart Paste

Post by porg »

First: I appreciate you and your customer involvement a lot! I experienced no software company/organisation so far, regardless which model (FLOSS, shareware, commercial, SaaS) where requests got implemented that quickly! That's fantastic. Very much appreciated! 👍

Polite feedback: Communication could be more efficient. The brevity on your side, actually doesn't save us time, it just requires me to inquire again, and you to answer again, given the assumption that we both have an interest to close issues on bugs/features thoroughly. My proposals or beta-testing reports are very structured, often with numbers, or headlines. This is intended so that you can answer very quickly and precisely, without needing to give context again.

Your last answers was ambiguous. What did you mean exactly with your response?

- What I assume is "not possible due to internal architecture" are my proposals concerning "Make this feature better comprehensible to the user". Ok then.

- 12b) is simply a small implementation bug, I very much assume it is possible to fix. Please also address this. From your answer it is unclear.
User avatar
forum_adm
Site Admin
Posts: 1812
Joined: Fri Dec 23, 2016 9:41 am
Location: Germany
Country: Germany
Contact:

Re: Smart Cut and Smart Paste

Post by forum_adm »

Ah - sorry, I did not see 12b.

I will check 12b next week.
porg
Posts: 554
Joined: Tue Apr 05, 2022 1:04 pm
Country: Austria

Re: Smart Cut and Smart Paste

Post by porg »

Closing this as [Added]
- Followup for minor bug 12b: Smart Pasting a Row falsely inserts content at bottom selection boundary instead of the top selection boundary
- A better user animation to comprehend what's going on is not possible atm.
-- Shall I file a new suggestion as a long time goal? Or is this better/realistically given up, right away?
Post Reply