Skip to content

Instantly share code, notes, and snippets.

View facelessuser's full-sized avatar
💭
Screaming into the void 😱

Isaac Muse facelessuser

💭
Screaming into the void 😱
View GitHub Profile
@facelessuser
facelessuser / random_harmony.md
Last active May 25, 2023 13:01
Random Harmonies

Random color harmony generator.

Available harmonies are:

Harmony Description
mono Monochromatic
complement Complementary
split Split Complementary
analogous Analogous
@facelessuser
facelessuser / Defult.sublime-commands
Created December 5, 2022 14:43
Sublime Wildcard Navigation
[
{
"caption": "Wildcard Navigation",
"command": "wildcard_nav"
}
]
@facelessuser
facelessuser / example.py
Created September 12, 2022 20:41
example
inputs = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
colors = Color.steps(inputs, steps=10, space='srgb')
HtmlRow(colors)
HtmlRow([c.filter('brightness', 0.5).clip() for c in colors])
HtmlRow([c.filter('saturate', 0.5).clip() for c in colors])
HtmlRow([c.filter('contrast', 1.2).clip() for c in colors])
HtmlRow([c.filter('opacity', 0.5).clip() for c in colors])
HtmlRow([c.filter('invert', 1).clip() for c in colors])
HtmlRow([c.filter('hue-rotate', 90).clip() for c in colors])
HtmlRow([c.filter('sepia', 1).clip() for c in colors])
@facelessuser
facelessuser / cam16.py
Last active January 19, 2023 15:58
ColorAide CAM16
"""CAM16 class."""
import math
from coloraide.spaces import Space, Labish
from coloraide.distance import DeltaE
from coloraide.cat import WHITES
from coloraide.channels import Channel, FLG_ANGLE
from coloraide import util
from coloraide import algebra as alg
from coloraide.types import Vector, VectorLike
from typing import Optional
@facelessuser
facelessuser / contrast.py
Created July 15, 2022 22:20
Color Contrast
from coloraide.contrast import ColorContrast
class Weber(ColorContrast):
"""Weber contrast."""
NAME = "weber"
@classmethod
def contrast(cls, color1, color2, **kwargs):
"""Contrast."""
inputs = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
colors = Color(inputs[0]).steps(inputs[1:], steps=20, space='srgb')
colors
ColorRow()
[c.cvd('achromatopsia').clip() for c in colors]
ColorRow()
[c.cvd('brettel-protan').clip() for c in colors]
ColorRow()
[c.cvd('brettel-deutan').clip() for c in colors]
ColorRow()
@facelessuser
facelessuser / test.py
Last active March 7, 2022 13:39
CSS L4 OKLCH Gamut map mix
from coloraide.gamut import Fit, clip_channels
from coloraide.util import NaN
class OklchChroma(Fit):
"""Lch chroma gamut mapping class."""
NAME = "oklch-chroma"
EPSILON = 0.0001
@facelessuser
facelessuser / gamut_issues.py
Last active July 25, 2022 04:16
Gamut Issues CSS
print('---- Gamut Mapping with Oklch ----')
class Color2(Color):
FIT = "oklch-chroma"
colors = ['green', 'blue']
Color2.interpolate(colors, space="lab")
Color2.interpolate(colors, space="lch")
Color2.interpolate(colors, space="oklab")
Color2.interpolate(colors, space="oklch")
print('---- Gamut Mapping with CIE LCH ----')
@facelessuser
facelessuser / css_l4_gamut.py
Last active February 18, 2022 17:16
CSS Level 4 Gamut mapping
from coloraide.gamut import Fit, clip_channels
from coloraide.util import NaN
class OklchChroma(Fit):
"""Lch chroma gamut mapping class."""
NAME = "oklch-chroma"
EPSILON = 0.0001
@facelessuser
facelessuser / gamut_compare.md
Last active February 16, 2022 18:11
Gamut Comparison

This implements the gamut mapping algorithm according to CSS Level 4 specification.

from coloraide.gamut import Fit
from coloraide.util import NaN


class OklchChroma(Fit):
    """Lch chroma gamut mapping class."""