ynput / ayon-core

Apache License 2.0
20 stars 31 forks source link

Enhancement: Set a custom family icon for loader (and other tools) #745

Open BigRoy opened 1 year ago

BigRoy commented 1 year ago

Is there an existing issue for this?

Please state which of feature you have in mind and describe what are its shortcomings?

There seems to be some basic family icon logic for the Loader model implemented but it seems to always use a hardcoded default icon in the code. We should be able to customize the colors/icons for families in the loader for better distinction between the families.

This feature originally existed in Avalon but seems to have been broken or lost since.

It would be much better if the icons here were customizable:

afbeelding

So that they could e.g. have icons like in this design proposal:

afbeelding

How would you imagine the enhancement of the feature?

In the Settings UI I'd expect to be able to configure an icon and color for a particular family.


Here's a quick prototype showing the selectable font awesome icons for qtawesome

Is there any more labels you wish to add?

Describe alternatives you've considered:

No response

Additional context:

I'd actually like the same functionality for setting icons/colors (or even thumbnails?) for assets as well but I feel like that would be a much bigger feature and should be separate of this issue.

[cuID:OP-5594]

BigRoy commented 1 week ago

This is still relevant to AYON.

The ayon-frontend does provide icons for certain product types but those are currently hardcoded:

export const productTypes = {
  image: { name: 'image', icon: 'imagesmode' },
  render: { name: 'render', icon: 'photo_library' },
  plate: { name: 'plate', icon: 'camera_roll' },
  camera: { name: 'camera', icon: 'videocam' },
  model: { name: 'model', icon: 'language' },
  texture: { name: 'texture', icon: 'texture' },
  look: { name: 'look', icon: 'ev_shadow' },
  rig: { name: 'rig', icon: 'accessibility' },
  animation: { name: 'animation', icon: 'directions_run' },
  cache: { name: 'cache', icon: 'animation' },
  layout: { name: 'layout', icon: 'nature_people' },
  setdress: { name: 'setdress', icon: 'forest' },
  groom: { name: 'groom', icon: 'content_cut' },
  matchmove: { name: 'matchmove', icon: 'switch_video' },
  vdb: { name: 'vdb', icon: 'local_fire_department' },
  lightrig: { name: 'lightrig', icon: 'wb_incandescent' },
  lut: { name: 'lut', icon: 'opacity' },
  workfile: { name: 'workfile', icon: 'home_repair_service' },
}

Here's a visual ref: ayon_frontend_browser_product_icons