Conversation
This change adds an additional function to the Gamut trait, allowing colors to map to a gamut using one of the css-color-4 algorithms, instead of simple clamping. I chose the Ray Trace algorithm for mapping as we can copy the algorithm quite easily, and it seems the simplest to implement. EdgeSeeker might be a better choice (faster due to LUTs) but requires more work and this is honestly enough work already.
5203054 to
117f71c
Compare
github-actions bot
pushed a commit
that referenced
this pull request
Feb 13, 2026
## [0.0.18] - 2026-02-13 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) [forcebuild]
Merged
github-actions bot
pushed a commit
that referenced
this pull request
Feb 13, 2026
## [0.0.18] - 2026-02-13 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 14, 2026
## [0.0.18] - 2026-02-14 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 14, 2026
## [0.0.18] - 2026-02-14 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 16, 2026
## [0.0.18] - 2026-02-16 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 16, 2026
## [0.0.18] - 2026-02-16 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 16, 2026
## [0.0.18] - 2026-02-16 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 16, 2026
## [0.0.18] - 2026-02-16 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
## [0.0.18] - 2026-02-17 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 18, 2026
## [0.0.18] - 2026-02-18 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 23, 2026
## [0.0.18] - 2026-02-23 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 23, 2026
## [0.0.18] - 2026-02-23 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 23, 2026
## [0.0.18] - 2026-02-23 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 23, 2026
## [0.0.18] - 2026-02-23 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 26, 2026
## [0.0.18] - 2026-02-26 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 26, 2026
## [0.0.18] - 2026-02-26 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 26, 2026
## [0.0.18] - 2026-02-26 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 26, 2026
## [0.0.18] - 2026-02-26 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
github-actions bot
pushed a commit
that referenced
this pull request
Feb 27, 2026
## [0.0.18] - 2026-02-27 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Feb 27, 2026
## [0.0.18] - 2026-02-27 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
github-actions bot
pushed a commit
that referenced
this pull request
Mar 1, 2026
## [0.0.18] - 2026-03-01 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) - css_parse: flush trailing semicolons in CursorCompactWriteSink on drop (#908) ([#908](#908)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Mar 1, 2026
## [0.0.18] - 2026-03-01 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) - css_parse: flush trailing semicolons in CursorCompactWriteSink on drop (#908) ([#908](#908)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
github-actions bot
pushed a commit
that referenced
this pull request
Mar 1, 2026
## [0.0.18] - 2026-03-01 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) - css_ast: Remove StringOrUrl type (#909) ([#909](#909)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) - css_parse: flush trailing semicolons in CursorCompactWriteSink on drop (#908) ([#908](#908)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Mar 1, 2026
## [0.0.18] - 2026-03-01 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) - css_ast: Remove StringOrUrl type (#909) ([#909](#909)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) - css_parse: flush trailing semicolons in CursorCompactWriteSink on drop (#908) ([#908](#908)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
github-actions bot
pushed a commit
that referenced
this pull request
Mar 1, 2026
## [0.0.18] - 2026-03-01 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) - css_ast: Remove StringOrUrl type (#909) ([#909](#909)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) - css_parse: flush trailing semicolons in CursorCompactWriteSink on drop (#908) ([#908](#908)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) - csskit_transform: reduce Urls to Strings where possible (#910) ([#910](#910)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901)) [forcebuild]
github-actions bot
pushed a commit
that referenced
this pull request
Mar 1, 2026
## [0.0.18] - 2026-03-01 ### Other Changes - Chore(deps): update rust crate toml to v1 (#875) ([#875](#875)) - Update css-tokenizer-tests (#887) ([#887](#887)) - Chore(deps): update dependencies (patch) (#900) ([#900](#900)) ### Chromashift - chromashift: Update to support wide-gamut color spaces, out of gamut colors (#877) ([#877](#877)) - chromashift: Implement css-color-4 raytrace gamut mapping (#879) ([#879](#879)) - chromashift: Increase precision of display-p3 to sRGB conversion (#897) ([#897](#897)) ### Css_ast - css_ast: Implement gap rule list (#878) ([#878](#878)) - Regenerate css_ast/src/values from csswg drafts (#881) ([#881](#881)) - css_ast: Implement ColorMix (#889) ([#889](#889)) - css_ast: Boxup more types (#890) ([#890](#890)) - Implement ColorFunctionColor::to_chromashift() and extract shortest_color helper (#898) ([#898](#898)) - Regenerate css_ast/src/values from csswg drafts (#899) ([#899](#899)) - css_ast: Remove StringOrUrl type (#909) ([#909](#909)) ### Css_lexer - css_lexer: Introduce UnicodeRange token kind. (#891) ([#891](#891)) - css_lexer: Add "Bad" tokens. (#892) ([#892](#892)) - css_lexer: Re-encode escapes in strings if they're invalid for unescaping (#894) ([#894](#894)) - css_lexer: Re-encode escapes in idents if they're invalid for unescaping (#896) ([#896](#896)) - css_lexer: Rewrite to use Bytes, memchr (#907) ([#907](#907)) ### Css_parse - css_parse: Add BumpBox type and blanket trait impls for Box types (#888) ([#888](#888)) - css_parse: flush trailing semicolons in CursorCompactWriteSink on drop (#908) ([#908](#908)) ### Csskit - chore(deps): update dependencies (patch) (#882) ([#882](#882)) ### Csskit_transform - csskit_transform: introduce css-minify-tests (#886) ([#886](#886)) - csskit_transform: snapshot css-minify-tests failures instead of asserting count (#893) ([#893](#893)) - csskit_transform: reduce Urls to Strings where possible (#910) ([#910](#910)) ### Csskit_vscode - chore(deps): update dependencies (minor) (#884) ([#884](#884)) - chore(deps): update dependencies to v1.49.0 (minor) (#901) ([#901](#901))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change adds an additional function to the Gamut trait, allowing colors to
map to a gamut using one of the css-color-4 algorithms, instead of simple
clamping. I chose the Ray Trace algorithm for mapping as we can copy the
algorithm quite easily, and it seems the simplest to implement. EdgeSeeker might
be a better choice (faster due to LUTs) but requires more work and this is
honestly enough work already.