Skip to content

Postpone all bells and whistles to Level 2 #37

@LeaVerou

Description

@LeaVerou

Right now we have these for v1:

  • Lossless color space conversion (e.g. LCH → P3)
  • Gamut mapping
  • Manipulating coordinates in current color space
  • Manipulating coordinates in a different space (basically sugar over converting to a different space, manipulating coordinates, then converting back)
  • Difference between two colors (ΔE)
  • String parsing (e.g. what color is rebeccapurple?)
  • WCAG 2.1 (or it's successor) color contrast (for any color space, not just sRGB)
  • Prototyping new functionality for incubation, before standardization

I think Level 1 should focus around having an object to represent colors that other APIs can use, since that is the most pressing need. Everything else that is nonessential for this use case can move to Level 2.

Meaning this can move to Level 2:

  • Difference between two colors (ΔE)
  • Gamut mapping
  • WCAG 2.1 (or it's successor) color contrast (for any color space, not just sRGB)
  • Lossless color space conversion (e.g. LCH → P3)
  • Manipulating coordinates in a different space (basically sugar over converting to a different space, manipulating coordinates, then converting back)

This still seems essential and I’m hoping it can stay:

  • Manipulating coordinates in current color space
  • String parsing (e.g. what color is rebeccapurple?)

but worst case, we could ship Color with just a (colorspace, coords, alpha) constructor signature and immutable coordinates.

ColorSpace objects will have to be part of Level 1, but we can defer making them contructible.

Thoughts, @svgeesus?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions