Computes contrasting colour combinations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ltdk e21e3688ac Finish testing 3 weeks ago
neue-gamut shrug emoji 1 month ago
neue-illuminants shrug emoji 1 month ago
neue-named shrug emoji 1 month ago
proptest-regressions Initial commit 1 year ago
src Finish testing 3 weeks ago
.gitignore Initial commit 1 year ago Initial commit 1 year ago
Cargo.lock Finish testing 3 weeks ago
Cargo.toml Finish testing 3 weeks ago
LICENSE Initial commit 1 year ago Initial commit 1 year ago
Makefile Initial commit 1 year ago Initial commit 1 year ago
rustfmt.toml Shrugger emoji 1 month ago


Computes contrasting colour combinations.


Available via the Anti-Capitalist Software License for individuals, non-profit organisations, and worker-owned businesses.


Currently, this is just a plan for a project where I'm experimenting with different implementations. The idea is to make a library which can help create reasonable colour schemes. So far, I've already tried making a colour scheme called "Earl Grey" myself with two background colours and three shades of "neutral" and six hues. The idea is to help make sure that hues are different enough, that contrast is high enough and consistent with "pure colour" versions when desired (e.g. contrast between, say, red and white, is at least the same as it would be on a VGA colour scheme). Right now, I'm experimenting with converting between different representations of colours and writing the best code I can for that, while relying on as few magic numbers and equations as possible. It's rough.

Ultimately, this would be used by a program, sch, which helps manage colour schemes and lets you assign colours to things based upon user preference (e.g. we have a base scheme with all sorts of colours, but say, the user likes blue and wants to see more blue than any other colour, they can do that).

The name neue comes from the German word "neue" which means "new" and is often used in fonts to indicate a more modern version, e.g. Helvetica Neue. The "alte" name for the alternative binary is the opposite of neue, meaning "old". The goal of these two binaries is to offer a simple way of getting high-contrast versions of colours -- neue will try as much as possible to attain a 7:1 contrast ratio (WCAG AAA in all cases) whereas alte will always achieve a 4.5:1 contrast ratio (WCAG AA for small text, AAA for large text and UI elements).