-
Notifications
You must be signed in to change notification settings - Fork 112
Open
Copy link
Labels
Description
This ticket combines together the need to solve various ways of copying values of fields across the project's entities and assets.
Related tickets: #216 #30 #891 #520
The desired UX:
- It should be possible to copy/paste any modifiable value of entities and assets.
- It should be clear on what fields support clipboard.
- It should be clear on what field we are about to copy/paste when context menu is open.
- The data should be validated and protected as much as possible to prevent undesirable data changes.
- It should work with multi-selection (pasting) as well as copying (will copy first selected item's value).
- History should have a single undo/redo operation for paste, even with multi-selection and multi-pathed fields (e.g.: particle curve sets; arrays of things)
- User should see what type of value is about to be copied.
- User should see what type of value is in the clipboard in context menu.
Tasks:
- properly detect types of fields and their variations Clipboard - ability to copy/paste field values in Inspector #1370
- provide context menu on fields and their labels (except input and button dom elements) Clipboard - ability to copy/paste field values in Inspector #1370
- add copy/paste icons beside on fields hover - this will help to find out about feature and provide one-click workflow instead of context menu Clipboard - ability to copy/paste field values in Inspector #1370
- provide some sensible conversion paths between similar types, e.g. rgb <> rgba; asset:* > asset; asset > asset:* (if copied asset of desirable type); etc. Attributes clipboard conversion between different types of fields #1441
- support entity inspector Clipboard - ability to copy/paste field values in Inspector #1370
- support asset inspector Clipboard assets inspector & disabled fields should not be paste-able #1396
- use system's clipboard instead of localStorage by implementing value type detection from a JSON parsed string
- Copy of Entity/Asset from Hierarchy/Asset panel, should also provide valid "Paste" data for fields Attributes clipboard conversion between different types of fields #1441 Copying entities will also add clipboard data editor-api#105
- Entity Layers - is a special case also, not all layers can be cross-copied, e.g. Camera can have Immediate layer, but Render or Light components cannot.
- Entity Render Component
meshMaterials- is a frozen length array of materials, a special case - Entity Anim Component
stateGraphAsset- is not bound currently to a path, and is implemented in inspector as a special case - Implement clipboard for multi-path fields, such as
curveset. - Enum-type fields, should only allow a valid option paste, if trying to paste values that are not within enum, it should not allow pasting. Clipboard to respect enum/select type fields in Inspector #1395
- Disabled fields should not be paste-able. Clipboard assets inspector & disabled fields should not be paste-able #1396
Screenshots:
Mann1ng

