Add direct opacity parameters for elements #88

Open
opened 2025-06-01 22:54:13 +00:00 by Vectornaut · 2 comments
Member

Pull request #85 has introduced an element parameter ("ghost mode") that affects an element's opacity. We should also add element parameters that provide more direct opacity control. That will involve some design decisions:

  • How should the direct opacity parameters interact with indirect ones?
  • How should the direct opacity parameters affect edge highlighting?
  • Should the direct opacity parameters have different meanings for different types of elements?
Pull request #85 has introduced an element parameter ("ghost mode") that affects an element's opacity. We should also add element parameters that provide more direct opacity control. That will involve some design decisions: - How should the direct opacity parameters interact with indirect ones? - How should the direct opacity parameters affect edge highlighting? - Should the direct opacity parameters have different meanings for different types of elements?
Vectornaut added the
enhancement
prospective
design
labels 2025-06-01 22:54:13 +00:00
Owner

I strongly recommend that the generic "opacity" of a given element be part of its "color" attribute. I do not in general see any reason to separate opacity from other color channels, and urge refactoring so that there is only a single sort of (4-channel) color entity in the software as part of the resolution of this issue.

I strongly recommend that the generic "opacity" of a given element be part of its "color" attribute. I do not in general see any reason to separate opacity from other color channels, and urge refactoring so that there is only a single sort of (4-channel) color entity in the software as part of the resolution of this issue.
Vectornaut removed the
enhancement
label 2025-06-02 20:36:12 +00:00
Owner

Actually, I think I need to amend my last comment. I do think that all elements should have 4-channel color. However, the "hidden" and "ghost" modes of an element, it seems to me, would be most easily implemented with something like an "opacity multiplier" so that the "true" underlying opacity of an element could be left alone while it is in ghost or hidden mode, and just the opacity multiplier, which would default to 1, would be set to 0 or (say) 0.3, respectively. Thus, I think ultimately each element should have a 4-channel color and an opacity multiplier component. (Conceivably even an opacity multiplier >1 could/should be supported, for the sake of highlighting/showing selections...) This issue is related to #71.

Actually, I think I need to amend my last comment. I do think that all elements should have 4-channel color. However, the "hidden" and "ghost" modes of an element, it seems to me, would be most easily implemented with something like an "opacity multiplier" so that the "true" underlying opacity of an element could be left alone while it is in ghost or hidden mode, and just the opacity multiplier, which would default to 1, would be set to 0 or (say) 0.3, respectively. Thus, I think ultimately each element should have a 4-channel color and an opacity multiplier component. (Conceivably even an opacity multiplier >1 could/should be supported, for the sake of highlighting/showing selections...) This issue is related to #71.
Sign in to join this conversation.
No description provided.