Cosmoteer 0.15.0 added GetColorFrom parameter for Graphics component
Part 'Graphics' and 'Sprite' components now support a 'GetColorFrom' parameter that can be used to set the rendered sprite/graphics color to a color provided by another component. Currently only the new 'CrewSource' component can provide a color, which is the color of its selected crew role, optionally modified by 'ColorSRange' and 'ColorVRange' parameters.
Under the hood, the feature enables shaders to play with colors via input.color parameter.
More components to support GetColorFrom?
Is it feasible to support GetColorFrom parameter at more components...umu...for Science?
- Ship part: Weapon
Sprite with animated atlas sprites
- Ship part:
TriggeredEffects for firing effects
- Ship part:
BulletEmitter
- Bullet:
Beam sprite
- Bullet:
AnimatedSprite
- Bullet:
MediaEffects
In addition, it'd be super cool if components that support GetColorFrom can pass the color to its children.
For example
- Ship part:
BulletEmitter get color from CrewSource;
- Bullet:
Bullet instance get color from parent BulletEmitter, vice versa.
More color source(s)?
For example,
GetColorFrom=Allegiance - per ship allegiance (friendly|enemy\neutral), based on color presets at Settings > Accessibility
GetColorFrom=Paint|Decals1|Decals2 - based on player-defined paint colors
Proof-of-concept
Shady ninja trickery with GetColorFrom = CrewSource...

In-game footage captured with GIF Recorder in Cosmoteer 0.15.12