{"id":13961547,"url":"https://github.com/arvindcheenu/Chromanomer","last_synced_at":"2025-07-21T06:31:07.847Z","repository":{"id":57198371,"uuid":"298333946","full_name":"arvindcheenu/Chromanomer","owner":"arvindcheenu","description":"🌈 Chromanomer (abbreviated cono) is a perceptually intuitive color naming system based on the HSLuv color space that covers a sizeable spectrum of colors while boasting a negligible learning curve.","archived":false,"fork":false,"pushed_at":"2020-11-24T10:27:20.000Z","size":25129,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-01T01:49:24.993Z","etag":null,"topics":["adjective","chroma","color","color-scheme","color-system","comparative","cono","design","naming-conventions","naming-system","nomenclature"],"latest_commit_sha":null,"homepage":"","language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arvindcheenu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-24T16:24:49.000Z","updated_at":"2024-07-01T05:56:18.000Z","dependencies_parsed_at":"2022-09-16T14:10:45.588Z","dependency_job_id":null,"html_url":"https://github.com/arvindcheenu/Chromanomer","commit_stats":null,"previous_names":["arvindcheenu/chromataxy","arvindcheenu/chromanomer","isarvindone/chromanomer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/arvindcheenu/Chromanomer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvindcheenu%2FChromanomer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvindcheenu%2FChromanomer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvindcheenu%2FChromanomer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvindcheenu%2FChromanomer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arvindcheenu","download_url":"https://codeload.github.com/arvindcheenu/Chromanomer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arvindcheenu%2FChromanomer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266253505,"owners_count":23900051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adjective","chroma","color","color-scheme","color-system","comparative","cono","design","naming-conventions","naming-system","nomenclature"],"created_at":"2024-08-08T17:01:15.396Z","updated_at":"2025-07-21T06:31:06.006Z","avatar_url":"https://github.com/arvindcheenu.png","language":"SCSS","funding_links":[],"categories":["SCSS"],"sub_categories":[],"readme":"\n# 🍭 Chromanomer\n[![DOI](https://zenodo.org/badge/298333946.svg)](https://zenodo.org/badge/latestdoi/298333946)\n\n**Chromanomer** (abbreviated ***cono***) is a perceptually intuitive color naming system based on the ***Lightness Chroma Hue** color space* that covers a sizeable spectrum of colors while boasting a negligible learning curve. \n\n\u003cp\u003e\n   \u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/arvindcheenu/chromanomer?style=flat-square\"\u003e\n   \u003ca href=\"https://www.npmjs.com/package/chromanomer\"\u003e\u003cimg alt=\"npm\" src=\"https://img.shields.io/npm/v/chromanomer?color=cc3534\u0026style=flat-square\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://www.npmjs.com/package/chromanomer\"\u003e\u003cimg alt=\"npm bundle size (scoped)\" src=\"https://img.shields.io/bundlephobia/min/chromanomer?label=npm%20bundle%20size\u0026style=flat-square\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://www.npmjs.com/package/chromanomer\"\u003e\u003cimg alt=\"npm dependencies\" src=\"https://img.shields.io/static/v1?label=dependencies\u0026message=0\u0026color=brightgreen\u0026style=flat-square\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://www.npmjs.com/package/chromanomer\"\u003e\u003cimg alt=\"NPM\" src=\"https://img.shields.io/npm/l/chromanomer?style=flat-square\"\u003e\u003c/a\u003e\n\u003cbr/\u003e\n\u003c/p\u003e\n\n![screenshot](https://raw.githubusercontent.com/arvindcheenu/Chromanomer/master/screenshots/no-command.png)\n\n[![Installation and Usage](https://img.shields.io/badge/-Installation%20+%20usage-0144b7?style=for-the-badge\u0026logo=PowerShell)](https://github.com/arvindcheenu/Chromanomer/blob/master/docs/INSTALL.md)\n[![Sass Styling Api](https://img.shields.io/badge/-Sass%20Styles-73264d?style=for-the-badge\u0026logo=sass)](https://github.com/arvindcheenu/Chromanomer/blob/master/docs/STYLE.md)\n[![Node Api](https://img.shields.io/badge/-Node%20Api-435d0e?style=for-the-badge\u0026logo=node.js)](https://github.com/arvindcheenu/Chromanomer/blob/master/docs/API.md)\n[![CommandLine Api](https://img.shields.io/badge/-CommandLine%20Api-1a1a1a?style=for-the-badge\u0026logo=GNU%20Bash)](https://github.com/arvindcheenu/Chromanomer/blob/master/docs/CLI.md)\n\n\n\u003ca href=\"https://github.com/arvindcheenu\"\u003eMade with ❤️ by \u003cb\u003eArvind Srinivasan\u003c/b\u003e.\u003c/a\u003e\u003cbr/\u003e\n\u003cb\u003e\u003csmall\u003eLicensed Under \u003ca href=\"https://github.com/arvindcheenu/Chromanomer/blob/master/LICENSE\"\u003eApache-2.0\u003c/a\u003e\u003c/small\u003e\u003c/b\u003e.\n\n---\n\n### 🔑 Key Features\n\n* 👁️ **Perceptually uniform** colours\n* 👌 **Semantically sound** names\n* 🌐 **ii8n** friendly \n* ♿ **Visually Accessible** by design\n\n### 🤔 Choice of Color Space\n\nThis library builds over the **HSLUV** Color Space that maps the boundaries of RGB Color Space to the perceptually uniform **CIELCHuv** Color Space, thus circumventing its problem of unbounded chroma. Though this leads to non-uniform chroma, the trade-off is less significant in comparison with other colorspaces: \n* **HSL**❓  While this transformation of RGB color space is more intuitive in its representation, the *lightness* in *HSL* does *not* represent *perceptual lightness* but rather *relative brightness*.\n* **Munsell**❓ While colors were loosely based on perception, they were mostly inconsistent and dependent on the environment. Moreover, quantitative differences could only be defined over a single color attribute.\n* **NCS**❓ Based on the psychophysics of color perception, *NCS* is better than *Munsell* as environmental lighting conditions do not impact color choices. However, this system must not be used to model perceived color differences, which is necessary requirement for a naming system to be accessible.\n* **LAB**❓ Though the *CIELAB* color space represents a broader color gamut with better perceptual accuracy than the *Munsell* System, the parameters **a*** and **b*** makes it harder to arrive at a mental model.\n\n### 🎨 Designing the Nomenclature of Color\n\nThe following schema was arrived at by extracting the best traits from existing naming solutions (such as the Five Color Primaries in *Munsell Naming System*) and selecting linguistically universal color terms. The incorporation of Adjective terms also enhances the learnability and composability by reducing the potential number of color terms to remember.\n\n![Color Schema Visual Representation](https://raw.githubusercontent.com/arvindcheenu/Chromanomer/master/paper/schematic.jpeg)\n\nFor a more detailed look at an object applying this schema, please see the file [`./lang/cono.en.json`](./lang/cono.en.json).\n\nBesides the above considerations while designing the schema, the following were also looked for:\n* The arrangement of terms according to increasing order of intensity in chroma and lightness while diverging from the base value of the schema (see *The Handle* in the above schema).\n* The arrangement of Warm and Cool Ranges according to the gradatation of hues from adjacent hue sectors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farvindcheenu%2FChromanomer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farvindcheenu%2FChromanomer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farvindcheenu%2FChromanomer/lists"}